Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ......

44
Applying Lean Concepts to Plan-Driven Projects www.construx.com © 2007 Construx Software Builders, Inc. All Rights Reserved. VJ2.0

Transcript of Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ......

Page 1: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Applying Lean Conceptsto Plan-Driven Projects

www.construx.com© 2007 Construx Software Builders, Inc.All Rights Reserved.

VJ2.0

Page 2: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 2

Executive Summary

A one size fits all approach is flawedLean applies only to “Agile” is a mythAll software teams need to continually ensure each activity they perform is optimized to promote value and eliminate waste

Page 3: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 3

Purpose

Introduce you to applying lean thinking when circumstances require a more upfront planning approach

Identify the lean software development principles

Provide examples illustrating using lean on plan-driven projects

Page 4: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 4

Lean Principles

Build ValueEliminate WasteBuild Integrity InAmplify LearningLocalize ResponsibilityDelay CommitmentDeliver FastOptimize the Whole

Adapted from Mary and Tom Poppendieck, Lean Software Development

Page 5: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 5

Principles of Lean Software Development

Precisely specify the value of each project Identify the value stream for each projectAllow value to flow without interruptionsLet the customer pull value from the project teamContinuously pursue perfection

Ronald Mascitelli, How to Slash Waste and Boost Profits Through Lean Project Management

Page 6: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Eliminate Wasteon a Plan-Driven Project

Page 7: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 7

What is Waste?

Anything the customer would not agree to pay for

Ronald Mascitelli

Anything that does not add customer valueMary and Tom Poppendieck,

Page 8: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 8

What is Value?

Any activity or task is value-added if it transforms a new product design (or the essential deliverables needed to produce it) in such a way that the customer is both aware of it and willing to pay for it.

Ronald Mascitelli

Page 9: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 9

Three Categories of Activities

ValueEnabler

Waste Lean’s goal• Eliminate waste• Reduce effort

spent on enablers• Increase value

ValueEnabler

Leads to:• Increased development

capacity• Shorter schedules

Page 10: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 10

Too Little or Too Much Leads to Waste

Includes non-value added information or tasks (aka Scrap)Have to filter out the noiseImpedes efficiency, creativity, and innovation

Missing important tasks or informationError-proneCauses confusion, delays, and wasted work

Too Little Too Much

Page 11: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 11

Identifying Waste

Review Value StreamThe sequence of activities that create project deliverablesWhat activities can be deleted? Streamlined? Beefed up?Where are the bottlenecks?Is there excessive wait-time?

Ask your teamThey know!Can you justify each activity and deliverable?

Page 12: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 12

Common Sources of Waste

Too many projectsUnnecessary requirementsRandom prioritizationInefficient meetings & status reportingUnrealistic schedules

Unnecessary documentationMulti-taskingInterruptionsDysfunctional reviewsExcessive wait-statesInsufficient resources

What are common sources of waste on your projects?

Page 13: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 13

Focus on the Bottlenecks

Know where your system's bottlenecks are, and make all other decisions revolve around their limitations.

Eliyahu Goldratt,The Goal

Page 14: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 14

Avoid non-value added work

Every activity and deliverable (both what is done and how formally it is done) needs to do at least one of…

Help the project satisfy its charterHelp control a riskHelp maximize an asset

Otherwise, do it less formally or don’t do it at all

Page 15: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Build Integrity Inon a Plan-Driven Project

Page 16: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 16

Quality as an Enabler

Focus on quality reduces effort and shortens schedules40-50% of the effort on typical software projects is spent on avoidable reworkEvery hour of upstream review saves up to ten hours of downstream work

≈95% 100%≈85%

Defects Removed Before Release

Effo

rt / C

ost /

Sch

edul

e

Average Organization

Page 17: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 17

Find Early—Fix Quickly

Requirements

Architecture

Construction

System test

Requirements

Architecture

Construction

Post-Release

Activityin which a Defect

Is Introduced

