Lean Software Development
Sign in

Lean Software Development

Project Manager at Intel
Lean System in manufacturing focuses on reducing inefficiency by institutionalizing continuous improvement of process as well as the quality of the product. The Lean System characteristics have been applied in the software development with the framework known as Agile Software Development. It has a potential to have dramatic impact on the final software product and customer experience. Below are the comparisons on how the concepts of lean manufacturing are being used by Agile Software development.

Pull Method of Work Flow: Usual software development is ‘push method’ of workflow. The requirement gathering once completed is handed over to the development team. But ‘Agile’ methodology uses a ‘pull method’ where customer requirements are dynamically prioritized and the most important priority requirement at that period is ‘pulled’ by software developers.

Consistent Quality: Rework in form of ‘bug’ fixes are minimized by adhering to strict software design, coding standards, and full suite of automated tests. The development team using agile methodology is always encouraged to stop the development work and challenge usual assumptions, a practice similar to ‘Andon’ in Lean manufacturing.

Small Lot Size: Lean manufacturing uses small lots (quantity of items processed together) pass through the system faster. Similarly, Agile Development cycle is sliced into small iteration of 2 - 3 weeks and every developer works on integrating the requirement into the application and testing it. Thus the scheduling and utilization of development resources will be maximized.

Uniform Workstation Loads: The Lean System's uniform workstation load is achieved by ‘pulling’ in managed work load by the development team. The software developers are in charge of determining the ‘velocity’ of work flow.

Standardized component and work method: Reusable standardized components produced huge improvement in lean manufacturing process. In agile software development quality and efficiency is improved by automating and standardizing testing and release processes.

Close Customer ties: Close cooperation with the customer increases trust and with regular release planning meeting development team can build a close working relationship with the customers.

Flexible Workforce: In Lean Systems work force is trained to perform more than one job. Similarly, in Agile Development, the specialized functions of Database Admin., System Architect, and Tester for software development are eliminated. All software developers perform all job functions with a high emphasis on continual “on the job” training.

Line Flows: Uniform work flows through the process of agile software development and eliminate wasted developer time similar to Lean manufacturing.

read more at IT Strategy

start_blog_img