Lean software development also known as LSD is a translation of the lean IT principles and manufacturing practices in the software development realm. It was adapted from the production system or Toyota, which became the basis of the different lean approaches being practiced now in western private and public sectors.
The terminology lean software development has its roots from the book Lean Software Development, penned and authored by renowned writer Mary and Tom Poppendieck. The book offered traditional lean ideas and concepts in a much rather modified format. It also comes with a set of some 22 tools and compares the various tools to popular agile practices. The couple’s involvement in the Agile software development community including talks at popular conferences has evolved to the creation of concepts which are now widely embraced among the Agile community members. The lean manufacturing is a process management ideology that transformed the whole approach in product developments.
The lean software development is the brainchild of Tom Poppenieck and Mary Poppenieck. It translates lean manufacturing concepts to software innovation and development. The Tom Poppenieck and Mary Poppenieck books are featured in various trainings, agile conferences, seminars and communities. This has resulted in lean software development evolving to become widely accepted in the agile communities.
There are seven key principles to lean software development. They include the following:
- Create Knowledge
- Get Rid of Waste
- Establish High Quality
- Defer Commitments
- Deliver Fast
- Respect Individuals
- Optimize The Whole
For starters, software development is a consistent learning curve that is often based on iterations when writing codes. Software designing is a critical problem solving process that involves the developers writing the code and what they have learned overall. The software value is assessed in fitness for use and not in conformity to any of its requirements.
Different ideas can come about during the writing and building of codes, instead of just adding more documentation or performing detailed planning. Presenting screens to the end users and generating their input, all with the effective application of user requirements, simplify the whole process. The presence of defects may be prevented by performing tests as soon as the final code is prepared and written.
The entire process is expedited with the help of brief iteration cycles. Every single one is coupled with integration testing as well as refactoring. They even increase the feedback with the help of brief feedback sessions with clients determining the present level of development as well as adjusting all of their efforts for future improvements. The advantage of having brief iteration cycles is that much of the work will be spared if one cycle is found to be defective or non-applicable to the entire project.
For the duration of the brief sessions both the development team and the customer representatives learn further about the existing problem and determine probable solutions for better development. For the customers to better comprehend their needs, all based on the existent outcomes of development efforts, the developers work to decipher exactly how to better meet those needs. One more idea is the customer set based development which is in the communication and learning process with a customer is set-based development – this concentrates on communicating the constraints of the future solution and not the possible solutions, hence promoting the birth of the solution via effective communications with the customer. Always, it has been said that the effective lean software development starts and ends with effective communication, the absence of which can prove fatal to the business and the overall welfare of the customers.
Lean software development requires that lean thinking must be understood well by each member of the project before the same is implemented in real-life situation. Members of the lean software development team are expected “think big, act small; fail fast but learn rapidly”.