The concept of lean software development originated in the manufacturing sector. Originating in Japan and utilized specifically in the Toyota manufacturing process the idea is to eliminate waste of any and all kinds.
Now that same bank of principals has begun to be applied to software development. Applying lean practices in software development, however, poses several challenges. For example, due to the sequential nature of lean software development bugs can go undetected for a long time.
To solve this, agile change management practices were merged with lean software development. Agile practices include testing while in the course of development, continuous integration of small codes, working in iterations and have cross-functional teams working on the development of a software.
The Rise of Agile Change Management and Lean Software Development
The term ”lean” was first used as the English word (translated from Japanese) to describe the approach taken by Toyota to speed up vehicle manufacture while retaining quality control. . It was introduced by James Womack, Daniel Roos and Daniel Jones in their book “The Machine that Changed the World: The Story of Lean Production”. A year later, after noting the application of the concept in software development, the term was used as the title for a conference organized by ESPRIT in Stuttgart Germany.
In 1993, Robert Charette suggested that this approach could actually be used to improve software development and manage the risks associated with it.
Agile software development began as a radical idea in which emphasis is placed on collaboration and team decision. This has become the most widely used approach in software development. It has proven to be more effective and able to achieve much better results.
Merging these practices with those of lean development has made software development a fast and effective process.
How Lean Software Development and Agile Change Management are Symbiotic
Lean software development is based on several principles all aimed at reducing spending on development activities that do not add value for the end customer. The first is eliminating waste which involves bypassing any activities that add no value to the software such as unnecessary approvals and paperwork. Delivering quality rather than a repeat of existing software is yet another core principle in lean practice. Aim at being useful to the end-user rather than conforming to the requirements. Iterations are the best way to go about this with short repeatable cycles of development, feedback, and planning.
How to Use Agile Change Management and Lean Software Development in Practice
Making concurrent rather than sequential decisions is the ideal lean practice. Fast delivery secures customers and is especially important in staying ahead of the competition. In lean software development, your team needs to do their best so that they deliver. One way to ensure this is to let them choose their preferred methods of working and motivational incentives. Each individual member of the team must be made to feel important.
Agile change management and lean software development have been working together in the software development realm successfully for years. The process is now not only much faster but also free from defects.
Now, for those readers who have read this until the end, I’d like to share with you a cause that is very close to my heart – an organization that works to save dolphins and whales. The International Marine Mammal Project has been leading the fight against the slaughter of dolphins and whales for over 30 years; they even pioneered the “Dolphin Safe” tuna fishing standard which has prevented hundreds of thousands of dolphin deaths every year. If you’re interested, check them out and see how you can help.