Combining lean thinking and agile software development
Rodríguez, Pilar
Abstract:
Software engineering is advancing according to market needs. Consequently, software development methods that initially caused controversies such as Agile, and more recently Lean, are increasingly being adopted by the software industry. Particularly, Lean Software Development, which was initially regarded as one of the Agile methods, is acquiring an identity of its own as a means to scale Agile. However, Lean thinking is still open to interpretation in the domain of software development, which differs fundamentally from the manufacturing domain where Lean originally emerged. Specific issues such as the essence of Lean Software Development, the compatibility of Lean and Agile and the best combination of them are not properly understood.
This dissertation addresses Lean thinking and its combination with Agile in the field of software development, by providing empirical evidence on how software-intensive organisations use them in practice. The research was performed in four phases. First, the relevant literature was analysed to identify research opportunities. Second, a survey strategy was used to investigate status and trends in the adoption of Agile and Lean. The third phase explored in detail how Agile and Lean are combined in practice, by conducting case studies on two large-scale, industryleading companies that were transforming their processes from Agile Software Development into Lean Software Development. Finally, in the fourth phase, the results of the previous research phases were synthetized to draw conclusions and outline implications.
The results of the study confirmed the interest of practitioners in using a combination of Agile and Lean. Unlike in manufacturing, the borders of Agile and Lean are not clearly defined in the software domain. The results provided evidence of numerous compatibilities between Agile and Lean in software development. Generally, the use of Agile methods at a prescriptive level is guided by Lean principles. However, Lean thinking also brings new practical elements to software
development processes, such as Kanban, work-in-progress limits, a ‘pull’ and ‘less waste’- oriented culture and an extended emphasis on transparency and collaborative development. The results showed the fundamental importance of practices that enable quick feedback, fast learning and adaptation.