get started with lean software development by andreas hägglund
TRANSCRIPT
11K
@ahab1972 © Andreas Hägglund 11K
Andreas Hägglund I run projects and make organizations more efficient
Get Started With Lean Software Development
11K
slideshare.net/andreashagglund
@ahab1972
andreashagglund
11K
@ahab1972 © Andreas Hägglund 11K
Get started with Lean Software Development
platinum sponsor
gold sponsor
silver sponsors
bronze sponsors
11K
11K
@ahab1972 © Andreas Hägglund 11K © Andreas Hägglund 11K
Lean & Agile Origins
1990 1996 2003
11K
@ahab1972 © Andreas Hägglund 11K
Lean Management
Lean is about quickly deliver customer value
from concept to cash, by minimizing waste.
Shigeo Shingo: “It’s only the last turn of
the bolt that tightens it – the rest is just
movement”
11K
@ahab1972 © Andreas Hägglund 11K
Optimize the Whole
Principles of Lean Management
1. Create Long Term Business Value
2. Continuous Learning / Improvements
3. Reduce Waste
4. Increase Flow
5. Respect
Respect
Re
du
ce
Wa
ste
Inc
rea
se
Flo
w
Co
nti
no
us
Imp
rove
me
ne
t
Value
“A bad system will beat a
good person every time”
- W. Edwards Deming
11K
@ahab1972 © Andreas Hägglund 11K
1. Eliminate Waste
2. Amplify Learning
3. Decide as Late as Possible
4. Deliver as Fast as Possible
5. Empower the Team
6. Build Integrity In
7. See the Whole
Lean Software Development
11K
@ahab1972 © Andreas Hägglund 11K
1 – Eliminate Waste (uselessness)
1. Defects
2. Overproduction – Extra Features
3. Transportation - Handoffs
4. Waiting - Delays
5. Inventory - WIP
6. Motion – Task Switching
7. Processing – Unneeded Processes (8. Unused Talent/Skill)
11K
11K
@ahab1972 © Andreas Hägglund 11K
Don’t build features
that nobody needs right
now
Don’t write more spec than you can code
Don’t write more code than you can test
Don’t test more code than you
can deploy
4 Simple Ways of Reducing Waste
11K
@ahab1972 © Andreas Hägglund 11K
11K
@ahab1972 © Andreas Hägglund 11K
1. Visualize the Workflow
2. Limit Work-in-Progress (WIP)
3. Measure and Manage Flow
4. Make Process Policies Explicit
5. Use Models to Evaluate Improvement
Opportunities
“Pull” Reduces WIP & Delays
11K
@ahab1972 © Andreas Hägglund 11K
Continous Improvement
Waiting
Extra Features
Wrong Features
Paperwork
Bugs
Work In Progress
Task Switching
11K
@ahab1972 © Andreas Hägglund 11K
See the waste...
Suggest feature
Specify feature
Develop feature
Test feature
Deploy feature
Use/pay feature
11K
@ahab1972 © Andreas Hägglund 11K
... And eliminate it!
See the waste...
Suggest feature
Specify feature
Develop feature
Test feature
Deploy feature
Use/pay feature
11K
@ahab1972 © Andreas Hägglund 11K
... And eliminate it!
See the waste...
Suggest feature
Specify feature
Develop feature
Test feature
Deploy feature
Use/pay feature
1 h
ou
r
120 h
ou
rs
16
ho
urs
24 h
ou
rs
16
ho
urs
40
ho
urs
4 h
ou
rs
24
ho
urs
1 h
ou
r
24
ho
urs
11K
@ahab1972 © Andreas Hägglund 11K
... And eliminate it!
But also minimize unevenness and overburden
See the waste...
Suggest feature
Specify feature
Develop feature
Test feature
Deploy feature
Use/pay feature
1 h
ou
r
120 h
ou
rs
16
ho
urs
24 h
ou
rs
16
ho
urs
40
ho
urs
4 h
ou
rs
24
ho
urs
1 h
ou
r
24
ho
urs
38 hours
232 hours
----------------
16% Efficiency
11K
@ahab1972 © Andreas Hägglund 11K
2 - Amplify Learning
11K
@ahab1972 © Andreas Hägglund 11K
Information Radiators Visualizes Work
11K
@ahab1972 © Andreas Hägglund 11K
If you could have only one information radiator;
1. What would it show?
2. Where would you put it?
3. When would you study it?
Radiators Increases learnings
Todo Dev Test Done
11K
@ahab1972 © Andreas Hägglund 11K
Do you need to set the entire architecture upfront?
Do you need to decide on all the requirements?
What do you really, really need to decide up front?
3 - Decide As Late As Possible
11K
@ahab1972 © Andreas Hägglund 11K
1 person doing
Task Switching
4 – Deliver As Fast As Possible
4 people focusing
on 4 different things
4 people focusing
on 1 thing
11K
@ahab1972 © Andreas Hägglund 11K
Work in Progress Through-Put
11K
@ahab1972 © Andreas Hägglund 11K
Through-Put ROI
Time
Cashflow
1st Release
Inv
estm
en
t
Pa
yb
ack
Profit
Loss
11K
@ahab1972 © Andreas Hägglund 11K
5 - Empower the Team
11K
@ahab1972 © Andreas Hägglund 11K
No One Ever Washes a Rented Car
11K
@ahab1972 © Andreas Hägglund 11K
6 - Build Integrity In
0% Flaws
0% Defects
0% Decay
Simplicity
Fast Feedback
Refactoring
Testing
11K
@ahab1972 © Andreas Hägglund 11K
7 - See The Whole
5 Why
11K
@ahab1972 © Andreas Hägglund 11K © Andreas Hägglund 11K
How To Get Started
Personal Level
1. Do the Gemba Walk
2. Limit Personal WIP
3. Visualize Work
4. Ask the 5 Why
5. Take time to reflect on
your process
Team Level
1. Map the value stream
2. Eliminate delays
3. Eliminate bottlenecks
4. Limit team WIP
5. Get your own car!
11K
@ahab1972 © Andreas Hägglund 11K
1. Map your project stream, from idea to usage
2. List work time + idle time
3. Calculate Cycle Efficiency
4. Identify ways of increasing efficiency
Value Stream Mapping
Suggest feature
Specify feature
Develop feature
Test feature
Deploy feature
Use/pay feature
1 h
ou
r
12
0 h
ou
rs
16
ho
urs
24
ho
urs
16
ho
urs
40
ho
urs
4 h
ou
rs
24 h
ou
rs
1 h
ou
r
24
ho
urs
38 hours
232 hours
----------------
16% Efficiency
11K
@ahab1972 © Andreas Hägglund 11K
Thank you
11K
slideshare.net/andreashagglund
@ahab1972
andreashagglund
11K
@ahab1972 © Andreas Hägglund 11K
Andon – Signaling System
Kanban – Sign/card
Jidoka – Autonomation (detecting
abnormalities)
Kaizen - (continuous) change for
better
Muda – Uselessness (7 wastes)
Mura – Uneveness/irregularity
Muri – Overburden
Genba – The real place
Lean Dictionary