Agile Project Management: Breaking Old Software Management ...

42
Copyright 2003-2005, Rally Software Development Corp Agile Project Management: Breaking Old Software Management Paradigms Presented by Ryan Martens President & Founder, Rally SDC
  • date post

    14-Sep-2014
  • Category

    Technology

  • view

    2.254
  • download

    1

description

 

Transcript of Agile Project Management: Breaking Old Software Management ...

Page 1: Agile Project Management: Breaking Old Software Management ...

Copyright 2003-2005, Rally Software Development Corp

Agile Project Management: Breaking Old Software Management ParadigmsPresented by Ryan MartensPresident & Founder, Rally SDC

Page 2: Agile Project Management: Breaking Old Software Management ...

Slide 2 Copyright 2003-2005, Rally Software Development Corp

Background on Speaker

∙ Ryan Martens ₋ President & Founder, Rally

Software Development Corp.₋ Former Director Product

Management, BEA Systems₋ VP Services, Avitek (Custom

Java Development Firm)₋ Director/Project Manager, BDM

Technologies (Systems Integrator)

₋ MBA, BSCE (Construction Mgmt) & Minor CS

The Most Agile Route Between Two Points

On Course On Time

Rally increases the reliability and responsiveness of software-driven

companies by enhancing development productivity and

agility

Page 3: Agile Project Management: Breaking Old Software Management ...

Slide 3 Copyright 2003-2005, Rally Software Development Corp

∙ What part of the software industry do you work in?

1. Software (ISV, ASP)2. Corporate (IT)3. Services (ISV,

Consultant)4. Other

∙ How many people are PMP certified?1.YES2.NO

Audience Survey

Page 4: Agile Project Management: Breaking Old Software Management ...

Slide 4 Copyright 2003-2005, Rally Software Development Corp

Objectives for Today

∙ Thesis: Agile Project Management is becoming a mainstream alternative to “Plan Driven” Project Management. Agile is both disciplined and innovative; it makes your team more reliable and responsive.

∙ What you will learn:₋ What does Agile look like?₋ What project management paradigms are we breaking with Agile versus Plan-Driven Development?₋ How do you get to Agile?₋ How does it change the “Day-in-the-life” of a PM?₋ How do you get started?₋ What tools and resources are available?

Page 5: Agile Project Management: Breaking Old Software Management ...

Slide 5 Copyright 2003-2005, Rally Software Development Corp

Agile Adoption Survey

∙ What is your current level of experience in Agile Project Management and Development?

1. Know the concept2. Learning3. Some experience on a team using it4. Active practitioner

Page 6: Agile Project Management: Breaking Old Software Management ...

Copyright 2003-2005, Rally Software Development Corp

What does Agile look like?

Page 7: Agile Project Management: Breaking Old Software Management ...

Slide 7 Copyright 2003-2005, Rally Software Development Corp

Survey of Agile Methods

∙ Dynamic System Development Method (Dane Faulkner)∙ Adaptive Software Development (Jim Highsmith)∙ Crystal (Alistair Cockburn)∙ SCRUM (Ken Schwaber)∙ XP (Kent Beck)∙ Lean Software Development (Mary Poppendieck)∙ Feature Driven Development (Jeff DeLuca)∙ Agile RUP

Page 8: Agile Project Management: Breaking Old Software Management ...

Slide 8 Copyright 2003-2005, Rally Software Development Corp

A Generalized Agile Process

ReleaseIteration 1 Iteration 2 Iteration 3 Iteration …

• Feature 1• Feature 2• Feature 3a

• Feature 3b• Feature 4a

• Feature 4b• Feature 5

• Feature 4c• Feature 6• Feature 7

Backlog

• Feature 8• Feature 9• ….

Page 9: Agile Project Management: Breaking Old Software Management ...

Slide 9 Copyright 2003-2005, Rally Software Development Corp

An Agile Iteration

Page 10: Agile Project Management: Breaking Old Software Management ...

Copyright 2003-2005, Rally Software Development Corp

What project management paradigms are we breaking?

Page 11: Agile Project Management: Breaking Old Software Management ...

Slide 11 Copyright 2003-2005, Rally Software Development Corp

What Paradigms Are We Breaking?

Culture

Measure of Success

WaterfallDevelopment Iterative Development

