Postgraduate Programs SOFTWARE ENGINEERING ASSIGNMENT ON CMM VS CMMI BY 1. ADISU CHERINET 2. BETHELHEM DAWIT 3.GETAHUN W/MESKEL What is Differences between CMM and CMMI CMMI or CMM Integration is developed to integrate current and upcoming models. It is sort of an upgrade from the CMM model and describes process improvements for organizations especially in software development. The model includes the following areas: gathering (data and requirement), project planning/tracking, configuration management, training, quality assurance, collaboration and peer reviews. However, in CMM is process-oriented whereas the CMMI is a goal-cum-result-oriented approach.
The Capability Maturity Model Integration (CMMI) is
a process and behavioral model that helps organizations streamline process improvement and encourage productive, efficient behaviors that decrease risks in software, product and service development. The first CMM, developed in 1990, was developed for the purpose to improve the process in software development . This model proved to be a successful one and thereof, it became a generalized model for improving the processes other than SW development process like software engineering, system engineering, software maintenance, software management, risk management and also being employed in other industries, governments, organizations and also for business process improvement. CMM Maturity Levels The CMM for Software (SW-CMM) is a framework that provides the way to manage a process effectively. It is a stair-cased structure wherein each step is a maturity level describing the current capability of the process. It tells where the processes are. The CMM scales the organization from 1 to 5 based on the KPAs achieved by the organizations. Structure of the CMM each maturity level defines the process capability at that stage and contains (other than Initial) Key Process Areas (KPA) defined of goals to be achieved. Each KPA has certain key practices that are to be strictly followed to achieve the goals. These key practices are arranged as groups (Common features) consisting infrastructure and implementation. CMMI Overview CMMI is a process improvement approach that provides organizations with the essential elements of effective processes that ultimately improve their performance. CMMI can be used to guide process improvement across a project, a division, or an entire organization. Both CMM and CMMI have the same five maturity levels. In CMMI, each process area has specific goals and generic goals that define the generic and specific practices respectively. Key Differences CMM and CMMI The factors that distinguish CMM and CMMI during implementation are: 1.integration, 2.KPA, 3.approach and 4. paperwork . 1. Integration: The CMM has individual models for each function. But when the individual processes when integrated led to few discrepancies like model overlapping, contradiction and each model had its own maturity level which lead to a confusion. This led to the increase in the costs of the companies that were put in training. But CMMI employs models that are classified on the basis of specific areas of interests. These models are those employed by industries successfully. To employ CMMI in an organization, it must choose a model form the available 22 models wherein each module covers all the functionalities. 2. KPA: Both CMM and CMMI have 5 maturity levels. But there are differences in the KPAs of each maturity level. The differences in each model are as follows: 1. Initial: In both models, it covers the organisations without defined processes, having dynamic changes (ad-hoc) and undocumented. 2. Repeat: In CMM, the companies that seem to do the same process periodically attain this level. In CMMI, it requires a planned and defined ways of managing the requirements by estimating cost, time and resources. 3. Defined: CMM requires a standard, well-documented and consistent process with few degrees of changes to be followed. CMMI requires the process to be standardised, methodical and procedural with the use of tools. 4. Manage: CMM requires companies to quantitatively measure and monitor process thereby reducing risks. CMMI, n addition identifies and monitors the sub processes that contribute to overall efficiency. 5. Optimized: In CMM, the process is continuously improved by following the best software engineering practices but here the measures are taken simultaneously as the goals are satisfied. In CMMI, behaviour is selected and goals are set to support it. Behaviour is selected on the basis of goals and measures. CMM KPA concentrates on the completion of specific tasks or processes and does not motivate the organization to focus on process architecture. CMMI, on the other hand has an iterative lifecycle that integrates the latest best practices from the industry and attacks risks in process architecture at an early stage. CMMI supersedes CMM in software development processes, but CMM is still relevant and appropriate for sequential, activity-based management paradigm. 3. Approach CMM is an activity based model. It aims only in the completion of the process and does not care about the desired result and hence it does not motivate the company to make the necessary changes. But CMMI is a result oriented based on key performance areas and thereof it is a best practice for the companies and helps to avoid the possible risks at a very early stage. 4. Paperwork Both CMM and CMMI give importance to paperwork and meetings that distract management’s time and effort from actual work process. CMM is however concerned at recording processes whereas CMMI documentation and meetings focus on strategic goals of the organizations. CMM has focused attention on processes, but the new CMMI goes a step further and focus attention on result-oriented processes. Conclusion CMMI models should be still integrated and developed such the costs involved and the efforts are reduced. CMM came first but was later improved and was succeeded by CMMI. Different sets of CMMS have problems with overlaps, contradictions, and lack of standardization. CMMI later addressed these problems. Initially, CMM describes specifically about software engineering whereas CMMI describes integrated processes and disciplines as it applies both to software and systems engineering. CMMI is much more useful and universal than the older CMM.