Slide 1

Slide 1 text

Software Project Estimations Lorna Mitchell, Day Camp for Developers 6

Slide 2

Slide 2 text

How Late??

Slide 3

Slide 3 text

Is Estimating Important?

Slide 4

Slide 4 text

Is Estimating Important? • One of the two most common causes of runaway projects is unstable requirements

Slide 5

Slide 5 text

Is Estimating Important? • One of the two most common causes of runaway projects is unstable requirements • One of the two most common causes of runaway projects is optimistic estimation (from IEEE: http://lrnja.net/10DRtB4)

Slide 6

Slide 6 text

Is Requirements Gathering Important?

Slide 7

Slide 7 text

Only if you want to build something your client actually wants

Slide 8

Slide 8 text

Project Requirements Requirements are not just about the features. Consider: • resource and/or cost • deadlines • platform constraints

Slide 9

Slide 9 text

Estimations Recipe for good estimations: • Clear, stable requirements • Feedback loop • Ability to change the plan

Slide 10

Slide 10 text

User Stories Capture a single action requirement and it's motives Template: As a , I want so that

Slide 11

Slide 11 text

Example User Stories • As a user, I want to see details of a talk so I can find out about it • As an admin, I want to be able to edit details of a talk so I can make changes • As a speaker I want to be able to claim a talk so it will be listed on my account • As a user, I want to rate and comment on a talk so that I can give feedback to the speaker

Slide 12

Slide 12 text

Ground Rules of Estimation

Slide 13

Slide 13 text

Ground Rules of Estimation • Only a person capable of completing a task can estimate it • If a task is estimated at more than half a day, the task should be split • If a task cannot be estimated, steps should be taken to reduce the unknowns

Slide 14

Slide 14 text

Estimation Techniques

Slide 15

Slide 15 text

Traditional Method

Slide 16

Slide 16 text

Planning Poker Uses the wisdom of crowds to get an accurate estimate.

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

Planning Poker Uses the wisdom of crowds to get an accurate estimate. You will need: • 3+ players and a facilitator • Detailed list of tasks • Deck of Planning Poker cards, or equivalent

Slide 20

Slide 20 text

How To Play Planning Poker • Take each task in turn • Facilitator describes the task • At a signal, players estimate • Estimates are close, use average • If estimates differ, task is too vague • Quickly redefine and re-estimate

Slide 21

Slide 21 text

How To Run A Meeting • If you are leading it, then LEAD • Prepare an agenda • Observe timings • Curtail other discussion

Slide 22

Slide 22 text

What's Missing? Commonly forgotten tasks include: • Data migration • Copy management • Client demo time • Server setup • Handover documentation

Slide 23

Slide 23 text

The Flaw In The Plan: Reality

Slide 24

Slide 24 text

Guide motto: Be Prepared

Slide 25

Slide 25 text

Risk Risks deserve our recognition and respect Try to mitigate risks: • Identify them • Single points of failure: look for alternatives/redundancy • Unknowns: "spike" to reduce the unknown aspect

Slide 26

Slide 26 text

Tracking Estimates

Slide 27

Slide 27 text

Tracking Estimates Each task has an estimate • After working on a task, re-estimate how much work is left in that task • When it's done, estimate goes to zero • Track these per-day to get burndown chart

Slide 28

Slide 28 text

Example Task List Task Owner Mon Tue Wed Thu Fri Buy drinks Kevin 3 3 3 3 0 Make cake Lorna 2 0 0 0 0 Make sandwiches Lorna 6 6 4 3 0 Set table Lorna 2 2 2 2 0 Decorate Cake Lorna 7 7 7 5 2

Slide 29

Slide 29 text

Example Burndown Chart

Slide 30

Slide 30 text

Project Velocity: a freakishly reliable figure showing the disparity between estimated and actual work rates

Slide 31

Slide 31 text

Measuring Project Velocity As well as updating estimates, track time spent per task. For completed tasks, divide estimate/actual to get velocity. Use as a multiplier to correct future estimations

Slide 32

Slide 32 text

Alternative Velocity Measure Agile teams working in sprints can measure story points per sprint

Slide 33

Slide 33 text

How to Deliver a Project on Time • Make excellent estimates • Work out how much time there is • Schedule in a plan • Measure progress • Adjust as required

Slide 34

Slide 34 text

Estimations

Slide 35

Slide 35 text

Estimations • Estimations are important • Accurate estimations are achievable • We continue to estimate and inform during a project

Slide 36

Slide 36 text

Go Forth and Deliver On Time

Slide 37

Slide 37 text

Thankyou! Any questions? Feedback: https://joind.in/8973 Me: http://lornajane.net