Lean Software Development Values
The Lean software development culture repeats many of the principles that have been described above. At the heart of all of these principles is the need to use your time to only deliver value. You should be aware at every moment of your day, how your current activity delivers value to the Company and its customers.
Eliminate Waste
Everything not adding value to the customer is considered to be waste:
- unnecessary code and functionality
- delay in the software development process
- unclear requirements
- bureaucracy
- slow internal communication
We call this “friction”. Time spent eliminating sources of friction multiplies the amount of value you can deliver with the rest of your time.
Amplify Learning
By following Refactor Continuously and other agile practices you ensure that the results of your learning are made obvious and accessible to the rest of the team. When you radiate your learning, the whole team benefits. This increases the value of your learning.
Decide as Late as Possible
See also Decide at the Last Responsible Moment
Deliver as Fast as Possible
See also Release Early, Release Often
Empower the team
“Find good people and let them do their own job.”
See also Make Realistic Plans.
Build integrity in
The customer needs to have an overall experience of the System — this is the so called perceived integrity: how it is being advertised, delivered, deployed, accessed, how intuitive its use is, price and how well it solves problems.
See the whole
Software systems nowadays are not simply the sum of their parts, but also the product of their interactions. Defects in software tend to accumulate during the development process — by decomposing the big tasks into smaller tasks, and by standardizing different stages of development, the root causes of defects should be found and eliminated.