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
planning.
Difference #3:
- In CMM, practice
any changes to be made are directly carried out on the
requirements.
- 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
purpose.
No comments:
Post a Comment