Iterative andIncremental

Development

ParallelDevelopment

AcceptanceTest Driven Development

Command-and-Control Leadership /Collaborative

Conformance to Plan Response to Change

Design

QA

Process

Big Design Up Front Continuous

Big Test on Backend Continuous

Agile Development

Tool Support Highly specific Fully Integrated

Page 12: Agile Project Management: Breaking Old Software Management ...

Slide 12 Copyright 2003-2005, Rally Software Development Corp

New Measures of Success

∙ Critical Path -------------------------∙ Work Breakdown Structure

-----------------------------------------

∙ % Complete of tasks -------------- ∙ Serial functions --------------------∙ Procedural process -----------------∙ Fixed scope -------------------------

∙ Critical Chain∙ Feature Breakdown

Structure∙ # of Features accepted∙ Parallel functions∙ Empirical time boxes∙ Fixed time and resources

Measure of Success

WaterfallDevelopment Iterative Development

Iterative andIncremental

Development

ParallelDevelopment

AcceptanceTest Driven Development

Conformance to Plan Response to Change

Process

Agile Development

Page 13: Agile Project Management: Breaking Old Software Management ...

Slide 13 Copyright 2003-2005, Rally Software Development Corp

Culture of Discipline and Collaboration

∙ Culture of sign-offs -----------------∙ High-level plans = Roll-up of

detailed plans ------------------------∙ Detailed Planning early ------------∙ Protect the Project Scope ----------∙ Demonstrate at End -----------------∙ Weekly PM meetings --------------

∙ Culture of learning∙ Gross estimates of backlog

create the high-level plans∙ Detailed Planning in chunks∙ Protect the Iteration Scope∙ Demonstrate every Iteration∙ Daily Stand-up meetings

WaterfallDevelopment Iterative Development

Iterative andIncremental

Development

ParallelDevelopment

AcceptanceTest Driven DevelopmentProcess

Agile Development

Culture Command-and-Control Leadership /Collaborative

Page 14: Agile Project Management: Breaking Old Software Management ...

Slide 14 Copyright 2003-2005, Rally Software Development Corp

Continuous Design & Test

∙ Contract with Customer ----------∙ Big Design sign off ---------------∙ Dreaded Integration phase

-------∙ Never miss Dev. Cmpt date -----∙ Work in big phases ---------------∙ Testing squeezed -----------------

∙ Partner with Customer∙ LPM Design Decisions∙ Continuous Integration∙ Never break the build∙ Work in small chunks∙ Low Features squeezed

WaterfallDevelopment Iterative Development

Iterative andIncremental

Development

ParallelDevelopment

AcceptanceTest Driven DevelopmentProcess

Agile Development

Design

QA

Big Design Up Front Continuous

Big Test on Backend Continuous

Page 15: Agile Project Management: Breaking Old Software Management ...

Slide 15 Copyright 2003-2005, Rally Software Development Corp

Agile Project Tooling

∙ Focus on Individuals -------------∙ Optimize the parts ----------------∙ Integrate with batch update -----∙ Manage large inventories --------∙ Un-integrated with the WBS ----∙ Visibility through manual PM

report --------------------------------

∙ Focus on the team∙ Optimize the whole∙ Tight integration∙ Manage rapid throughput∙ Manage the FBS∙ Real-time visibility up, down

and across the team

WaterfallDevelopment Iterative Development

Iterative andIncremental

Development

ParallelDevelopment

AcceptanceTest Driven DevelopmentProcess

Agile Development

Tool Support Highly specific Fully Integrated

Page 16: Agile Project Management: Breaking Old Software Management ...

Slide 16 Copyright 2003-2005, Rally Software Development Corp

Benefits from Implementing Agile

1. Deliver benefits early (First Iteration is demonstrable)2. Avoid significant rework by only doing just-in-time detailed

design 3. Avoid dead-end design decisions by managing with LPM

decisions and trade-off matrix4. Raise quality by moving testing forward in the process5. Become responsive by supporting scope adjustments every

iteration6. Become reliable by instituting regular heartbeats to the team7. Increase estimating accuracy by working in small chunks8. Decrease risk by always having working software9. Increase throughput via real-time visibility10. Increase team moral by dropping the “death marches.”

Page 17: Agile Project Management: Breaking Old Software Management ...

