Page 1
1
1 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved. © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. Scaled Agile Framework ® is a trademark of Leffingwell, LLC.
The SAFe Way to Lean Software Development
Better Software Makes the World a Better Place Presented at AgileNCR April 5, 2014
V7.0
Colin O’Neill, President of Asia Pacific Operations [email protected]
2 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
Your Presenter - Colin O’Neill
! Co-founder, Scaled Agile, Inc.
! SAFe Principal Contributor and Thought Leader
! Lean Value Stream Mapping enthusiast
! Worked with some of the world’s largest companies including John Deere, Walmart, and Honeywell
! Email: [email protected]
! Creator of SAFe
! Founder/CEO Requisite, Inc. Makers of RequisitePro
! Senior VP Rational Software Responsible for Rational Unified Process (RUP) & Promulgation of UML
! Founder/CEO RELA, Inc. Colorado MEDtech
! Co-founder, Scaled Agile, Inc.
! SAFe Principal Contributor and Thought Leader
! Worked with companies ranging from Lean startups to $35B global enterprises
! Agile Center of Excellence and Agile Portfolio Management enthusiast
! Email: [email protected]
3 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved. 4 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
Lean and SAFe
5 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
Lean Thinking Provides the Tools We Need
Respect for People
Product Development
Flow Kaizen
6 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
Goal: Speed, Value, Quality
THE GOAL: ! Sustainably shortest lead time ! Best quality and value to
people and society ! Most customer delight, lowest
cost, high morale, safety
All we are doing is looking at the timeline, from the moment the customer gives us an order to the point where we collect the cash. And we are reducing the time line by reducing the non-value added wastes.
Taiichi Ohno
We need to figure out a way to deliver software so fast that our customers don’t have time to change their minds.
Mary Poppendieck
Most software problems will exhibit themselves as a delay.
Al Shalloway
Sustainably shortest lead time
Respect for People
Product Development
Flow Kaizen
Page 2
2
7 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved. 8 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
Foundation: Leadership
! Take responsibility for Lean|Agile success
! Understand and teach Lean|Agile behaviors
! Are trained in practices and tools of continuous improvement
! Teach problem solving and corrective action
! See with their own eyes. “No useful improvement was ever invented at a desk”
! Develop people. People develop solutions.
Respect for People
Product Development
Flow Kaizen
LEADERSHIP: ! Management must be
trained in lean thinking ! Bases decisions on this
long term philosophy
Lean Thinking Manager-Teachers
9 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved. 10 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
Respect for People
! Develop individuals and teams; they build products
! Empower teams to continuously improve
! Build partnerships based on trust and mutual respect
! Your customer is whoever consumes your work
! Don’t trouble them
! Don't overload them
! Don't make them wait
! Don't impose wishful thinking
! Don't force people to do wasteful work
! Equip your teams with problem-solving tools
! Form long-term relationships based on trust
Respect for People
Product Development
Flow Kaizen
People do all the work
PEOPLE:
11 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved. 12 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
Kaizen
! A constant sense of danger
! Small, steady improvements
! Consider all data carefully, then implement change rapidly
! Reflect at key milestones to identify and improve shortcomings
! Use tools like retrospectives, root cause analysis, and value stream mapping
! Protect the knowledge base by developing stable personnel and careful succession systems
“We can do better”
Respect for People
Product Development
Flow Kaizen
BECOME RELENTLESS IN: ! Reflection ! Continuous improvement as
an enterprise value
Page 3
3
13 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved. 14 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
Lean and Product Development Flow
Todays’ development processes typically deliver information asynchronously in large batches. Flow-based processes deliver information in a regular cadence of small batches.
- Don Reinertsen
15 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
Product Development Flow
1. Take an economic view
2. Actively manage queues
3. Understand and exploit variability
4. Reduce batch sizes
5. Apply WIP constraints
6. Control flow under uncertainty: cadence and synchronization
7. Get feedback as fast as possible
8. Decentralize control Reinertsen, Don. Principles of Product Development Flow
Respect for People
Product Development
Flow Kaizen
Principles
16 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
#1 – Take an Economic View
Base your decisions on economics
! Develop an economic framework for decision making
! Empower local decision making
! Do not consider money already spent
! Understand the full value chain
! Sequence jobs for maximum benefit
! If you only quantify one thing, quantify the cost of delay
Lead Time Cost
Value Development Expense
Risk
Reinertsen, Don. Principles of Product Development Flow
Understanding economics requires understanding of the interaction amongst
multiple variables
17 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved. 18 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
#2 – Actively Manage Queues
! Understand Little’s Law
(Avg wait time = avg queue length / avg processing rate) ! Faster processing time
decreases wait ! Control wait times by controlling
queue lengths
Reinertsen, Don. Principles of Product Development Flow
Email from a client service organization: “Thank you for contacting us. We are experiencing increased volumes and apologize in advance for
the delay. Our goal is to contact you within...”
Page 4
4
19 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved. 20 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
#3 – Understand and Exploit Variability
Risk-taking is central to value creation
! You cannot add value without adding variability
! Development variability can increase economic value
! Buffers trade money and time for variability reduction
! Schedule buffers convert uncertain earliness to certain lateness
! Planning and requirements forecasting are exponentially easier in short-term horizons.
By investing relatively more in beneficial areas and abandoning wasteful ones, the enterprise maximizes economic benefit
Reinertsen, Don. Principles of Product Development Flow
E P I C
E P I C
ü
VA
LU
E
21 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved. 22 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
#4 – Reduce Batch Size
Small batches go through the system faster, with lower variability
! Large batch sizes increase variability
! High utilization increases variability ! Severe project slippage is the most
likely result
! Reduces cycle time; faster feedback
! Decreases variability and risk ! Most important batch is the
transport (handoff) batch ! Proximity (co-location) enables
small batch size ! Good infrastructure enables
small batches
Fig. Source: Poppendieck. Implementing Lean Software Development Reinertsen, Don. Principles of Product Development Flow
23 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved. 24 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
#5 – Apply WIP Constraints
WIP constraints force capacity matching, increases flow
When WIP and utilization become too high, you will see a sudden and catastrophic reduction in throughput!
Apply WIP constraints Force capacity matching Accelerate delivery
Timebox Prevent uncontrolled expansion of work Make waiting times predictable
Purge lower value projects when WIP is too high
Increase efficiency and throughput of remaining work
Constrain local WIP pools Constrain global WIP pools Make WIP continuously visible
1) Understand 2) take action
Reinertsen, Don. Principles of Product Development Flow
Page 5
5
25 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved. 26 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
#6 – Control Flow Under Uncertainty
! Transforms unpredictable events into predictable events
! Delivering on cadence requires scope or capacity margin
! Makes waiting times predictable – If you can’t predict delivery,
existing programs become “feature magnets”
! Helps manage load by limiting available time
! Synchronization causes multiple events to happen at the same time
! Synch events facilitate cross functional tradeoffs of people, resources and scope
! Periodic resynchronization limits variance to a single time interval
! Regular, system wide integration provides higher fidelity tests and objective solution assessment
Reinertsen, Don. Principles of Product Development Flow
Cadence and Synchronization are useful Lean tools
27 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved. 28 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
#7 – Get Feedback As Fast As Possible
! Truncates unsuccessful paths quickly, reducing the cost of failure in risk taking
! Improves the efficiency of learning by reducing the time between cause and effect
! Facilitated by small batch sizes
! Requires increased investment in development environment to extract smaller signals
! Local feedback loops are inherently faster than global feedback loops; assists decision making
Fast feedback manages risk and facilitates innovation
Reinertsen, Don. Principles of Product Development Flow
29 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved. 30 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
#8 – Decentralize Control
! Centralize control for decisions that:
– Are infrequent – Can be applied globally; have significant economies of
scale
! Decentralize control for all others:
– Time critical – Local decisions have better local information Inefficiency of decentralization costs less than the value of faster response time
! Control the economic logic behind a decision
– Set the framework, empower others to make the decisions
Reinertsen, Don. Principles of Product Development Flow
Use centralized and decentralized control where appropriate
Page 6
6
31 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved. 32 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
Suggested Readings
! Reinertsen, Don. 2009. The Principles of Product Development Flow: Second Generation Lean Product Development.
! The SAFe Way to Lean Software Development http://scaledagileframework.com/the-safe-way-to-lean-software-development/
! Leffingwell, Dean. 2011. Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise.
! Kim, Gene, Behr, Kevin, Spafford, George. 2013. The Phoenix Project. A Novel about IT, DevOps, and Helping Your Business Win.
33 © 2008 - 2014 Scaled Agile, Inc. and Leffingwell, LLC. All rights reserved.
Questions?