CMMI and ISO-9126 are frameworks for improving software quality and development processes. CMMI, developed by the DoD and Carnegie Mellon, defines 5 maturity levels for organizations from initial to optimized. ISO-9126 defines quality characteristics including functionality, reliability, usability, efficiency, maintainability, and portability. Both provide standard processes and metrics to measure and improve software development.
CMMI and ISO-9126 are frameworks for improving software quality and development processes. CMMI, developed by the DoD and Carnegie Mellon, defines 5 maturity levels for organizations from initial to optimized. ISO-9126 defines quality characteristics including functionality, reliability, usability, efficiency, maintainability, and portability. Both provide standard processes and metrics to measure and improve software development.
CMMI and ISO-9126 are frameworks for improving software quality and development processes. CMMI, developed by the DoD and Carnegie Mellon, defines 5 maturity levels for organizations from initial to optimized. ISO-9126 defines quality characteristics including functionality, reliability, usability, efficiency, maintainability, and portability. Both provide standard processes and metrics to measure and improve software development.
Aizah Awais CMMI ■ CMMI (Capability Maturity Model Integration) is a proven industry framework to improve product quality and development efficiency for both hardware and software. – Sponsored by US Department of Defence in cooperation with Carnegie Mellon University and the Software Engineering Institute (SEI). – Many companies have been involved in CMMI definition such as Motorola and Ericsson. – CMMI has been established as a model to improve business results. ■ CMMI stages, use 5 levels to describe the maturity of the organization. – Is vastly improved version of the CMM – Emphasis on business needs, integration and institutionalization . MATURITY LEVEL 1 INITIAL ■ Maturity Level 1 deals with performed processes. ■ Company has no standard process for software development. Nor does it have a project-tracking system that enables developers to predict costs or finish dates with any accuracy ■ Processes are unpredictable, poorly controlled, reactive. ■ The process performance may not be stable and may not meet specific objectives such as quality, cost, and schedule, but useful work can be done. MATURITY LEVEL 2 MANAGED ■ Maturity Level 2 deals with managed processes. ■ Company has installed basic software management processes and controls. But there is no consistency or coordination among different groups. ■ Processes are planned, documented, performed, monitored, and controlled at the project level. ■ The managed process comes closer to achieving the specific objectives such as quality, cost, and schedule MATURITY LEVEL 3 DEFINED ■ Maturity Level 3 deals with defined processes. ■ Company has pulled together a standard set of processes and controls for the entire organization so that developers can move between projects more easily and customers can begin to get consistency from different groups. ■ Processes are well characterized and understood, and are described in standards, procedures, tools, and methods. ■ A critical distinction between maturity level 2 and maturity level 3 is the scope of standards, process descriptions, and procedures. At maturity level 2, the standards, process descriptions, and procedures may be quite different in each specific instance of the process (for example, on a particular project). At maturity level 3, the standards, process descriptions, and procedures for a project are tailored from the organization’s set of standard processes to suit a particular project or organizational unit. MATURITY LEVEL 4 QUANTITATIVELY MANAGED ■ In addition to implementing standard processes, company has installed systems to measure the quality of those processes across all projects. ■ At maturity level 4, an organization has achieved all the specific goals of the process areas assigned to maturity levels 2, 3, and 4 and the generic goals assigned to maturity levels 2 and 3. ■ At maturity level 4 Sub-processes are selected that significantly contribute to overall process performance. These selected sub-processes are controlled using statistical and other quantitative techniques. ■ Quantitative objectives for quality and process performance are established and used as criteria in managing processes. Quantitative objectives are based on the needs of the customer, end users, organization, and process implementers. MATURITY LEVEL 5 OPTIMIZED ■ At maturity level 5, an organization has achieved all the specific goals of the process areas assigned to maturity levels 2, 3, 4, and 5 and the generic goals assigned to maturity levels 2 and 3. ■ Processes are continually improved based on a quantitative understanding of the common causes of variation inherent in processes. ■ Maturity level 5 focuses on continually improving process performance through both incremental and innovative technological improvements. ■ The organization’s ability to rapidly respond to changes and opportunities is enhanced by finding ways to accelerate and share learning. Improvement of the processes an essential part of everybody’s role, resulting in a cycle of continual improvement. . ■ A critical distinction between maturity level 4 and maturity level 5 is the type of process variation addressed. At maturity level 4, processes are concerned with addressing special causes of process variation and providing statistical predictability of the results. Though processes may produce predictable results, the results may be insufficient to achieve the established objectives. At maturity level 5, processes are concerned with addressing common causes of process variation and changing the process to improve process performance to achieve the established quantitative process-improvement objectives. ISO-9126 ■ ISO-9126 is an international standard software quality model that helps in creating a solid framework for assessing software. ■ This standard way of assessing software can be segregated in four different ways. ■ This model is used to represent the cutting-edge research. It moves into figuring software characteristics for the few main purposes of checking software quality control, software quality assurance and software performance improvement. ■ ISO-9126 provides a hierarchical framework for quality definition, organized into quality characteristics and sub-characteristics 1: FUNCTIONALITY ■ A set of attributes that bear on the existence of a set of functions and their specified properties. ■ The functions are those that satisfy stated or implied needs. ■ They are the key aspect of any product or service. ■ The sub-characteristics include: Suitability Accuracy Interoperability Security 2: RELIABILTY ■ A set of attributes that bear on the capability of software to maintain its level of performance under stated conditions for a stated period of time. ■ This characteristic determines the capability of software to sustain its use when put under different circumstances. ■ The sub-characteristics include: Maturity Fault tolerance Recoverability 3: USABILITY ■ A set of attributes that bear on the effort needed for use, and on the individual assessment of such use, by a stated or implied set of users. ■ The usability of software is highly dependent on the functional uses of software. ■ The sub-characteristics include: Understandability Learnability Operability 4: EFFICIENCY ■ A set of attributes that bear on the relationship between the level of performance of the software and the amount of resources used, under stated conditions. ■ This feature of the model is more concerned by resources of the system when used for providing a desired functionality. ■ The sub-characteristics include: Time behavior Resource behavior 5: MAINTAINABILITY ■ A set of attributes that bear on the effort needed to make specified modifications. ■ This property of maintainability of the software model is used to recognize and fix a defect accordingly. ■ The model is inspected for the faults and these can be identified easily. ■ The sub-characteristics include: Analyzability Changeability Stability Testability 6: PORTABILITY ■ A set of attributes that bear on the ability of software to be transferred from one environment to another. ■ According to this feature, capable software should easily adapt to the environmental changes frequently as possible. ■ The designing of an object and the practices of its implementation are highly dependent on this feature. ■ The sub-characteristics include: Adaptability Install ability Conformance Replaceability THANK YOU