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
Abstract— Software 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