Copyright 2003-2005, Rally Software Development Corp

How do you get to Agile?

Page 18: Agile Project Management: Breaking Old Software Management ...

Slide 18 Copyright 2003-2005, Rally Software Development Corp

Four Paths to Great Software(Consistently Responsive)

Hierarchical

Agility &Innovation

Culture of DisciplineHigh

High

Low

Low

Bureaucratic Start-up

GreatOrganization

(Adapted from Collins’ Good-to-Great Matrix of Creative Discipline, 2002)

Page 19: Agile Project Management: Breaking Old Software Management ...

Slide 19 Copyright 2003-2005, Rally Software Development Corp

Four Paths to Great Software(Consistently Responsive)

Hierarchical

Agility &Innovation

Culture of DisciplineHigh

High

Low

Low

Bureaucratic Start-up

Agile Development

Agile Organization

Waterfall

GreatOrganization

Chaos Solo Virtuosos

(Adapted from Collins’ Good-to-Great Matrix of Creative Discipline, 2002)

Page 20: Agile Project Management: Breaking Old Software Management ...

Slide 20 Copyright 2003-2005, Rally Software Development Corp

Four Paths to Great Software(Consistently Responsive)

Hierarchical

Agility &Innovation

Culture of DisciplineHigh

High

Low

Low

Bureaucratic Start-up

Agile Development

Agile Organization

Path 4 – Scaling & ExtendingAgile

Path 2 – Discipline

Path 1 – Agility

Waterfall

GreatOrganization

Chaos Solo Virtuosos

Path 3 – Agility & Discipline

(Adapted from Collins’ Good-to-Great Matrix of Creative Discipline, 2002)

Page 21: Agile Project Management: Breaking Old Software Management ...

Slide 21 Copyright 2003-2005, Rally Software Development Corp

How Organizations Become More Responsive

*D. Anderson: Agile Software Management Accounting for Systems

Three Levers to Increase Responsiveness

Increase Throughput Shorten cycle times to speed delivery of functionality to customers

Decrease Investment Reduce inventory and the cost capture, elaboration, communication and scheduling

Decrease Operating Expense Eliminate waste to produce higher quality with less effort

Page 22: Agile Project Management: Breaking Old Software Management ...

Slide 22 Copyright 2003-2005, Rally Software Development Corp

Agile = Increasing Success

WaterfallDevelopment Iterative Development

Iterative andIncremental

Development

ParallelDevelopment

AcceptanceTest Driven Development

Agile Development

Risks

Cycle Time Increasing Throughput

Increasing Success

Decreasing Investment

Decreasing Operating ExpenseFeedback

Delays

DetailedInventory

Page 23: Agile Project Management: Breaking Old Software Management ...

Slide 23 Copyright 2003-2005, Rally Software Development Corp

Incremental and Iterative

WaterfallDevelopment Iterative Development

Iterative andIncremental

Development

ParallelDevelopment

AcceptanceTest Driven Development

Agile Development

Cycle Time

FeedbackDelays

DetailedInventory

Risks

Year + Quarters Months

Whole Project

Entire Business

Project Iteration

Phase Iteration

Across JobFunctions

AcrossPhase

Across Iteration

Page 24: Agile Project Management: Breaking Old Software Management ...

Slide 24 Copyright 2003-2005, Rally Software Development Corp

Incremental & Iterative Cadence

Automate Tests

Elaborate Features

Into Requirements

Dem

onstration

Iteration N Iteration N+1Iteration N-1

Detailed Iteration

Planning & D

esign

Manual Test&

Bug Fix

Develop all Features in Parallel

DevelopmentComplete

Fix Deferred Defects

ElaborateManual Tests

Page 25: Agile Project Management: Breaking Old Software Management ...

Slide 25 Copyright 2003-2005, Rally Software Development Corp

Parallel Development Cadence

Automate Tests

Elaborate Features

Into Requirements

Dem

onstration

Iteration N Iteration N+1Iteration N-1

Detailed Iteration

Planning & D

esign

Test & Fix

Dev Feature Priority 1

DevelopmentComplete

Fix Deferred Defects

Elab. TestsFeature 1

Test & Fix

Dev Feature Priority 2

Elab. TestsFeature 2

Test & Fix

Dev Feature Priority 3

