the impact of pace for amsterdamst-spider.nl/wiki/images/f/f4/20110928-mary-poppendieck.pdfproduct...
TRANSCRIPT
l e a nsoftware development
www.poppendieck.comMary [email protected]@poppendieck.com
Lean Software DevelopmentFaster – Better – Cheaper
l e a n
Characteristics of“Lean” Companies:
1. They don’t call themselves “Lean” “The --------- Way”
2. Customer Obsession Stay Profitable to Stay in Business
3. Operational Discipline Things. Just. Work.
4. Highly Engaged People The Law of Reciprocity
5. System-Level Incentives Long Term Thinking
6. Highly Successful Business
More Value for Customers
September 11 Copyright©2011 Poppendieck.LLC2
l e a n
Principles of Lean Product Development
1. Optimize the Whole
2. Eliminate Waste
3. Build Quality In
4. Learn Constantly
5. Deliver Fast
6. Keep Getting Better
7. Engage Everyone
Speed
Quality Low Cost
September 11 Copyright©2006 Poppendieck.LLC3
l e a nsoftware development
www.poppendieck.comMary [email protected]@poppendieck.com
The Impact of the Pace of DeliveryThe Fastest Learner Wins
l e a n
The Fastest Learner Wins
September 11 Copyright©2011 Poppendieck.LLC5
Observe Orient
DecideAct
OODA Loop: Developed by USAF strategist John Boyd
but the one that is the most
responsive to change.”nor the most intelligent,
“It is not the strongest of a species that survives,
– Charles Darwin
l e a n
Release Cycle6 Months
Development CycleWhen in your release cycle do you try to freeze code and test the system? What percent of the release cycle remains for this “hardening”?
Typical: 30%
Sometimes: 50%
Top Companies: <10%
Release Cycle
September 11 Copyright©2011 Poppendieck.LLC6
Governance ModelWhen in your release cycle do you try to choose the features for a release?
Thanks to Kent Beck for his ideas on cadence.
l e a n
Total Cycle Time
Quick & Dirty Value Stream Map:
Release Cycle6 Months
September 11 Copyright©2011 Poppendieck.LLC7
Release CycleRelease Cycle
HardenSelect
Features UATDevelopFeatures
Request Features
Release Cycle
Total Cycle TimeValue-Added Time
Average Start EndStart
Request Features
Observe Orient
DecideAct
Business Model: Software installed at customer site Support each release Avoid releases
l e a n
Release CycleQuarterly
Hardening must be 2 weeks.Typically: 2-4 week iterationsCode from each iteration goes to integration testingAutomated integration testing becomes necessary
Observe Orient
DecideAct
September 11 Copyright©2011 Poppendieck.LLC8
The Big Bang becomes obsolete
l e a n
Specification by Example
For each feature:1. Design
a. Specify: Discuss and agree onexamples of intended behavior.
b. Automate: Put the examples in a framework such as cucumber.
2. Implementa. Develop: Write feature code using TDD.b. Refactor: Clean up the code to keep it simple.c. Regression: Check that all completed examples work.
3. Deploya. Feedback: Determine value to stakeholders ASAP.September 11 Copyright©2011 Poppendieck.LLC9
l e a n
Release CycleQuarterly
Business issues: How to price and sell releases? Which releases to support? Supporting multiple branches
can create a support nightmare Public vs. Private releases?Governance: Teams stay with a system – there isn’t time to change There isn’t time for variance-based (project) metrics Success is measured based on customer satisfaction,
revenue improvement, etc.
Observe Orient
DecideAct
September 11 Copyright©2011 Poppendieck.LLC10
l e a n
Basic Disciplines
1. Low Dependency Architecture2. Coding Standards3. Source Control / Configuration Mgmt4. Automated Specification Examples5. Automated Unit Tests6. STOP if the tests don’t pass7. Design/Code Reviews8. Refactoring is a Habit9. Continuous Integration10.System Testing / UAT – early & often 11.Customer Validation12.Escaped Defect Root Cause Analysis
September 11 Copyright©2011 Poppendieck.LLC11
l e a n
Release CycleMonthly
Now you need:Cross Functional Team VisualizationShort Daily MeetingsSBE/TDD working!Hardening 3 days
Business EnvironmentWorks best for:Software as a Service (SaasS) Internal Software
Observe Orient
DecideAct
September 11 Copyright©2011 Poppendieck.LLC12
l e a nRe
port
sM
etad
ata
Repo
rts
Met
adat
a
BIN
ARI
S
A Typical Deployment Pipeline
Testers
Self-ServiceDeployments
SourceCode & Tests
UAT StageConfigure Environment
Deploy BinariesSmoke Test
Manual Testing
Repo
rts
Met
adat
a
Capacity StageConfigure Environment
Deploy BinariesSmoke Test
Run Capacity Tests
OperationsPush-Button
Releases
Testers
ProductionConfigure Environment
Deploy BinariesSmoke Test
Acceptance StageConfigure Environment
Deploy BinariesSmoke Test
Run Acceptance Tests
Commit StageCompile
Commit TestsAssembly
Code Analysis
BIN
ARI
S
VERSION CONTROL
ARTIFACT REPOSITORY
Environment& ApplicationConfiguration
Scripts
BIN
ARI
S
Develop StageDesign
Code & ScriptUnit TestRefactor
Repo
rts
Met
adat
a
September 11 Copyright©2011 Poppendieck.LLC13
l e a n
Release CycleWeekly/Daily/Continuous
Kanban works well
Iterations become irrelevant
High discipline is fundamental
Estimating is largely unnecessaryRapid cycles of learning drive portfolio decisions
Observe Orient
DecideAct
September 11 Copyright©2011 Poppendieck.LLC14
DevOps:Test & deployment automation is essential
Business Issues: Increasingly common in startups
The team is everyone.
l e a n
The Lean Startup
September 11 Copyright©2011 Poppendieck.LLC15
†https://elearning.industriallogic.com/gh/submit?Action=PageAction&album=blog2009&path=blog2009/2011/agileVsLeanStartup&devLanguage=Java
Agile Vs. Lean Startup Adapted from similar chart posted by Joshua Kerievsky, Industrial Logic Blog† August, 2011
AgileProduct RoadmapProduct VisionRelease PlanOn-Site Customer
Product Owner
BacklogUser StoryAcceptance TestDefinition of Done
Iteration ReviewIteration
Continuous IntegrationCustomer Feedback
CSM (Certified Scrum Master)
Lean StartupBusiness Model CanvasProduct Market FitMinimal Viable Product“Get Out Of The Building”
Entrepreneur
“To Learn” ListHypothesisSplit TestValidated Learning
Persevere or PivotBuild-Measure-Learn Loop
Continuous Deployment Cohort-based Metrics
CSM (Customer Success Manager)
l e a nsoftware development
www.poppendieck.comMary [email protected]@poppendieck.com
Thank You!More Information: www.poppendieck.com