agile concepts - ii “agile” estimating & planning nupul kukreja 5 th november, 2014

27
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014

Upload: oscar-golden

Post on 02-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Agile Concepts - II

“Agile” Estimating & PlanningNupul Kukreja

5th November, 2014

Agenda• “Agile” estimating & planning– For agile projects– For non-agile projects too

• Why planning fails?• Scheduling– Release & Iteration planning

• Tracking and Communicating• Benefits of Agile Planning• Guidelines for Agile Estimation and Planning

“Agile” Estimating & Planning• Estimation and planning can be lightweight

too!• Doesn’t imply estimating and planning for

“agile” projects only• Question to answer: What should we build

and by when?– How big is it?– When will it be done?– How much can I have by then?

PLANNING IS EVERYTHING.PLANS ARE NOTHING.

Field Marshal Helmuth Graf von Moltke

6

Purpose of ‘Planning’*• Why do we do it?– Reduce risk & uncertainty– Supporting better decision making– Establishing trust (i.e. frequent delivery)– Conveying expectations

• Planning is a ‘quest for value’– Attempt to find an optimal solution of the overall

product development question: What should be built?

*Agile Estimation & Planning – Mike Cohn

7

A Good Plan• One that stakeholders find sufficiently reliable• One that can be used as basis for decision

making– Approximate time to market– An idea of the set of features

• Made more precise as project moves on• Is a ‘living’ artifact showing the current status

of the project to avoid last minute surprises• Is planned around ‘value’

Why Planning Fails?• Planning by activity instead by features• “Activities” never finish early• Activities are not independent• Lateness passed down the schedule• Multitasking causes more delays• Features not developed by priority• Ignoring uncertainty revised estimates• Estimates become commitments

Agile Approach to Estimating/Planning

Agile Manifesto:• Individuals and interactions over processes and

tools• Working software over comprehensive

documentation• Customer collaboration over contract negotiation• Responding to change over following a plan

That is, while there is value in the items onthe right, agilists value the items on the left more

Agile Approach to Projects• Work as one team• Work in short (2 – 4 week) iterations• Deliver something each iteration• Focus on business priorities• Inspect and adapt

Agile Approach to Planning• Accuracy of plan decreases the further we

attempt to plan• Multiple “horizons” for planning

Market Research

Agile Project

Planning

Conditions of Satisfaction

AGILE ESTIMATION & PRIORITIZATION

Recap of what has already been covered

Estimation & Prioritization• Estimating size:– T-shirt sizing (S, M, L, XL …)– Story-points– Ideal days– … (refer Estimation lecture)

• Keep duration estimate independent of size• Prioritize features w.r.t. size and “other”

important dimensions (lecture on VBRP)

SCHEDULINGRelease and Iteration Planning

Release Planning

Determine Conditions of Satisfaction

Estimate (theme) User Stories

Select stories and a release date

Do in any sequence

Estimate Velocity

Select an iteration length (~2 wks)

Prioritize User Stories

Iterate until the conditions of

satisfaction for the release can be met

Estimating VelocityBy when will you be done?• A major challenge for planning a release• Avoid point estimates • Techniques:– Historical values

• Only applicable if “everything” is the same

– Run an iteration (or 2 – 3) and predict– Make a forecast

• Estimate team hours• Estimate total hours on project/release• Arbitrarily select stories and break into tasks to fill number of hours• Get velocity from above convert to 90% CI range

Release Plan – Look and FeelIteration 1 Iteration 2 Iterations 3 – 5

As a user, I…

3

As a user, I…

8

As a user, I…

5

As a user, I…

5

As a user, I…

8

As a user, I…

2

As a user, I…

3

As a user, I…

5

As a user, I…

3

As a user, I…

5

As a user, I…

3

As a user, I…

2

As a user, I…

1

As a user, I…

5

As a user, I…

5

As a user, I…

2

Not fixed in stone – updated frequently especially if major changes in velocity/features

Iteration Planning• Release plan provides high level view of “value

delivery”• Iteration plan Short-term, detailed view– What to work on in the next 2 weeks?– What to work on today? (Daily plan/stand-ups)

• Stories being worked on broken into tasks– Ex: Design UI (16 hours)– Refactor DB schema (10 hours)– Determine business rules (6 hours)– Specify acceptance tests (8 hours)

• Tasks NOT allocated to individuals!

Iteration Planning – Cont’d• Velocity Driven

• Commitment Driven

TRACKING AND MONITORING

Release Burn-down(up) Charts

Iteration PlanStory To Do Tests

Ready In Process To Verify Hours

As a user, I can…

5

• Code the…(8)• Code the…

(5)• Test the…

(6)

Y

• Code the…NK (6)• Code the…

DL (4)

Code the…BB (4)

33

As a user, I can…

3

• Code the…(8)• Code the…

(5)13

As a user, I can…

2

• Code the…(3)• Code the…

(6)Y

Code the…SK (4)

13

Benefits of Agile Planning• Replanning occurs frequently• Estimates of size and duration are separated• Plans made at separate levels• Plans based on features not tasks/activities• Small stories keep work flowing• Work in process eliminated each iteration• Tracking at team level (instead of individual)• Uncertainty acknowledged and planned for

Guidelines for Agile E&P1. Involve the whole team2. Plan at different levels3. Keep estimates of size and duration separate using different

units4. Express uncertainty in either functionality or date5. Replan often (start of each iteration)6. Track and communicate progress7. Acknowledge importance of learning8. Plan features of right size9. Prioritize features10. Base estimates and plans of facts11. Leave some slack12. Coordinate/sync teams with look-ahead planning.