What Is CMM & Difference Type of Level?
CMM (Capability Maturity Model) is process based model which
is used to assess the maturity of an organization for different domains.
Although this model is normally termed as the software development model but
eventually it was used for other processes as well like QA and testing.
It has 5 different levels of maturity from 1 to 5. As we go
towards level 5 from 1, variability and inconsistency reduces. Below are the
details of 5 levels. Here we will go through the 5 CMM levels with respect to
QA process and what all output/result is expected for each level to mature a
QA/testing process and reach up to level 5.
CMM Levels
Level 1 – Ad-Hoc: Unplanned, unsystematic, and inconsistent
As the word ‘Ad-Hoc’ states: unplanned, unprepared, at this
level significance is not given to planning, following processes, guidelines
and standards. There is no standardized & consistent way of doing any task.
The only thing which is important at this level is meeting the timelines,
irrespective of the quality of the end product and deliverables.
As there are no pre-defined standards and processes, same
task is done in different ways by different people.
And this becomes even more unsystematic and inconsistent if
same task is done differently next time.
Example -
QA – The example would be that in an organization although
QA is 1 of the phases in a product life cycle but there are not any standard
& no process defined, no templates for QA deliverables like plan, strategy,
scenarios, and cases are standardized. Even if these are documented then all
team members have their own way of doing it and not consistent at all.
Level 2 – Control: initiate defining processes at high
level:
Solution to the problem which we saw at Level 1 of
unavailability of QA processes, methodology & standards would be to have
all these in place. The standards and processes are not only finalized but also
are well documented, so that those can be re-used by any one for similar task.
Example -
QA – Define overall QA process and methodology for different
types of testing like functional, data, performance etc. Define the role of a
QA engineer in project’s life cycle and prepare templates for deliverables in
each phase. Not only define and prepare rather share within team
Level 3 – Core Competency: Come up with a generalized
process for wider audience and domains:
At this level 3, people are motivated to follow the
standards and processes defined at level 2. For this first of all the processes
need to be conveyed to all people and need to identify what all skills are
needed to use those effectively and efficiently and also if any training is
required for that and then motivated and supported to follow those standards
and processes. Here people having more experience share their knowledge with
others.
Example -
QA – Conduct webinars and training sessions to let people
get acquainted about the newly defined QA process and standards and motivate
them to make use of those during their day to day project’s life
Level 4 – Predictable: Measure the processes
At this level processes defined at level 3 are measured
quantitatively. This is done to control the effort required on any task. Based
on this quantitative analysis, processes can be adjusted if needed, and that to
without degrading the quality of the end product. Analysis is done by dividing
complete process into smaller sub-processes and then quantitative techniques
are applied on these sub-processes and as per the result, sub-processes are
adjusted if needed. This level is called predictable as based on prior
experience; we can predict the process quantitatively and make use of that for
the upcoming processes.
Example -
QA – Performing regular audits would be a good idea here.
This can include to check if teams are actually following the processes
defined, using the standard templates, adhere to methodology or not.
Level 5 – Innovative: Continuous Improvement
At this level, innovative ways are identified to further
improve the pre-defined processes and standards. This is a continuous process.
For this our own processes are watched and re-engineered continuously by adding
new tools technologies, by continuous studies and by keeping ourselves updated
with new information in the market. This can also be achieved by benchmarking
other organizations and learn from them and try to improve our process by
adding new innovations to it.
Example -
QA – Keep on improving the methodology, processes defined
based on prior audit results.
Based on some studies it has been concluded that the
organizations at level 1 may spend $1000 for any particular task then for the
same task organization at level 5 needs to spend $10.
After going though all 5 levels mentioned above, looks like
reaching up to level 3 is difficult. Once it achieved then next levels are not
too far and difficult to achieve :)
Meenal is working as a Team lead in a MNC. She is
specialized in overall QA process for performing functional, data, performance
and security testing. Worked on Waterfall and Agile models. Have worked on BI
testing, web testing, data quality as well.
0 comments: