Subscribe by Email

Wednesday, June 6, 2012

Differentiate between Capability Maturity Model (CMM) and Scrum?

In the year of 2002, when both the CMM (capability maturity model) and agile software development models were on the list of the highest demanded software development methodologies, the CMM model and agile processes were considered to be to pretty much same.
But, later in the same year two of the software engineers Jain and Turner argued that these two software development models or processes have much difference between them if investigated in detail.
This article discusses about the differences between the cmm model and agile methods. There is no fixed or appropriate way to develop a software system or application but at different stages a different methodology is to be adopted. 

Coming to the scrum, it is a pre defined development life cycle based entirely up on the agile principles. The CMM on the other hand comprises of many practices that can be adopted by a team so as to improve its overall performance. The CMM model pays more attention to the areas that require change and project management. 
Another aspect of the CMM is focussed up on the following three aspects:
1.      Engineering skills
2.      Organizational learning
3.      Advanced project management

Differences between Capability Maturity Model and Scrum

Difference #1:
- In CMM, it is required that an understanding is developed with the requirement
providers  based upon the definition of the requirements.
- In Scrum, there are reviews of the requirements listed in the product back log with
development team and product owner.

Difference #2:
- In CMM, commitment to the requirements is demanded from all those involved in    
the project. 
- In Scrum practice, the commitment is needed in the sprint planning and release 

Difference #3:
- In CMM, practice any changes to be made are directly carried out on the
- In Scrum practice, the changes are recorded in the product back log and are worked 
up on in the later sprints.

Difference #4:
- In CMM, it involves the identification of the inconsistencies among the work 
products and the requirements.
- In Scrum practice, the inconsistencies are identified during the sprint planning and
release planning sessions.

Difference #5:
- CMM develops a top level work breakdown structure for the proper estimation of the  
project scope. 
- In scrum, the standard tasks combined with the specific project tasks define the 
scope of the project.

Difference #6:
- In CMM, the attributes of the work products and tasks are maintained kept for the 
maintenance of the estimates.
- In scrum, this task is done with the help of story points.

Difference #7:
- In CMM, the whole project budget and schedule is prepared in CMM.
- In scrum, a project is broken down in to several sprints and for every sprint there is a 
separate schedule and back log.

Difference #8:
- The main estimates that are carried out in CMM are of the resources required to 
perform the development tasks. 
- On the other side, the scrum maintains the estimates of the sprint back log, release 
plan and assignments.

Difference #9:
- In CMM a plan of involvement is prepared for all the stakeholders separately during 
the planning process.
- In Scrum, there are predefined core and ancillary roles that saves a lot of time.

Difference #10:
- In CMM, at the end of the day the project plan is re-conciliated to check out the 
available resources.
- In scrum, there is sprint planning meetings and daily scrum meetings to do this task.

Difference #11:
- The project development in CMM is tracked by monitoring the actual values of the 
project parameters against the already prepared project plan. 
- On the other hand the scrum is aided by the sprint burn down charts for the same 

No comments:

Facebook activity