Agile Estimation And Planning Part I

Post on 01-Jul-2015

710 views 0 download

description

Agile Part I presentation at www.b2bCinci.com

Transcript of Agile Estimation And Planning Part I

Agile Estimation and Planning

Kevin Zamora

Credits

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

• Wikipedia

Key Questions

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

for projects?

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?

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”.

Traditional Development Style (SDLC)

“WATERFALL” MODEL

(Predictive)

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

Gantt Chart Anatomy

Gantt Chart (MS Project)

Problems with Waterfall

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

Waterfall Roles (mimic assembly line)

Analysts

Architects

Developers

Testers

Requirements

Design

Implementation

Verification

Maintenance

Agile Development(Adaptive and Iterative)

Requirements

Planning

Analysis & Design

0Implementation

Deployment

Testing

Initial Planning

Evaluation

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?

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?

Teams Work As One (with Roles)

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

What is Agile?

Teams sit together

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?

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%!!

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?

Stories

Standup Daily Meetings

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

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?

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?

Effect of Multitasking on Productivity

40

20100

30

5060

908070

2 3 4 51

%Time

onTasks

# of Concurrent Assigned Tasks

Why Planning Fails (cont.)

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

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).