delivering enterprise projects using agile methods

24
Delivering Enterprise Projects Using Agile Methods Brent Barton [email protected] May 23, 2006

Upload: shalin

Post on 13-Jan-2016

27 views

Category:

Documents


1 download

DESCRIPTION

Delivering Enterprise Projects Using Agile Methods. Brent Barton [email protected] May 23, 2006. Objectives. Common Enterprise Project Features Review common PMBOK terms Introduce to Scrum and a bit of Agile. Introductions. Brent Barton CSM Trainer 15+ years in Software Industry - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Delivering Enterprise Projects Using Agile Methods

Delivering Enterprise Projects Using Agile Methods

Brent [email protected]

May 23, 2006

Page 2: Delivering Enterprise Projects Using Agile Methods

2

Objectives

• Common Enterprise Project Features• Review common PMBOK terms• Introduce to Scrum and a bit of Agile

Page 3: Delivering Enterprise Projects Using Agile Methods

3

Introductions

• Brent Barton CSM Trainer– 15+ years in Software Industry– One of about 25 people worldwide that can

certify Scrum Masters– Actively involved in coaching, mentoring and

working on projects– Successful using traditional methods too…

Page 4: Delivering Enterprise Projects Using Agile Methods

4

Agenda

• Discussion Format• What challenges do Enterprise projects

present?• Who has project concerns?• Why should there be concern?• PMBOK Process Control Groups• Introduction to Scrum• Open Discussion

Page 5: Delivering Enterprise Projects Using Agile Methods

5

Challenges of Enterprise Projects

• Larger, more expensive• Highly visible• Many dependencies

– Legacy systems– COTS products– Multiple Organizations

• Tend to be subject to lower productivity*– 12.5 function points per developer/month for

a project with 900 function points – 3 function points per developer/month for a

project with 13000 function points

*Jones, C., Software assessments, benchmarks, and best practices / Capers Jones. Addison-Wesley information technology series. 2000, Boston, Mass.: Addison Wesley. xxiii, 659 p.

Page 6: Delivering Enterprise Projects Using Agile Methods

6

General Project Concerns• What do Executives need?

– Return on Investment– IT Governance– Regulatory Compliance

• What do Business owners need?– Meets Customer’s needs – Fast– Cheap

• What do Project Managers lose Sleep over?– Budget– Scope– Schedule– Quality– Team dynamics– Intra-team relationships– Risk Management

• What do Delivery teams want?– No death marches– Interesting Challenges

Page 7: Delivering Enterprise Projects Using Agile Methods

7

Software Project Failure Rates Based on Specific Criteria

Customer satisfaction 27%

Ability to meet budget targets 50%

Ability to meet schedule targets 55%

Product quality 28%

Staff productivity 32%

* August 2005, Cutter Consortium http://www.cutter.com/press/050824.html

Page 8: Delivering Enterprise Projects Using Agile Methods

8

PMBOK Process Control Groups

• Initiating• Planning• Executing• Monitoring and Controlling• Closing

Page 9: Delivering Enterprise Projects Using Agile Methods

9

PMBOK Process Control Group: Initiating

• Inputs– Enterprise Environmental Factors

• Culture, Human Resource Pool– Organizational Process Assets

• Policies, procedures, history, Lessons learned

– Project Initiator or Sponsor

• Outputs– Project Charter– Preliminary Scope Statement

Page 10: Delivering Enterprise Projects Using Agile Methods

10

PMBOK Process Control Group: Planning

• Inputs– Preliminary Scope Statement – Project Management Processes – Enterprise Environmental Factors– Organizational Process Assets

• Outputs– Project Management Plan

• Scope • WBS• Cost• Resource• Schedule• Communication• Risk

Page 11: Delivering Enterprise Projects Using Agile Methods

11

Agile — Project Vision Drives the Features

Constraints

Estimates

Requirements

ScheduleCost

ScheduleCost

Features

Plan Driven

Value / VisionDriven

The Plan createscost/schedule estimates

The Vision createsfeature estimates

Waterfall Agile

Page 12: Delivering Enterprise Projects Using Agile Methods

12

Moving to Agile Development

ProjectMgmt

DevelopmentTeam

ProductMgmt

QATeam

Critical Path through Phases

Critical Drop / Milestones

1 - 4 Week Time Boxes

Freeze & Signoff

Last Phase Only

“Test What’s Working”

Acceptance Tests

Control Scope Creep

Just-in-Time Elaboration

All Features in Parallel

Multiple Drops to QA