Elab. TestsFeature 3

Page 26: Agile Project Management: Breaking Old Software Management ...

Slide 26 Copyright 2003-2005, Rally Software Development Corp

Acceptance Test Driven Development Cadence

Elaborate Features

Into Requirements and Test Cases

Dem

onstration

Iteration N Iteration N+1Iteration N-1

Detailed Iteration

Planning & D

esign

Dev Feature Priority 1

Auto. TestsFeature 1Dev Feature

Priority 2Auto. TestsFeature 2

Dev Feature Priority 3

Auto. TestsFeature 3

Dev Feature Priority 4

Auto. TestsFeature 4Dev Feature

Priority 5Auto. TestsFeature 5

Page 27: Agile Project Management: Breaking Old Software Management ...

Slide 27 Copyright 2003-2005, Rally Software Development Corp

Increasing Agility & Success

WaterfallDevelopment Iterative Development

Iterative andIncremental

Development

ParallelDevelopment

AcceptanceTest Driven Development

Agile Development

Cycle Time Year + Quarters Months

Whole Project

Entire Business

Project Iteration

Phase Iteration

FeedbackDelays

DetailedInventory

Risks

Across JobFunctions

AcrossPhase

Across Iteration

Weeks < week

Increment Feature

Increment Feature

AcrossIncrement

Across Feature

Page 28: Agile Project Management: Breaking Old Software Management ...

Copyright 2003-2005, Rally Software Development Corp

The “Day in the Life” of an Agile Project Manager

Page 29: Agile Project Management: Breaking Old Software Management ...

Slide 29 Copyright 2003-2005, Rally Software Development Corp

Customer Success Story

∙ Before₋ 8 month release, 2 month iterations

∙ Dilemma ₋ Still missing the opportunities & Iteration goals

∙ After₋ 2 week iterations exposed issues₋ Separate Patch & Support team₋ Lowered defect inventory

∙ As a results: ₋ Reliably Responsive to new opportunities

Page 30: Agile Project Management: Breaking Old Software Management ...

Copyright 2003-2005, Rally Software Development Corp

How do I get started?

Page 31: Agile Project Management: Breaking Old Software Management ...

Slide 31 Copyright 2003-2005, Rally Software Development Corp

Evolution of Agile inside a team

1. Rollover∙Implement daily stand-up meetings, create an automated build process to always be close to shippable code

2. Apply Agile Project Management (APM) practices∙Create and track a Backlog of stories, a Release, and its Iterations through to Acceptance∙Create short iterations and release small batches

3. Extend APM upstream into requirements elaboration∙Capture use cases, scenarios for richer requirements statements, and build parent-child relationships to pull testing forward∙Build tight link to the customer for feedback

4. Extend APM into test to increase quality measures∙Track test case results to story cards, manage defects from iteration to iteration∙Implement an automated acceptance testing framework

Page 32: Agile Project Management: Breaking Old Software Management ...

Slide 32 Copyright 2003-2005, Rally Software Development Corp

Technical Team Disciplines

1. Develop coding and naming standards2. Track remaining on tasks3. Automate the build process and share results4. Implement a Testing Framework that includes unit test,

application tests and GUI tests5. Develop a continuous integration process and server6. Move toward collective code ownership7. Cross-train through pair programming to increase flexibility,

domain knowledge and reduce risk

Page 33: Agile Project Management: Breaking Old Software Management ...

Slide 33 Copyright 2003-2005, Rally Software Development Corp

∙ Suggested Process₋ Internal champion₋ Suggested reading₋ Brown bag discussions₋ Guest lectures₋ Local Agile/XP user groups₋ Agile Conferences

∙ Agile Development∙ XP / Agile Universe∙ Software Development

∙ Where to start on the web₋ www.agilealliance.org

∙ Articles, events & user groups∙ Great resource for getting started

with Agile

∙ Suggested Reading₋ Home of SCRUM

www.controlchaos.com/ ₋ Agile & Iterative Development

www.craiglarman.com₋ Lean Software Development

www.poppendieck.com/ ₋ Agile Project Management

www.jimhighsmith.com/

∙ Rally Whitepaper₋ Tactical Management of Iterative

Development: Achieving Competitive Advantage, www.rallydev.com

Resources to Self-teach Agile