Activity in Which a Defect Is Detected(Phase That a Defect Is Corrected)

50 –100X

AverageCost toCorrect

Steve McConnell, Code Complete, 2nd Edition

Page 18: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 18

Use a Combination of Techniques

PreventionCultureProfessional developmentToolboxChecklists and templatesAuditsQuality gatesTeam structureContinuous process improvement

DetectionReviewsTestingSimulationsReal UseAutomatedMathematical

Page 19: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Amplify Learningon a Plan-Driven Project

Page 20: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 20

Interim Retrospectives

Meet with the team to discuss successes and failures observed during the milestone

What did we originally think would happen?What actually did happen?Based on what we know today, if we were able to start over

What would we want to be sure to do different?What would we want to be sure to do the same?

Should the development process be changed for the next milestone?

Don't wait for an end-of-project retrospective

Page 21: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 21

Leads to Continuous Improvement

Build theProduct Release

Setthe

Stage

IncorporateExperiments &Improvements

GatherData

GenerateInsights

Decide WhatTo Do

Close theRetrospective

ContinuousProcess

Improvement

Adapted from: Esther Derby and Diana Larsen, Agile Retrospectives

Page 22: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Localize Responsibilityon a Plan-Driven Project

Page 23: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 23

Empower teams

Clearly defined roles, responsibilities, and authoritiesPush decision making as low as practical

Page 24: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Delay Commitmenton a Plan-Driven Project

Page 25: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 25

Delaying Techniques

Focus on the process goals and intentionsWhat you need to do, not howMake decisions based on coarser grained data

Stage FreezingFreeze the broad-level essentials earlyFreeze the details later

Last Responsible MomentOk not to know yetBut know when you got to know

Page 26: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 26

Rolling Wave Planning

A progressive detailing of the project plan by providing the details of the work to be done in the current project phase but also providing some preliminary description of work to be done in later project phases.

Gregory Githens, Rolling Wave Planning

Page 27: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 27

Rolling Wave Planning

Know where you’re headingDefine checkpoints to

keep you on track

Drive within your headlights

Make mid-course corrections when needed

Page 28: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 28

Get to “NO” Quickly

Complexity increases faster than the number of featuresFewer features will

Be easier to buildEasier to testHave less risk

Scrub early and often~ 64% of features are rarely or never used *Best case – Scrub non-value added projects before they even start!

ProductComplexity(and effort)

Number of Features

Feature Interaction

* The Standish Group, Extreme Chaos

Page 29: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Deliver Faston a Plan-Driven Project

Page 30: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 30

Frequent Releases

Define releases to be no longer than 6 weeks in duration

OK to define interim releases that are not released outside developmentForces frequent convergenceCan be used for coarse level planning – allows you to handle fine-grain dependencies at team level

Overall, a clear industry best practice, reduces numerous common risks—virtually always valuable

Page 31: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Optimize the Wholeon a Plan-Driven Project

Page 32: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 32

Conscience Selection of Practices

Discovery Invention Implementation

Intellectual Phases

focu

s

overlap

Rigor and formality of practices

Informallight-weight

Formal heavy-weight

Waterfall Evolutionary

Lifecycle Selection

Page 33: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 33

Adjust rigor of practices

Design DocumentInformal Design Reviews

System TestingInformal code reviews

Requirements SpecRequirements InspectionsUser Interface PrototypeUse CasesUsability StudiesIncremental DeliveryMore Senior Requirements Developers

Architecture and Detailed Design DocsDesign InspectionsProof of Concept PrototypesOutside ReviewersIncremental DeliveryMore Senior Designers

Automated TestingFull Regression TestingSystem TestingFormal Code InspectionsUse of a Standard Integration ProcedureDaily Builds

Low

Rig

orH

igh

Rig

or

Discovery Invention Implementation

Requirements SpecInformal Requirements Reviews

Page 34: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 34

Myth: Overhead is Waste

Planned Work

