What is Lean software
Lean software development refers to a type
of software development that matures the
organization to where it needs to be to
reliably produces what the customer
wants, so quickly that it disables the
customer from changing their minds. Lean
uses seven key principles.
These principles are:
Empower the Team
Build Integrity In
See the Whole
Anything considered not of value from the
customers perspective is waste. To
eliminate waste, you must first figure out
what waste is and how to effectively
eliminate it. The seven wastes of software
development are: Partially Done Work,
Extra Features, Extra Processes Task
Switching, Waiting, Handoffs and Defects.
In development one must consider what to
do, see if it works, learn from the results,
and try again. Learning from past
mistakes helps you outline boundaries
and overcome problems.
When using the Lean development Methodology it
is key to hold back from making unchangeable
decisions until they can be based off of facts not
predictions. This way you keep your options
open for as long as possible.
The goal is to make the customer take as
long as possible to make decisions, so
that that decisions can be made off of the
best possible information. Once they have
made their decision you then try to create
that value as fast as possible. This should
happen in one smooth flowing response.
Empower The Team
Those who do the work in a Lean
organization make the important
decisions due to the rapid flow of a Lean
development. Management supplies
training, expertise, and leadership so that
the right decisions are usually correct.
Built Integrity In
There are two types of integrity;
perceived integrity and conceptual
integrity. Perceived integrity is the
experience the customer has with the
system. Conceptual integrity is when
all the parts of the system work
together smoothly as a whole.
See The Whole
Lean development encourages
collaboration of all the work to avoid
management problems. By making
people accountable for what they
change and control the task will have
Eliminating waste helps speed up the process,
save resources and the overall efficiency.
Helps deliver the product early.
Empowerment of the team helps decision
making between the team, which in turn,
motivates the team.
The project relies heavily on the team working
together and commitment to the project.
Customers need to know what they need and
can't change their minds once they make a
You require a team who's abilities complement