Software Quality Assurance
,(Capability Maturity Model Integration)CMMI or Six Sigma etc. to set and sail on their Software Quality Assurance (SQA) is a planned and systematic approach necessary to provide . relationship of the software quality assurance. Carnegie Mellon developed the CMMI in as an effort to integrate the various CMM models and eliminate the defects of CMM. CMMI however does not . testing as a chief element and also documentation only for authentication and appraisals. The relationship of the SQA function with CMMI has not attended much.
The first level of both CMM and CMMI describes an immature organization without any defined processes, run in an ad hoc, uncontrolled, and reactive manner. Organizations that repeat some processes attain Level 2 CMM. Level 2 of CMMI however requires management of organizational requirements through planned, performed, measured, and controlled processes. CMM Level 3 mandates a set of documented standard processes to establish consistency across the organization.
Difference Between CMM and CMMI
CMM Level 4 requires organizations to attain control over processes by using quantitative statistical techniques. CMMI Level 4 demands likewise, but also identifies sub processes that significantly contribute to overall process efficiency. CMM Level 5 mandates use of quantitative tools and objectives to manage process improvement.CMM ( Capability Maturity Model ) in Hindi - Software Engineering
CMMI Level 5 on the other hand focuses on continuously improving process performance through incremental and innovative technological improvements. Differences in Approach CMM measures the maturity level of an organization by determining if an organization completes the specific activities listed in the Key Performance Areas KPAoblivious to whether the completion of such activity leads to the desired result. CMM KPA concentrates on the completion of specific tasks or processes and does not motivate the organization to focus on process architecture.
CMMIon the other hand has an iterative lifecycle that integrates the latest best practices from the industry and attacks risks in process architecture at an early stage. CMM is however concerned at recording processes whereas CMMI documentation and meetings focus on strategic goals of the organizations. CMM has focused attention on processes, but the new CMMI goes a step further and focus attention on result-oriented processes.
There are several CMMi software development model concepts that can be explained in isolation and are not directly related to software production. Those concepts and process areas are described first in order to allow focus on the project and software related process areas in relation to continuous improvement. The concept of maturity levels is generally applicable to any process improvement initiative and can be isolated in terms of understanding.
The software quality network's sqa. The concept of CMMi SCAMPI appraisals is generally applicable to any assessment of processes maturity including physical products and can also be isolated in terms of understanding.
Standalone process areas, that are loosely coupled to project or software production. The following process areas are independent or loosely coupled to other process areas apart from the general SPI process area relationships for continuous improvement, discussed later.
Configuration Management CM This process area is concerned with keeping track of related components and work products that come together to produce a complete product. Although there are special considerations for software the concept of Configuration Management is equally applied to a manufactured product in that the drawings design are subjected to revision control to keep in step with the production procedures. In software the work products that are typically subjected to CM are Requirements, Design, Test Plans and Source code as each version of these will form a unique Configuration and the dependencies between these work products need to be subjected to version control so that as one changes for example Design the other interrelated work products are changed and referenced in unison.
Decision Analysis and Resolution DAR This process area establishes a formal evaluation process for choosing between alternative solutions. Whilst there is a tie in to project and risk management the concepts of this process area can be seen as standalone for the purposes of understanding CMMi-DEV. Organizational Training OT Although the other organizational process areas tie in to process improvement, in a way that is not immediately obvious and those process areas are described in the process improvement section the CMMi easy button the organizational Training process area is self explanatory.
This process area is concerned with developing skills and knowledge so that people are better able to perform their required roles. Risk Management RSKM There are aspects of Risk management that are complicated by the essential difficulties of software but the general theory and practice of Risk Management is universal in that a strategy is devised for identifying, analyzing and mitigating risks.
This process area ties in to the project related process areas as each project will have unique risks associated, but that said for the purposes of understanding this process area can been isolated. This is another process area that can be isolated in terms of understanding the big picture.
The Suppler Agreement management process area is concerned with supplier management, which includes supplier selection, maintaining agreements, monitoring and evaluating supplier performance.
The Difference Between CMMI vs CMM
The following process areas relate to the concept of project, which in turn relates to customized production. The alternative to project driven production is a single process of production, for example a car production plant where one car is manufactured. Organizational Process Definition OPD Although this process area has a wider impact than projects it is essential to the project process areas, so a brief description of the OPD is appropriate.
The Organizational Process Definition process area is concerned with establishing and maintaining a process Asset library PAL which contains standards, procedure definitions, life cycle models SDLCbest practices etc. This process area is the logical starting place in terms of what would be a step by step guide to implementing CMMi-DEV. Every description of every significant process, procedure and work product is documented in the PAL as a central reference point.
The IPM also defines the work environment for the project and communication channels with the stakeholders. This process area, IPM, can be seen as a basic context in which the project is executed and this includes defining the project's processes and activities selected form the PALwhich include the Project Planning and Project Monitoring processes described next.
The assumption with IPM is that not all projects follow the same processes which include Project Planning and IPM takes care of the type of Project required and the broader communication channels with stakeholders. Project Planning PP The Project Planning process area is more concerned with what is generally thought to be traditional project management.
The project planning activities include resource scheduling based on the requirements of the project and production of a project plan that lays out traditional timelines and work breakdown structures. Estimates for cost and developing a project budget are also a part of the Project Planning process area. Project Monitoring and Control PMC Given the project plan, produced from the activities contained in the Project Planning PP process area, the PMC process area concerns itself with continuous monitoring of the actual results compared with the plan.
As well as monitoring the PMC process area is also concerned with analyzing issues and taking corrective action, when the project's actual deliverables deviate from the plan. The relevance to PMC is that the criteria for monitoring the project, in terms of attributes and measurements, are defined in terms of what is to be measured and how this is to be done. The typical project measurements taken include effort man hourssize of work products i.
This information is first documented, as estimates, in the Project Plan, and then monitored in the PMC process area activities. The MA process area activities are also relevant to continuous improvement strategies and processes, discussed later in this CMMi easy button document.
Software production SDLC related process areas. The following process areas relate directly to the production of software. Requirements Development RD This process area is the beginning of the software delivery process.
This process area concerns needs elicitation and analysis as well as a statement of the requirements that would satisfy those needs. There are two types of requirement addressed in the RD process area, namely customer and product requirements. The customer requirements are typically stated in non-technical terms whilst the product requirements are a statement of the customer requirements in technical terms. Both the customer and product requirements address the "what is required", not "how it is implemented" in terms of the solution.
The Technical Solution process areas, described below, breaks down the requirements into the technical and program specifications. Requirements Management REQM The REQM process area concerns the management and control of changes to the requirements as well as the maintenance of a bi-directional traceability matrix.
- The Difference Between CMMI vs CMM
The traceability matrix cross references the test cases and design sections back to the requirements so that a comprehensive check list, in terms of requirements coverage and rational for the design, can be established.
The traceability matrix is discussed further in the REQM process area description. There is a strong relationship with the Configuration Management CM process area for the REQM activities that concern controlling and recording changes to the requirements. Technical Solution TS Many people first reading CMMi for software development will be looking for the design and programming coding process areas.
The Technical Solution process area is the area that is concerned with design and coding. This process area also includes the documentation for supporting the delivered software. This process area takes in the product requirements from the Requirements Development process area activities and produces the design, detailed design and code needed to satisfy those requirements. Make or buy decisions are also addressed within the activities of this process area. In this process area the term "implement the design" refers to software being coded when programming is involved.
Product Integration PI This process area is concerned with packaging and delivery to production of the software. Some people refer to the delivery activities as "implementation" but in CMMi the term implementation refers to coding or providing a solution that satisfies the design.
The Product Integration process area also includes interface, system and acceptance testing unit testing is performed during the Technical Solution process area activities. Although there are two areas that also concern testing, namely Verification and Validation, and these are discussed later in the CMMi easy button document.
The question of support and maintenance. There are no separate support or maintenance process areas in CMMi for software development. The support and maintenance activities are considered to come under the above software production processes.