Coexistence of CMM and agile software development practices
✍️ How to write this paper — guide, tools & examples ▾
CMM and Agility
CMM (Capability Maturity Model) and agility can co-exist. Following are the supporting facts and information.
One of the main objectives for the development of the capability maturity model for software is to improve the maturity level of product development. That is, to increase the level of improvement and performance in a development lifecycle, as well as to provide a quality software product output. CMM basically prevents any SDLC (software development life cycle) procedures that might be confusing or were may be created just for a current project and did not undergo procedure assessment and evaluation. It provides ideas to an organization as to which level an organization belongs. Similarly, it provides a motivation to an organization should they find that their software development strategy does not fit their real objectives. To achieve this, the CMM was divided into the following maturity levels (Hamilton & Kern, 2001).
Level 1: Initial
This level has no key process to follow. The organization simply depends on how the developers solve software development problems.
Level 2: Repeatable
In this level, an organization follows key procedures in project management but no key process for software development management.
Level 3: Defined
Organizations in this level are successful in project management and software development and are moving towards engineering a better process. Organizations at this level have the capability of handling large-size companies.
Level 5: Optimized
At this level, it can be said that every project in an organization follows the software development standards. Also, organizations at this level focus on continuous improvements of every process.
Defining each level of CMM, it is apparent that each level has a main objective to improvement. Thus, may result into a more agile software development life cycle. If an organization is not following defined processes and objectives of its projects, chances are, the projects will have a higher percentage of errors and failures, thus causing project delays and costly development. Comparing to CMM's idea of having an organized and properly managed software development life cycle, key procedures to project management and software development can enhance and improve every area of the software's life cycle, such as requirements gathering, coding, and software tests.
There are some misconceptions though that gives some people the misconception that CMM and agility cannot co-exist. For instance, some take that being at Level 1 means that the organization has a low performance. It must be noted that CMM focuses on the capability process that an organization is capable of achieving. Thus, scoring an organization with Level 1 only defines how the organization's current process performs, and how the organization is capable of improving. This then can bring a more agile organization. According to Karl Weigers, in his
article Misconceptions of the Capability Maturity Model,
Being Level 1 does not mean that the members of a software organization are barely breathing (as one manager put it).
The fact is that most software organizations are operating at the Initial level of the CMM today, yet some of them are successful by many commonly accepted measures (profitability, market share, customer satisfaction).
Create your account
Always verify citation format against your institution’s current style guide requirements.