Highest Priority to Acceptance

Waterfall IterativeIterative andIncremental

ParallelAcceptanceTest Driven

Agile Development

Continuous Flow

Continuous Test by Story

Continuous Definition

Define-Develop-Accept by Story

Automated Flow

Automated & Continuous Test

Define by Acceptance

Test Definition-Develop-Accept by Story

Page 13: Delivering Enterprise Projects Using Agile Methods

13

Agile Multi-Level Project Planning

• Level 1 – Product Visioning• Level 2 – Product Roadmap• Level 3 – Release Plan• Level 4 – Sprint Plan• Level 5 – Daily Commitment

Vision

Release 1 Release 2 Release 3

Sprint 1 Sprint 2 Sprint 3 Sprint 4

Task 1 Task 2 … Task n

Who, What, How Long

Who, What, How LongWhat’s leftto do?

Tabaka, Jean, Rally Software Development

Page 14: Delivering Enterprise Projects Using Agile Methods

14

The Scrum Framework

Vision

Page 15: Delivering Enterprise Projects Using Agile Methods

15

The Scrum Framework

Product BacklogPrioritized Features

desired by Customer

Vision

Page 16: Delivering Enterprise Projects Using Agile Methods

16

The Scrum Framework

Backlog tasksexpandedby team

Product BacklogPrioritized Features

desired by Customer

Sprint Planning Meeting• Review Product Backlog• Estimate Sprint Backlog• Commit to 30 days

Sprint BacklogFeatures assigned to SprintEstimated by team

Vision

Page 17: Delivering Enterprise Projects Using Agile Methods

17

The Scrum Framework

30 days

24 hours

Backlog tasksexpandedby team

Product BacklogPrioritized Features

desired by Customer

Daily Scrum Meeting• Done since last meeting• Plan for today• Obstacles?

Sprint Planning Meeting• Review Product Backlog• Estimate Sprint Backlog• Commit to 30 days• Sprint Goal

Sprint BacklogFeatures assigned to SprintEstimated by team

Vision

Page 18: Delivering Enterprise Projects Using Agile Methods

18

The Scrum Framework

30 days

24 hours

Backlog tasksexpandedby team

Potentially ShippableProduct Increment

Product BacklogPrioritized Features

desired by Customer

Daily Scrum Meeting• Done since last meeting• Plan for today• Obstacles?

Sprint Planning Meeting• Review Product Backlog• Estimate Sprint Backlog• Commit to 30 days• Sprint Goal

Sprint Review Meeting• Demo features to all• Retrospective on the Sprint

Sprint BacklogFeatures assigned to SprintEstimated by team

Vision

Page 19: Delivering Enterprise Projects Using Agile Methods

19

An Example of Results Using Scrum

• First Implementation – Waterfall– 60 people– 9 months– 54,000 lines of code

• Re-implementation – Scrum– 4.5 people– 12 months– 50,800 lines of code

– Deemed to have more functionality and higher quality

Page 20: Delivering Enterprise Projects Using Agile Methods

20

Another Example of Results Using Scrum

• Primavera Productivity– Product backlog requirements completed per

$100,000 invested– Months since Type B Scrum

implemented 3 12 24

Productivity 4.5 9.0 12.2 Quality 100+ 100 5

Page 21: Delivering Enterprise Projects Using Agile Methods

21

Quantitative & Qualitative Results

• Forrester Total Economic Impact Studies (1)– 5 Companies piloting Agile methods– 3 yr, Risk-adjusted ROI of 23% – 66%

• Agile Methodologies Survey (2) 131 respondents:– 49% stated that costs were reduced or

significantly reduced, (46% stated that costs were unchanged)

– 93% stated that productivity was better / significantly better

– 88% stated that quality was better / significantly better

– 83% stated that business satisfaction was better or significantly better

1) Forrester Consulting, 20042) Agile Methodologies Survey Results, Shine Technologies Pty

Ltd, 2003

Page 22: Delivering Enterprise Projects Using Agile Methods

22

What is Agile?

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 negotiationResponding 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 23: Delivering Enterprise Projects Using Agile Methods

23

Agile Myths

• Lack of Discipline:– “Agile lets my Engineering Teams do

whatever they want”– “Quality of the product will fall off”

• Lack of Visibility:– “I have no view into what is happening”– “I can’t predict what I will get, or when”

• Lack of Applicability– “Agile is just for software geeks”– “Agile is just for small teams”

• “Agile is easy”

Page 24: Delivering Enterprise Projects Using Agile Methods

Thank You!