Lean CMMI: An Iterative and Incremental Approach to CMMI-Based Process Improvement Amr Noaman Abdel-Hamid Agile Academy Cairo, Egypt amr@agileacademy.co Alaa El-deen Hamouda Systems and Computers Engineering, Al-Azhar University Cairo, Egypt alaa.hamouda@azhar.edu.eg AbstractSoftware Process Improvement (SPI) projects incorporate organization transition risks which may cause many process improvement initiatives to fail. To mitigate these risks, an iterative and incremental approach called ‘Process Increments’ is used to manage the SPI project. In this paper, the Configuration Management process area is used as a case study to show the improvement results difference when the ‘Process Increments’ approach is used. Results are compared with similar projects which didn’t use an incremental approach. This approach shifts the focus from adopting new techniques to achieving value-add for the organization and shows excellent results in effective and efficient implementation of Software Configuration Management. Through our proposed process increment model, we could reach a significant increase in the performance of the software process improvement. Keywords— Lean, Process Increments, Software Process Improvement, CMMI, Software Configuration Management I. INTRODUCTION Recent studies [1, 2 and 3] showed that many Software Process Improvement attempts fail to continue, or fail to show return on investment. Hamouda and El-wahsh [4] noted that one fifth of the companies implementing CMMI- based process improvement initiatives abandoned the standard processes defined. Others complain from “Complexity of operations” and “Process overheads”. In these studies, the SPI projects are driven by process area (Project management, requirements engineering, development, testing, etc.) and these projects focus on one stage at a time when applying process change. The problem with this approach is that improvement is partial and does not apply to the whole software development process. This postpones realizing value till the end of the project and teams get involved in many upfront activities before seeing any return on their investment. In this paper, an iterative and incremental approach is suggested. This approach suite the Software Process Improvement (SPI) projects which incorporate organization transition risks, especially when improvement projects involve paradigm shift and organization restructuring towards Agile and lean processes. II. RELATED WORK Cohn [5] proposed an iterative model for agile adoption in which teams injects agile practices gradually. He emphasized the importance of iterative adoption but he did not introduce any methodology for defining the contents of every iteration or a roadmap for adopting agile practices. Sidky [6] proposed an agile adoption framework in which adoption is decomposed into four stages. Each stage defines a set of practices and core concepts and related measurements. Although this framework defines agile practices with each stage, it mentions these practices in a very high level manner. There is no structured description of criteria that team may use to determine whether a practice is fully implemented or not. Also, Sidky [7] discussed the importance of having SCM tools but gave some very high level guidance on the type of practices to be employed. Rohunen [8] gives an overview of agile adoption methods; results of analysis identified that more recent methods stress on more incremental approaches to adoption. However, increments are generally described in terms of agile practices. No further details are given for describing such practices. The Experienced-based model [9] for agile adoption starts by modeling the current process and incrementally injecting more practices into this model. It proposes a selection process for prioritizing which practice to adopt first based on analysis of situational factors. Although the model proposes the idea of continuously getting feedback and adjusting the adoption pathway, it has a huge overhead of tools and process definition steps which may not be applicable for small teams. Other studies [10] [11] focus on finding a best roadmap for practice adoption. Some of them are based on feedback from team or other pre-defined factors. However, in all these studies, there is no defined methodology for defining and prioritizing new practices or techniques other than those defined. Also, they focus primarily on investigating prioritizing agile practice adoption rather than defining a methodology for agile adoption. In this paper, we introduce the ‘Process Increments’ methodology, which is an incremental and iterative method for applying process increments. Then, we will analyze data of process improvement and agile adoption projects in 12 companies with specific focus on Configuration Management. 2015 Agile Conference 978-1-4673-7153-7/15 $31.00 © 2015 IEEE DOI 10.1109/Agile.2015.20 65