5. 7 Wastes of Software Development
“Taiichi Ohno” brought the focus on the waste
elimination in mid-1900’s through Toyota
Production System (TPS).
At the heart of lean software development is
the same principle: eliminate waste. In order to
eliminate waste, you must first be able to
recognize it.
6. 7 Wastes of Software Development
The 7 Wastes of Software :
• Waste #1 - Partially Done Work
• Waste #2 - Extra Features
• Waste #3 - Relearning
• Waste #4 - Handoffs
• Waste #5 - Delays
• Waste #6 - Task Switching
• Waste #7 – Defects
Waste = (Impact of Defect) X (Time defect lies Un-detected)
i.e. The impact of a single defect as constant and the amount of waste created by
that defect increases with the amount of time that it lies undetected.
8. B
S
Hi Guys. My
name is
Bunny.
I am working
with ABCD2
solutions and
stays in
Shivaji Nagar
Hello All. My
name is Sunny.
I am working
with ABCD2
solutions and
stays in
Magarpatta
City
11. Waste #1 - Partially Done Work
• Uncoded Documentation
• Unsynchronized Code
• Untested Code
• Undeployed Code
Here it is…
B SAh k, Got U…
But what these
partial wastes
are.
Isn't
everything
partially
done before
it's finished?
Yes, but HIGH
AMOUNTS of
partial done work
that’s the problem
Here it is…
14. Waste #2 - Extra Features
• PO "pet feature" that he/she insists to include in an iteration.
• Gold-Plating
• RDD (Resume Driven Development… latest tech)
• DDD (Developers Driven Development… “just know it’ll be useful”)
• SGE (Sounds Good to Everyone… but never used)
BS
I cannot say NO to
PO for the extra
feature he is
asking to include
in an iteration
But you can do
short feedback
cycle with
frequent product
demos.
That’s good
idea. Will plan
a frequent
demo
With regular
demo, you can
take care of
below issue
With regular
demo, you can
take care of
below issues
17. Waste #3 - Relearning
• Poor knowledge capture will quite often lead to rediscovery of
that same knowledge.
• Not using existing knowledge – go it alone, or unaware.
• Poorly written or un/over documented code.
• Task switching
B S
Learning is a
good thing. So
why is RE-
learning a waste? True, but the more
times we repeat the
same learning the
more waste we create.
I didn’t
get you
Let me explain
Let me try to
explain
20. Waste #4 - Handoffs
• First, simply try to reduce the number of handoffs.
• Co-located.
• Collaboration and Interactions.
• Use cross-functional teams.
• Appropriately document knowledge where necessary. Use wiki.
• Quicken your feedback loops. Shorten your iterations. Close the gaps.
I've done my part,
now it's time for
my colleague to do
theirs
B S
But You haven’t
provided any
document reference
or repository to
them
Dear, you need to
collaborate with each
other. I agree if we could
have lesser hierarchy,
then handoffs will also be
less.
But will
recommend this
Let’s suggest
the below to
management
How many times
should I do
handoffs. This is
RIDICULOUS…#$
&%!
21. Waste #4 - Handoffs
Per Industry
● 25% of knowledge left after 2 handoffs
● 12% of knowledge left after 3 handoffs
● 6% of knowledge left after 4 handoffs
● 3% of knowledge left after 5 handoffs
22. Yuppie … They
both passed the exam.
It’s celebration time.
Let’s go to near by place
24. Waste #5 - Delays
• Lengthy requirements documentation phases.
• Key individual for Review or approval processes not available.
• Required skills people unavailable at the start of project.
• Late start of development work after the requirements gathering activities.
• Increased work in progress.
• Gaps between the Dev and QA.
• Gaps between QA and deployment.
• Waiting for cross team dependencies.
S B
That’s good. But I just
noticed that for the
critical feature you
have a delay.
Yehh…Most of
my features are
on track and no
delay
Yes, there is a delay in
the START of a value-
add feature which took
LONGER then it should.
What
#%&^??
Oh That one. We
got late approval
from customer to
start it
Need to improve on
project governance,
planning, execution and
control to reduce below
such issues
We need to
improve on
planning to reduce
below such issues
27. Waste #6 – Task Switching
• Interruptions
• Kills my Deep Thinking
• Break flow
• Require atleast 15 mins to recover
• 4 interruptions : 1 h wasted
• 32 interruptions : 1 day wasted
● If you must work on multiple projects, work on one
at a time.
● Rotation of support people.
● Eliminate unimportant work and interruptions! If it
isn't delivering value, stop doing it!
● Ensure that all of the knowledge necessary to
complete assigned work is in the right hands.
S
So sad It will
surely impact
the cycle time of
the feature you
were working
But what you can do
here is…
You must
discuss the
below with
your manager
B
I spent 3 days to
understand the design
and by the time ready
to code, manager moved
me to another feature
Yes, It is a deadliest waste with
big impact
See I started differentiating
wastes
Yes, It is a deadliest
waste with big impact
See I started
differentiating wastes ;)
28. There is an amazing zoo
in the town. Let’s go
sometime next week
30. Waste #7 – Defects
• Automated regression test suite.
• Test-Driven Development.
• Run Sonar as and when code check-in.
• Technical Debt to be under control. No critical/major violations.
• Think of "-ilities," - Scalability, Operability, Portability, Usability, and Securitility...err
um, security, etc.
• Robust continuous Integrated environment to run integrative flows.
• Similarity of continuous Integrated environment to your production env.
BS
Hurray !!. I have
zero defects on
the User story
worked on
Bravo !! You developed
a great quality code.
Let’s hope UAT goes
smooth else any defect
there will cost much
higher.
That’s TRUE… I
know
Would Recommend you to include
this practices
But would
Recommend you to
include this engg
practices
31. They went for a movie.
Bunny was very excited
to share some of waste
elimination tips he
adopted and getting an
amazing results
33. Partially Done
Work
• Prioritized the
business value
feature with
customer and
worked on it first.
Extra Features
• Frequent feature
demo as and when
ready.
Relearning
• Created knowledge
base, quick guide.
Eg Wiki.
• Expert help when
stuck.
Handoffs
• Developer and
tester in same
team.
• Co-located.
• Self-Organized and
help each other.
Delays
• Team formed with
Right skill sets
people.
• F2F communication.
• Focus on value
realization to the
customer.
Task Switching
• Regular KT session.
• Rotation of team
member for the
support activity.
Defect
• E2e integrated testing
in early stages.
• Continuous
Integration.
• Automation
regression suite.
Some Waste Elimination Tips