Lean Software Development was originally outlined in the book “Lean Software Development”, by Mary and Tom Poppendieck. The book takes the principles from lean manufacturing and applies them to software development. Increasingly organizations are using Lean Software Development, and many of the principles which it describes have been accepted within the Agile development community.
One of the key principles of lean is “eliminate waste”. You can significantly improve your software simply by learning how to identify waste and eliminate it, to enjoy a better and cleaner process.
Follow these clues to recognize the waste:
If your software has unnecessary functionalities or just a few people use it
- If your code has files that are not used or you have some code partially done
- If you have development processes that are causing delays and bottlenecks
- If you are waiting for other teams or process
- If you have a slow internal communication
- If you have unclear requirements and you need several meetings to clarify them
- If your code has low quality
- If your organization has a lot bureaucracy
- If you are not using the knowledge that is available within team members
- Defects or bugs in your software
To put it simply, every single thing that does not add value to the customer is waste.
Sometimes we need to use certain techniques to analyze the current state of our project in order to identify waste. One that is very popular is value stream mapping.
After you identify the waste, you need to analyze how to reduce its impact and eliminate it progressively. This will not only improve your development processes, but also the quality of your software.