copyright 2006 - david churchville - xp and agile planning david churchville extremeplanner...

23
Copyright 2006 - David Churchville - www.extremeplanne r.com XP and Agile XP and Agile Planning Planning David Churchville David Churchville ExtremePlanner Software ExtremePlanner Software www.extremeplanner.com www.extremeplanner.com XP Fishbowl XP Fishbowl San Diego Code Camp San Diego Code Camp

Upload: deirdre-ellis

Post on 27-Dec-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

Copyright 2006 - David Churchville - www.extremeplanner.com

XP and Agile XP and Agile PlanningPlanning

XP and Agile XP and Agile PlanningPlanning

David ChurchvilleDavid ChurchvilleExtremePlanner SoftwareExtremePlanner Softwarewww.extremeplanner.comwww.extremeplanner.com

XP FishbowlXP Fishbowl San Diego Code CampSan Diego Code Camp

Copyright 2006 - David Churchville - www.extremeplanner.com

Topics• Why Plan?• Release planning• Iteration planning• Daily planning• Example• Questions?

Copyright 2006 - David Churchville - www.extremeplanner.com

Why do we plan?• To answer questions about a

project– What will this system need to do?– What are the expected benefits?– When will it be available?– What will it take to build it?

• But mainly: Is it worth doing?

Copyright 2006 - David Churchville - www.extremeplanner.com

Why does planning fail?• Pitfalls of Traditional Plans

– Activity-based instead of feature-based• “resource” allocation and 100% utilization

– Work is not prioritized by value– Uncertainty in estimates is ignored– Estimates are treated as commitments

Copyright 2006 - David Churchville - www.extremeplanner.com

Why Agile Planning?• The further we are from delivery, the

less accurate the plan• To reduce risk, we need to learn more

by delivering working software quickly• Feedback (product and technical) is

used to improve the accuracy of the plan

Copyright 2006 - David Churchville - www.extremeplanner.com

Agile Planning Levels

Daily Planning(stand-up meetings)

Copyright 2006 - David Churchville - www.extremeplanner.com

Agile Planning Levels• Release Planning

– Primary goals: overall vision, external communication

– Feature level planning– Big picture thinking– Driven by the customer/product

owner

Copyright 2006 - David Churchville - www.extremeplanner.com

Agile Planning Levels• Iteration Planning

– Primary goals: internal communication

– Task level planning– Development team drives this from

priority and risk viewpoint

Copyright 2006 - David Churchville - www.extremeplanner.com

Agile Planning Levels• Daily Planning (standup meeting)

– Primary goals: internal communication

– Individual planning and coordination– Avoids duplicated effort– Difficult to “go dark”

Copyright 2006 - David Churchville - www.extremeplanner.com

Release Planning Steps• Brainstorm a set of user stories• Estimate relative size of stories• Choose release criteria (date or

feature set)• Prioritize stories for release• Choose a set of features

Copyright 2006 - David Churchville - www.extremeplanner.com

Release Planning Steps• Brainstorm a set of user stories

– Roles and goals– As a __ I can __ so that __– Involve the entire product team– Review as a team to normalize– OK if we don’t capture everything

Copyright 2006 - David Churchville - www.extremeplanner.com

Release Planning Steps• Estimate size of stories

– Use points or ideal time– Suggest S,M,L or 1,2,4,8,16– Educated guess or “planning poker”– Goal is to help customer prioritize

Copyright 2006 - David Churchville - www.extremeplanner.com

Release Planning Steps• Choose Release Criteria

– Fixed Deadline (we need it by Q2!)– Fixed Scope (when can we have it??)

• Issues– Can’t pick both scope and deadline!– Either scope or duration is fuzzy

Copyright 2006 - David Churchville - www.extremeplanner.com

Release Planning Steps• Prioritize Stories for Release

– Force rank stories (1..2..3…N) or…– “Buy” stories

• Let each person pick top N• Or give each person limited points to

spend• Allow small budget for infrastructure

Copyright 2006 - David Churchville - www.extremeplanner.com

Release Planning Steps• Choose stories for release

– For date-driven releases, calculate capacity• FTEs * Workdays * EffectiveHrsPerDay• 4 FTE * 30 days * 5 hours per day = 120 ideal hours

– Select stories based on what fits (convert size to duration)

– Note which stories are “must have”, “should have”, and “nice to have” in case of scope cuts

Copyright 2006 - David Churchville - www.extremeplanner.com

Iteration Planning Steps

• Re-prioritize work (after first)• Select stories for the iteration

– Determine iteration capacity– Priority-based or risk-based?

Copyright 2006 - David Churchville - www.extremeplanner.com

Iteration Planning Steps

• Break stories into tasks– Estimate task durations (not size)– Split or merge stories as needed– Reality check for commitments

• No need to assign tasks.

Copyright 2006 - David Churchville - www.extremeplanner.com

Daily Planning Steps• Standup meeting

– What did I accomplish yesterday?– What do I plan to accomplish today?– What are the obstacles blocking me?

• Keep it short!

Copyright 2006 - David Churchville - www.extremeplanner.com

Daily Planning Steps• Add any new tasks• Sign up for tasks• Update estimates and status• Update “information radiators”

Copyright 2006 - David Churchville - www.extremeplanner.com

Resources - Books• Agile Estimating and Planning

(Cohn)• Planning Extreme Programming

(Beck, Fowler)• Agile Project Management with

Scrum (Schwaber)

Copyright 2006 - David Churchville - www.extremeplanner.com

Resources - Tools• For small, co-located teams

– Index cards, whiteboards– Excel spreadsheets

• For distributed teams/larger teams– ExtremePlanner

(extremeplanner.com)– Version One (versionone.com)– XPlanner (xplanner.org)

Copyright 2006 - David Churchville - www.extremeplanner.com

Example• Sudoku• Discuss and prioritize stories for

the day

Copyright 2006 - David Churchville - www.extremeplanner.com

Thank You• For a copy of this presentation

– Email: [email protected]