agile estimation and planning part i

29
Agile Estimation and Planning Kevin Zamora

Upload: kevin-zamora

Post on 01-Jul-2015

710 views

Category:

Documents


0 download

DESCRIPTION

Agile Part I presentation at www.b2bCinci.com

TRANSCRIPT

Page 1: Agile Estimation And Planning Part I

Agile Estimation and Planning

Kevin Zamora

Page 2: Agile Estimation And Planning Part I

Credits

• Based on “Agile Estimating and Planning” by Mike Cohen

• Wikipedia

Page 3: Agile Estimation And Planning Part I

Key Questions

• What is Agile?• How do we use it to estimate & plan

for projects?

Page 4: Agile Estimation And Planning Part I

What is Agile?

Wikipedia Definition - a group of software development methodologies based on iterative and incremental development …….

Which begs the question – Why am I interested in it?

Page 5: Agile Estimation And Planning Part I

Agile Report

• 35-45% of IT companies are now adopting agile according to a Forester report, 2010.

• Numerous books and articles appearing all over the place about Agile processes.

• Even DOD is adopting Agile methods - “March 2009 Defense Science Board Task Force report”.

Page 6: Agile Estimation And Planning Part I

Traditional Development Style (SDLC)

“WATERFALL” MODEL

(Predictive)

Page 7: Agile Estimation And Planning Part I

Waterfall vs. AgileWaterfall Agile

Req.

Des.

Imp.

Ver.

Mai.

I1

Req.

Des.

Imp.

Ver.

Mai.

I2

Req.

Des.

Imp.

Ver.

Mai.

I3

Req.

Des.

Imp.

Ver.

Mai.

I4

Req.

Des.

Imp.

Ver.

Mai.

..

Release Release

Page 8: Agile Estimation And Planning Part I

Gantt Chart Anatomy

Page 9: Agile Estimation And Planning Part I

Gantt Chart (MS Project)

Page 10: Agile Estimation And Planning Part I

Problems with Waterfall

• Heavily regulated• Regimented• Micromanaged• Uses “Tools” to drive process• Predictive – “Can’t adapt to change easily”

Page 11: Agile Estimation And Planning Part I

Waterfall Roles (mimic assembly line)

Analysts

Architects

Developers

Testers

Requirements

Design

Implementation

Verification

Maintenance

Page 12: Agile Estimation And Planning Part I

Agile Development(Adaptive and Iterative)

Requirements

Planning

Analysis & Design

0Implementation

Deployment

Testing

Initial Planning

Evaluation

Page 13: Agile Estimation And Planning Part I
Page 14: Agile Estimation And Planning Part I

The Agile Manifesto Values (2001)

• Individuals and interactions over processes and tools (1).

• Working software over comprehensive documentation (2).

• Customer collaboration over contract negotiation (3) .

• Responding to change versus following a plan.What is Agile?

Page 15: Agile Estimation And Planning Part I
Page 16: Agile Estimation And Planning Part I

Agile Teams

• Work as one Team• Work in short iterations• Deliver something each iteration• Focus on business priorities• Inspect and adapt to change

What is Agile?

Page 17: Agile Estimation And Planning Part I

Teams Work As One (with Roles)

• Product Owner• Customer• User• Developer• Project Manager

What is Agile?

Page 18: Agile Estimation And Planning Part I

Teams sit together

Page 19: Agile Estimation And Planning Part I

Work is split into short iterations

• Each iteration contains its own requirements and architectural design.

• Iterations are time boxed (meaning they finish on time even if functionality is dropped). Time boxes average 2-4 weeks.

• Iterations combine to form releases.• No grand delineations of phases with up-front

requirements and architectural design.

What is agile?

Page 20: Agile Estimation And Planning Part I

The Cone of Uncertainty (1998)

Initial Approved Requirements Product Detailed AcceptedProduct Product Spec. Design Design SoftwareDef. Def. Spec Spec

1.6x

1.25x

1.15x1.1x

x

0.9x

0.85x

.8x

0.6x

ProjectSchedule

During the feasibility phase, a project estimate can be off as much as 60% to 160%!!

Page 21: Agile Estimation And Planning Part I

Focus is on Business Priorities• Delivery specified by the business owner.• Release based on the teams capabilities.• Features written to minimize dependencies.• Focus is on delivering user-valued features (stories)

rather than completing tasks . E.g.. “As a <type of user>, I want < this capability> so that <I get this business value>”.

• Verbal conversations over written instructions.

What is agile?

Page 22: Agile Estimation And Planning Part I

Stories

Page 23: Agile Estimation And Planning Part I

Standup Daily Meetings

Page 24: Agile Estimation And Planning Part I

Iteration planning done with note cards on a wall (low tech).

Story Tasks

As a coach, I can assign swimmers to events for a meet.

As a swimmer, I can update my demographics.

Determine rules who can swim in which events 6

Specify acceptance tests to show how this should work 8

Design user interface 16

Code user interface 8

Specify acceptance tests. 5

Change view-only demographics page to allow edits 6

Page 25: Agile Estimation And Planning Part I

Constant Introspection and adaptation

• The plan is not a guarantee of what will happen !• Personnel may leave.• Technologies may NOT work as expected.• Each new iteration incorporates knowledge from

the previous iteration successes and failures and adapts accordingly.

• Change is viewed positively versus negatively.

What is agile?

Page 26: Agile Estimation And Planning Part I

Why planning fails

• Planning is by Activity rather than Feature . • Activities Don’t Finish Early (Parkinson’s law).• Lateness Is Passed Down the Schedule.• Activities are not independent.• Multi-tasking Causes Further Delays.

What is agile?

Page 27: Agile Estimation And Planning Part I

Effect of Multitasking on Productivity

40

20100

30

5060

908070

2 3 4 51

%Time

onTasks

# of Concurrent Assigned Tasks

Page 28: Agile Estimation And Planning Part I

Why Planning Fails (cont.)

• Features Are Not Developed By Priority• We ignore Uncertainty.• Estimates Become Commitments.

Page 29: Agile Estimation And Planning Part I

Why planning fails (continued)

• Frequently reduced to a single date. All assumptions and expectations that led to that date are forgotten!

• Accuracy decreases rapidly the further we attempt to plan beyond the current horizon (1).

• Over planning leads to a false sense of security(2).• Fails to recognize and use knowledge learned

along the way (3).