More Related Content
Similar to The SAFe Way to Lean Software Development for AgileNCR - April 5, 2014 (20)
The SAFe Way to Lean Software Development for AgileNCR - April 5, 2014
- 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
colin.oneill@scaledagile.com
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:
colin.oneill@scaledagile.com
! 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:
drew.jemilo@scaledagile.com
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
- 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
- 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...”
- 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
ü
VALUE
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
- 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
- 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?