Page 34: Agile Project Management: Breaking Old Software Management ...

Slide 34 Copyright 2003-2005, Rally Software Development Corp

∙ Training Opportunities₋ Lean Manager & Practitioners

Classes∙ www.poppendieck.com/courses.ht

m₋ SCRUM Master Class

∙ www.controlchaos.com/certifiedscrum/

₋ eXtreme Programming∙ www.xprogramming.com/xpmag/

services.htm₋ Rally’s 1-day Agile Workshop

∙ Mentoring Programs₋ Individual consulting:

∙ Ken Schwaber∙ Mary & Tom Poppendieck∙ Jim Highsmith∙ Mike Cohn∙ Or see www.agilealliance.org

₋ Rally Agile Pilot Program∙ 1-day team workshop∙ Developing the Agile Management

Team∙ Delivering the first Agile iterations

Professional Help

Page 35: Agile Project Management: Breaking Old Software Management ...

Slide 35 Copyright 2003-2005, Rally Software Development Corp

1. Pick a date two weeks from this Friday. Call it “Iteration 1 End Date.” Schedule a demo for stakeholders.

2. Decide which feature the team will accomplish (the bite-size chunk that can be completed).

3. Define the tasks required to achieve the objective and have the team bid each task.

4. Adjust scope until it looks like it might fit. Commit.

5. Execute - Have daily standup meetings for 15 minutes.

6. Be accountable. Hold the demo exactly when planned no matter how much you have achieved.

7. Reflect on what you’ve learned.

8. Do it again.

“Just give me two weeks”

Page 36: Agile Project Management: Breaking Old Software Management ...

Slide 36 Copyright 2003-2005, Rally Software Development Corp

Audience Survey

∙ How many people use these Project Management Tools for planning and tracking?

1. MS-Project Stand alone2. MS-Project Enterprise (or other Project Servers)3. Spreadsheets

Page 37: Agile Project Management: Breaking Old Software Management ...

Slide 37 Copyright 2003-2005, Rally Software Development Corp

Tools

∙ Open Source₋ M-ASE ₋ Story Server₋ TWiki XPTrackerPlugin ₋ UserStory.NET ₋ XPlanner₋ XpCgi ₋ XPWeb ₋ XPSwiki

∙ Commercial₋ Rally ₋ AgilePlan ₋ VersionOne ₋ Iterate ₋ Scope Manager ₋ ScrumWorks ₋ DevPlanner ₋ XpPlanIt

Most co-located teams start with paper, note cards and a whiteboard

Page 38: Agile Project Management: Breaking Old Software Management ...

Slide 38 Copyright 2003-2005, Rally Software Development Corp

Planning an Agile Project

1. Prioritized Backlog of features with gross estimates

2. Estimate of team velocity

3. Creates Release & Iterations

4. Draft Iteration FBS5. Detailed Planning for

the next Iteration

Page 39: Agile Project Management: Breaking Old Software Management ...

Slide 39 Copyright 2003-2005, Rally Software Development Corp

Tracking an Agile Project

1. Complete detailed estimates & tasks

2. Rank FBS for Iteration3. Start work & update

status4. Track status of tasks,

tests & defects5. Demonstrate new

features6. Collect metrics

Page 40: Agile Project Management: Breaking Old Software Management ...

Slide 40 Copyright 2003-2005, Rally Software Development Corp

Report on an Agile Project

1. Remaining burn-down

2. Accepted features3. Velocity of team4. Prioritized Backlog5. Test Coverage6. Outstanding bugs7. Current Iteration

dates

Page 41: Agile Project Management: Breaking Old Software Management ...

Slide 41 Copyright 2003-2005, Rally Software Development Corp

Objectives for Today

∙ Thesis: Agile Project Management is becoming a mainstream alternative to “Plan-Driven” Project Management. Agile is both disciplined and innovative; it makes your team more reliable and responsive.

∙ What you learned:₋ What does Agile look like?₋ What project management paradigms are we breaking with Agile versus Plan-Driven Development?₋ How do you get to Agile?₋ How does it change the “Day-in-the-life” of a PM?₋ How do you get started?₋ What tools and resources are available?

Page 42: Agile Project Management: Breaking Old Software Management ...

Copyright 2003-2005, Rally Software Development Corp

[email protected] [email protected]