Planned Work + Overhead(Quality Reviews, Project

Management, Unavoidable Rework, Corrective Activities)

1 of 2

Realistic Outcome

UnplannedWork

Unplanned Work(Missing Deliverables, Missing Tasks, Avoidable Rework, Unforeseen Risks)

Typical Outcome

2 of 2

Reality: It’s an Enabler

Page 35: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 35

Summary

Our teams are a constrained resourceWe must continually ensure each activity is optimized to promote value and eliminate wasteWe only had time to provide examples

Hopefully they illustrated that Lean Principles applies to your plan driven projects

Page 36: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Any questions?

Page 37: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 37

Closing thoughts

Don’t do something stupid just because it’s written down.

Attributed to: Frank Marshall,Former VP of Engineering, CISCO

Simple, clear purpose and principles give rise to complex intelligent behavior. Complex rules and regulations give rise to simple stupid behavior

Attributed to: Dee Hock, Founder and former CEO Visa

Credit Card Association

Page 38: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 38

References

Barry Boehm & Richard Turner, Balancing Agility and Discipline: A Guide for the Perplexed (Addison-Wesley Professional, 2003) Barry Boehm & Victor Basili, “Software Defect Reduction Top-10 List”. Available at National Science Foundation, Center for Empirically Based Software Engineering. http://www.cebase.orgEsther Derby and Diana Larsen, Agile Retrospectives: Making Good Teams Great (Pragmatic Bookshelf, 2006)Gregory Githens, “Rolling Wave Project Planning,” PMI Symposia Proceedings '98NPD Track. Available at: http://www.catalystpm.com/NP02.PDF

Page 39: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 39

References

Eliyahu M. Goldratt & Jeff Cox The Goal: A Process of Ongoing Improvement (North River Press, 3rd Edition, 2004) Ronald Mascitelli, Building a Project-Driven Enterprise: How to Slash Waste and Boost Profits Through Lean Project Management (Project Management Institute, 2002)Steve McConnell, Software Project Survival Guide (Microsoft Press, 1998)Mary and Tom Poppendieck, Lean Software Development: An Agile Toolkit for Software Development Managers (Addison Wesley, 2003) Standish Group, “Extreme CHAOS”, 2001 Available at: http://www.standishgroup.com/sample_research/PDFpages/extreme_chaos.pdf

Page 40: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

TrainingConsultingTools

[email protected]+1 (425) 636-0100

Page 41: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Extra Material

Page 42: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 42

One size doesn’t fit all

Software engineering is a multi-faceted discipline using many techniques and tools A one size fits all approach is flawed

Doesn’t fit all end-product goalsDoesn’t fit all product-lifecycle goalsDoesn’t fit all project goals

Page 43: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 43

Plan-Driven May Be Appropriate For Your Project

15

1030

50

7090

5030

10

310

30100

300

40

30

20

10

0

15

20

25

30

35

comfortdiscretionary funds

essential funds

single life

many lives

Personnel

Corporate Culture

Product Impact

Senior %Junior %

Requirements Change% Change per month

% Enjoy/thrive on chaos,entrepreneurial spiritTeam Size

Number of staff

Loss due to defects

More Agile Less Agile

Team DispersionTime, distance, cultural

high

medium

Adapted from Barry Boehm and Richard Turner, Balancing Agility and Discipline

Page 44: Applying Lean Concepts to Plan-Driven Projects · Lean applies only to “Agile” is a myth ... Rolling Wave Planning A progressive detailing of the project plan by providing the

Software Development Best Practices 44

Create Realistic Schedules

Software Project

Feedback

Effort Estimate

Corrective Activities

• Change Requests• Defects

• Risks• Issues

Planned Activities• Deliverables• Quality• Rework

• PM Practices• Technical Practices• Staff Development

Schedule

Availability• Professional

Development• Meetings

• PTO• Other

Projects

Capacity• Staffing • Individual

Productivity

Schedule Estimate