If there are two terms that are closely associated with quality and process improvement, these are ISO or International Organization for Standardization and CMM or Capability Maturity Model. These two are often compared with each other, especially in the field of software development and engineering. Most likely ISO and CMM have the same goals but use different methods to achieve it.
ISO is known to be the world’s largest developer of standards. Indeed, these standards have known to be very useful to business organizations and industries, to customers and suppliers of goods and services in both the private and public sectors, to professionals doing conformity assessment, to government and regulation bodies, and lastly, to end users or customers. This only goes to show that ISO standards also have important social and economic repercussions, thus making a positive difference to the society.
ISO has developed a family of standards, with each having its own designation. ISO 9001, for example, targets the manufacturing process and this includes software development, a focus area of CMM. CMM is the one that provides the framework describing the key elements of an effective software process. Thus, CMM covers planning, engineering and managing software development. Following the recommendations of CMM leads to improvement of an organization’s ability to meet their goals in terms of cost, schedule, product quality and functionality.
Indeed, these two terms have something to do with software development. It is just that ISO’s approach is more from the manufacturer’s standpoint, while CMM is from a development standpoint. Therefore, CMM sees to it that the software developed is error-free whereas ISO is designed to put quality standards into the manufacturing process.
Capability Maturity Model or CMM has established its importance in the field of Information Technology, wherein it provides a framework that describes the key elements of an effective software development process. It is because of this reason that it has launched a lot of jobs for IT professionals, ranging from CMM Operator to CMM Programmer. Having a decent experience and exposure with CMM processes and tools is also one of the requirements that most companies look for managerial positions such as Software Test Manager, a person responsible for leading and managing a team of individuals, mostly Software Test Engineers and Technicians, aiming to improve the software development process. To be an expert in CMM, there is a need to familiarize with key CMM concepts, especially the five levels of CMM. These are as follows:
This is a company that does not have a standard process for software development. There is also no project tracking system in place to predict accurate costs and finish dates.
In this level, the company has already installed basic software management processes and controls whereby success can be still be acquired and repeated by performing previously mastered tasks.
When a company has already established a set of processes and controls for the organization, it means that it is already on Level 3.
A company with implementing standard processes and has installed systems to measure the quality of processes involved across all projects belong to this level.
A company on level 5 has already accomplished process improvement techniques to enhance productivity and reduce defects in software development.
If one has mastered the basic concepts of CMM including these 5 levels, definitely there is a chance to land a job on CMM.