Agile Project Management with Scrum (Jack Davis)

22
Agile Project Management with Scrum Jack Davis

description

Discusses traditional Waterfall sequential development model with newer Agile iterative development methodologies such as used in Adaptive Software Development, Extreme Programming (XP), Feature-Driven Development (FDD), Scrum, and others.

Transcript of Agile Project Management with Scrum (Jack Davis)

Page 1: Agile Project Management with Scrum (Jack Davis)

Agile Project Managementwith Scrum

Jack Davis

Page 2: Agile Project Management with Scrum (Jack Davis)

Agenda

Agile Quick Overview

Scrum / Daily Scrum

Sprint Backlog Worksheet & Burndown Chart

Agile Work Breakdown and Estimating

Page 3: Agile Project Management with Scrum (Jack Davis)

Traditional Waterfall

Requirements Analyze

Design Implement

Test Release

Sequential Steps

Page 4: Agile Project Management with Scrum (Jack Davis)

Agile Manifesto (2001)

“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

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 on the right, we value the items on the left more.”

Page 5: Agile Project Management with Scrum (Jack Davis)

Agile Software Methods

Adaptive Software Development – ASD

Crystal Clear

Dynamic Systems Development Method – DSDM

Extreme Programming – XP

Evolutionary Development - EVO

Feature-Driven Development – FDD

Lean Development

Scrum

many other variations...

Page 6: Agile Project Management with Scrum (Jack Davis)

What is Agile?

Non-Waterfall, non-sequential

Incremental, iterative, time-boxed processes

Light-weight, designed for ease of use

Focused on flexibility

Targets maximizing product-value given fixed resources and schedules.

Product-focus rather than process-focus

Deemphasizes long-range planning details

Focuses planning on the immediate iteration

Promotes openness and transparency

Provides improved visibility to stakeholders

Page 7: Agile Project Management with Scrum (Jack Davis)

Project Management Workflow

Vision Document

Pro

duct

Pro

ject

Engineering System

Milestone Schedule

Establish milestone dates and

goals

Mitigate risks and

dependencies

Conduct milestone reviews

Align schedules &

communicate status

Fea

ture

Feature Schedule

Estimate and prioritize features

Align features to milestones

Report status and

remove blockages

Complete work

Review tasks and assign resources

Page 8: Agile Project Management with Scrum (Jack Davis)

What’s different with Scrum?

Feature Schedule

Estimate and prioritize features

Align features to milestones

Report status and

remove blockages

Complete work

Review tasks and assign resources

Fea

ture

Short-term (Sprint) Backlog

Time boxed: 30 days

Time boxed: daily

Retrospective

“Sprint” Team Sync (“Scrum”)

Self-directed team

Visibility, inspection, adaptation

Long-term

(Product) Backlog

Page 9: Agile Project Management with Scrum (Jack Davis)

Daily Scrum

15 minutes once a day.

Each person answers three questions:

1. What did you work on yesterday?(how much time did you spend?)

2. What will you will be working on today?(any change to the remaining estimate?)

3. Do you have any blocking issues?

Recommend:• Capture daily meeting minutes in pages on shared OneNote.• Include a copy of the current Burndown Chart at the top of each day’s page.

Page 10: Agile Project Management with Scrum (Jack Davis)

Scrum Minutes

Page 11: Agile Project Management with Scrum (Jack Davis)

Sprint Backlong Worksheet

Simple to use Excel sheet to track progress.

Page 12: Agile Project Management with Scrum (Jack Davis)

Burndown with Cumulative Flow

0

20

40

60

80

100

120

140

160

180

200

Calendar Days

Wo

rkit

em

Ho

urs

Pending

In Progress

Complete

Burndow n

Linear(Burndow n)

Simpler than expected

Lost velocity (sidetracked)

Page 13: Agile Project Management with Scrum (Jack Davis)

Burndown with Cumulative Flow

0

50

100

150

200

250

300

350

400

1 4 7 10 13 16 19 22 25 28

Calendar Days

Wo

rkit

em H

ou

rs

Pending

In Progress

Complete

Remaining

Trend

Plan growth!! (underestimated work)

Review priorities,cut low-priority tasks

Over-multitasking

Page 14: Agile Project Management with Scrum (Jack Davis)

PackURI M1 Daily Scrum minutesonenote:http://windows/wex/dox/features/packaging/Shared%20Documents/DoxPack/Win7-Design/PackUri.one#section-id={0C4B7ED7-D427-45FF-9136-BDBC5D9F82A1}&end

Rendering M1 Daily Scrum minutesonenote:http://windows/wex/dox/features/rendering/Shared%20Documents/DOX%20Rendering%20Shared%20Notebook/M1%20Scrum.one#section-id={9C317007-35D7-4C72-B0D8-51889F75EF23}&end

PackURI M1 SprintBacklog Spreadsheet\\jackd\PackURI\PackUri-SprintBacklog.xlsx

Rendering M1 SprintBacklog Spreadsheet\\fengy-dev3\public\Win7_FeatureCrew\M1_XPS_Backlog.xlsx

SprintBacklog Template (empty to start)\\tkfiltoolbox\Tools\23572\Deluxe - SprintBacklogTemplate.xlsx

Scrum Examples and Tools

Page 15: Agile Project Management with Scrum (Jack Davis)

Estimation “Cone of Uncertainty”

Stabilization

4x

- 4x

