Scrum and CMMI Level 5: The Magic Potion for Code Warriors
Projects combining agile methods with CMMI are more successful in producing higher quality software that more effectively meets customer needs at a faster pace. Systematic Software Engineering works at CMMI level 5 and uses Lean Software Development as a driver for optimizing software processes. Early pilot projects at Systematic showed productivity on Scrum teams almost twice that of traditional teams. Other projects demonstrated a story based test driven approach to software development reduced defects found during final test by 40%.
We assert that Scrum and CMMI together bring a more powerful combination of adaptability and predictability than either one alone and suggest how other companies can combine them.
Successful software development is challenged by the supplier’s ability to manage complexity, technology innovation, and requirements change. Agile and CMMI methods both address these challenges but have very different approach and perspective in methods applied.
Management of complexity requires process discipline while management of change requires adaptability. CMMI provides process discipline and
Scrum enhances adaptability. This paper provides an analysis of the effect of introducing Agile practices into a CMMI Level 5 company.
Systematic made a strategic decision to use Lean as the dominant paradigm for future improvements after achieving CMMI level 5. Lean has demonstrated notable results for many years in domains such as auto manufacturing, and due to its popularity, has been adapted to other domains, including product and software development. Systematic identified Lean
Software Development [3] as the Lean dialect most relevant to Systematic.
Applying Lean Software Development, as a driver for future improvements in a company appraised to
CMMI level 5, depends on the adoption of a lean and agile mindset in the implementation of the CMMI processes, and Systematic placed special focus on implementing the Lean change in the spirit of the Agile
Manifesto.
Lean competencies were established, through handing out handout of books, formal and informal training, and walk-the-talk activities. Project Managers were trained in Lean Software Development, and Mary
Poppendieck visited Systematic to present a management seminar on Lean Software Development.
This seminar established an understanding of the
Agile and Lean mindset. The causal dependencies between the principles and tools in Lean Software
Development were analyzed, by Carsten Jakobsen appointed change agent for Lean, and resulted in the model shown in Table 1. The model groups the thinking tools (T) and principles (P) from Lean
Software Development according to causal dependencies, where elements to the right depend on one or more elements to the left. The model facilitated a way to prioritize what thinking tools to focus on. Left most tools were considered good candidates to start with.
The most important input for selection of what
Lean tools to consider first. was an analysis showing improvement opportunities with a potential good costbenefit.
Internal studies at Systematic show that the cost of fixing a defect increases from 1.6 hours when detected in the coding phase, to 12 hours when detected in the testing phase and 23.7 hours when detected in the maintenance phase. Therefore improvements that could eliminate or move any defects to earlier phases have the potential for high leverage.
We also observed that our focus on quality, gradually had led to longer test cycles.