Early estimates vary wildly: 8x Lots of surprises:

We learn as the project progresses

DevelopmentAnalysis & Design

Page 16: Agile Project Management with Scrum (Jack Davis)

Work-Item Planning

1. Create a work breakdown schedule thatidentifies the tasks to be completed.

2. For each task, define “done”. (see Defining “Done” next)

3. Estimate time* for each task. (see Planning Poker next)

If more than 3 days:Decompose the task into 1/2 to 3 day work-items.For each work-item, define “done”.

*All time estimates “unbuffered”.

Page 17: Agile Project Management with Scrum (Jack Davis)

Work-Item Planning – Agile Tips and Techniques

After creating a high-level breakdown of tasks, prioritize the high-level task list based on a blending of the following three qualities:

1. Architecturally significantIf implemented, we are forced to design, build, and test the core architecture.

2. High product/business value – key critical product features

3. High risk (such as, “must be able to handle 2000 concurrent transactions")

(Applying UML and Patterns, Craig Larman, 2003, Ch 2.4, discussion of “Unified Process”).

Use a product-value naming convention to name features and tasks:

Naming Template:

<action> the <result> <by|for|of|to> a(n) <object>Name Examples:

Calculate the total amount of a SaleCalculate the total quantity sold by a Retail Outlet for an Item DescriptionDetermine the most recent Cash Register Assignment for a Cashier

(Agile Software Development Ecosystems, Highsmith, 2002, Ch 20 “The FDD Process Model “)

Page 18: Agile Project Management with Scrum (Jack Davis)

Defining “Done”

Define “done” for each work item

Agree on how to know when an item is “done”.Use a definition that clearly identifies when the item is complete.Insert an Excel comment* for each item to note when it is “done”.If assumptions about “done” change, re-do Planning Poker.

Result: Every Sprint item has a “Done” comment.

Ok: Coding complete (“complete” can be subjective)Better: Coding complete, unit test complete,

working code and tests checked into branch. (“checked in” is definitive)

*TIP: Use Edit->Paste Special…->Comments to repeat the definition for like items

Page 19: Agile Project Management with Scrum (Jack Davis)

Planning PokerRequires: Planning Poker card deck for each participant.

For each item in the Sprint Backlog:1. Dev or test lead verbally describes the feature to be implemented.2. Each person secretly selects an estimate card: 4,8,12,16,24,32,40,>40

Estimates are in unbuffered hours.Estimates are only for the work to be completed during this Sprint.

3. Everyone reveals their cards at once.4. High and low (and others) discuss their assumptions & decision.5. Repeat until the estimates converge (typically 2 to 4 iterations).6. Optional: Risk Assessment (“Three-point” / “Wide-band Delphi” technique)

On the final pass ask each person to select 3 cards:an Optimistic time, a Most-Likely time, and a Pessimistic time.The divergence of optimistic and pessimistic is useful to identify high risk items.

7. Fill in results in the Initial (estimate) column of the Sprint worksheet.8. Estimate next item.

Result : Initial column filled in for all Sprint work items

Page 20: Agile Project Management with Scrum (Jack Davis)

Questions / Comments

Page 21: Agile Project Management with Scrum (Jack Davis)

PackURI M1 Daily Scrum minutesonenote:http://windows/wex/dox/features/packaging/Shared%20Documents/DoxPack/Win7-Design/PackUri.one#section-id={0C4B7ED7-D427-45FF-9136-BDBC5D9F82A1}&end

Rendering M1 Daily Scrum minutesonenote:http://windows/wex/dox/features/rendering/Shared%20Documents/DOX%20Rendering%20Shared%20Notebook/M1%20Scrum.one#section-id={9C317007-35D7-4C72-B0D8-51889F75EF23}&end

PackURI M1 SprintBacklog Spreadsheet\\jackd\PackURI\PackUri-SprintBacklog.xlsx

Rendering M1 SprintBacklog Spreadsheet\\fengy-dev3\public\Win7_FeatureCrew\M1_XPS_Backlog.xlsx

SprintBacklog Template (empty)\\tkfiltoolbox\Tools\23572\Deluxe - SprintBacklogTemplate.xlsx

MS-EE Scrum and Agile Project Management classhttp://mylearning/CourseDetails.aspx?COURSENO=COUR2006051616181112700341&title=Scrum%20and%20Agile%20Project%20Management

MS-EE Scrum Wikihttp://wiki/default.aspx/Microsoft.Teams.EEG/Scrum.html

Scrum Examples and Tools

Page 22: Agile Project Management with Scrum (Jack Davis)

5 Questions on Agile Development, October 2007, Steve McConnellhttp://blogs.construx.com/blogs/stevemcc/archive/2007/10/08/5-questions-on-agile-development.aspx

Legacy of Agile Software Development, 2007, Steve McConnellhttp://www.construx.com/Page.aspx?hid=1821

Why I Don’t Use Story Points for Sprint Planning, Mike Cohn(or “Estimate Sprint Work Items in ‘Hours’ instead of ‘Story Points’ ”)http://blog.mountaingoatsoftware.com/?p=15

Don’t Average During Planning Poker, Mike Cohnhttp://blog.mountaingoatsoftware.com/?p=14

Toward a Catalog of Scrum Smells, Mike Cohn(or “How to Tell When Good Scrum Goes Bad”)http://www.mountaingoatsoftware.com/system/article/file/11/ScrumSmells.pdf

Related Reading