What Are the Different Types of Competency Software?
Software capability maturity model is a standard for describing the development stages of software organizations in the practice of defining, implementing, measuring, controlling, and improving their software processes.
Software Capability Maturity Model
- This entry lacks an overview map . Supplementing related content makes the entry more complete and can be upgraded quickly. Come on!
- Software capability maturity model is a software organization's definition, implementation,
- CMM: Its English name is Capability Maturity Model for Software, and its English abbreviation is SW-CMM, referred to as CMM. It is for software organizations to define, implement,
- CMM is a method used to evaluate software contracting capabilities and help it improve software quality. It focuses on the management of software development processes and the improvement and evaluation of engineering capabilities. CMM is divided into five levels: the first level is the initial level, the second level is the repeatable level, the third level is the defined level, the fourth level is the managed level, and the fifth level is the optimization level.
- CMM / CMMI divides the maturity of the software process into 5 levels. The following are the basic characteristics of the 5 levels:
- (1) Initial level. The work is disordered, and the original plan is often abandoned during the project. Management is unruly and lacks a sound management system. The effectiveness of the development project is unstable. The success of the project mainly depends on the experience and ability of the person in charge of the project. Once he leaves, his work order is beyond recognition.
- (2) Repeatable. Management is institutionalized, basic management systems and procedures have been established, and management work has rules to follow. The initial standardization was achieved, and the development work was better implemented according to the standard. Changes are carried out in accordance with the law, so as to be baselined, stable and trackable. The planning and management of new projects are based on past practical experience and have the environment and conditions to repeat previous successful projects.
- (3) Defined. The development process, including technical work and management work, has been standardized and documented. Established a sound training system and expert review system, all technical activities and management activities can be controlled, and they have a common understanding of the ongoing process, positions and responsibilities of the project.
- (4) Managed. Products and processes have established quantitative quality goals. Productivity and quality in development activities are measurable. A process database has been established. Control of project products and processes has been achieved. Predictable process and product quality trends, such as forecast deviations, for timely correction.
- (5) Optimizing. You can focus on improving the process and adopt new technologies and methods. Have the means to prevent defects, identify weaknesses and improve them. Statistics on the effectiveness of the process can be obtained and analyzed to arrive at the best method.
- CMM was successfully developed by Carnegie Mellon University's Software Engineering Institute in 1987 and is currently the most popular and practical software production process standard and software enterprise maturity level certification standard in the world. At present, China's software companies have passed the CMM standard certification.
- SW-CMM (Capability Maturity Model For Software software production capacity maturity model, hereinafter referred to as "CMM"), is a kind of application A method for evaluating the capabilities of software contractors and helping to improve software quality. Its purpose is to help software companies manage and improve software engineering processes and enhance their development and improvement capabilities, so that they can develop high-quality software on time and within budget. .
- The idea behind it is: As long as you focus on continuous efforts to establish an effective software engineering process infrastructure, continuous management practices and process improvements, you can overcome the difficulties in software production. CMM is currently the most popular and practical software production process standard in the world. It has been recognized by many countries and the international software industry, and has become an indispensable content for enterprises engaged in large-scale software production.
- The current popular version of CMM is 1.1 (Version 1.1). "According to the original plan of the Software Engineering Institute (SEI), the improved version 2.0 (V2.0) of the CMM will be completed in November 1997. However, the U.S. Department of Defense Office requested that the Software Engineering Institute (SEI) delay the release of CMM version 2.0 until they complete another, more pressing project, CMMI.
- CMMI (Capability Maturity Model Integration) is an idea of the US Department of Defense. They want to integrate all existing and mature capabilities maturity models into a framework. This framework is used to solve two problems: first, the reform of software acquisition methods; second, from the perspective of integrated product and process development, establish a process improvement that includes sound system development principles.
- CMM provides a step-by-step improvement framework for software companies' process capabilities. It provides a framework for process improvement based on the results of all past software engineering process improvements, draws on past software engineering experiences and lessons; What major tasks does an organization need to manage in software development, the relationship between these tasks, and in what order, do these tasks step by step to make the software organization mature.
CMM Birth of Software Capability Maturity Model CMM
- In the information age, the importance of software quality is increasingly recognized. Software is a product, an equipment, and a tool. Its quality makes customers satisfied, which is the key to product market development and career development. The software engineering field has made unprecedented progress from 1992 to 1997, and its achievements exceed the total achievements of the software engineering field in the past 15 years.
- Software management engineering has attracted widespread attention since the mid-1970s. At that time, the U.S. Department of Defense had devoted to researching the reasons for poor software projects, and found that 70% of the projects were caused by poor management, not because of insufficient technical strength. Global factors, while technology only affects local. By the mid-1990s, the problem of poor software management engineering still existed, and only about 10% of the projects could be delivered at a predetermined cost and schedule. The main reasons for the failure of software projects are: unclear requirements definition; lack of a good software development process; lack of a unified leadership product development team; sub-contract management is not strict; frequent attention to improve software processes; The software interface is poorly defined and lacks appropriate controls; software upgrades expose the shortcomings of the hardware; concern about innovation without concern for costs and risks; military standards are too few and incomplete, etc. Among the many factors related to the success of software projects, software measurement, workload estimation, project planning, progress control, demand change, and risk management are all factors directly related to project management. This shows that the significance of software management engineering is crucial.
- Software management engineering has its particularities compared with other engineering management. First, software is a knowledge product, and schedule and quality are difficult to measure, and production efficiency is difficult to guarantee. Second, the complexity of software systems is beyond imagination. Because software is complex and difficult to measure, the development of software management engineering is still immature.
- The development of software management engineering has experienced a structured production era characterized by structured analysis and design, structured review, structured program design, and structured testing from the 70s. By the mid-1990s, the CMM model had matured. The model and the increasingly market acceptance are marked. It has entered the process-centric era marked by the process maturity model CMM, individual software process PSP, and group software process TSP. The third era of software development, and the era of software industrialized production Based on the maturity of software process technology and the development of object-oriented technology and component technology in the mid-1990s, it has gradually begun to emerge. It is estimated that by 2005, real software industrial production can be achieved. This trend should cause software industry and related departments Attaches great importance to early measures to keep up with the pace of world software development. The shift of software production centered on improving the software process is the road that the software industry in various countries in the world will take sooner or later.
- Software process improvement is a core issue in current software management engineering. The development of the computing industry for more than 50 years has made people realize that in order to develop software efficiently, high-quality and low-cost, the software production process must be improved. Software management engineering has gone through a process of structural analysis and design, structured review, structured program design, and structured testing from the 70s to the mid-1990s with process maturity models CMM, individual software processes PSP, and group software processes TSP It is marked by a process-centered approach to the maturity of software process technology and the development of object-oriented technology and component technology based on true software industrialized production. The shift of software production centered on improving the software process is the road that the software industry in various countries in the world will take sooner or later. The software industry has undergone or is undergoing "maturation of software processes" and is gradually transitioning to "industrialization of software." Standardized software process is a necessary condition for software industrialization.
- Software process research is how to organize people, technology and tools, etc. through effective management methods to improve the efficiency of software production and ensure the quality of software products. Three schools of software processes were born: CMM / PSP / TSP of CMU-SEI; ISO 9000 quality standard system; ISO / IEC 15504 (SPICE).
- CMM / PSP / TSP is the software capability maturity model / individual software process / group software process. It is a research result published by a research group led by WSHumphrey in 1987 by Carnegie Mellon University Software Engineering Institute (CMU / SEI). Evaluation method of software engineering capability of the company "; the SO 9000 quality standard system was first adopted by Europe in the 1970s, and has since developed rapidly in the United States and other parts of the world. At present, the European Federation actively promotes the institutionalization of software quality and proposes the following ISO9000 software standard series: ISO9001, ISO9000-3, ISO9004-2, ISO9004-4, ISO9002; ISO / IEC 15504 (SPICE) is the International Standards Organization in 1991 Adopted a motion, carried out investigation and research, and produced technical report ISO / IEC 15504-Information Technology Software Process Evaluation in accordance with the basic ideas of CMU-SEI.
- At present, the academic and industrial circles recognize that the Carnegie Mellon University Institute of Software Engineering (CMU / SEI), led by WSHumphrey, conducts research and development of the software capability maturity model. CMM is currently the best software process, and it has become the de facto software Industry standard for processes.
CMM Development of Software Capability Maturity Model CMM
- In 1987, the Carnegie Mellon University Software Engineering Institute (CMU / SEI) research group headed by WSHumphrey published CMM / PSP / TSP technology, which opened a new path for software management engineering.
- The CMM framework uses five evolving levels to evaluate the history and current situation of software production: the initial layer is a chaotic process, the repeatable layer is a trained software process, the definition layer is a standard software process, and the management layer is predictable Software process, the optimization layer is a software process that can be continuously improved. The software process implemented by any unit may be relatively mature in one aspect and not mature enough in the other, but it must necessarily belong to one of these five levels. Within a certain level, there are also differences in maturity. In different levels of the CMM framework, software process problems with different levels of characteristics need to be solved. Therefore, a software development unit must first understand which level it is in, and then be able to solve the related problems according to the special requirements of this level, so as to receive the software process improvement effect with less effort. When any software development unit is committed to software process improvement, it can only evolve from the level it is in to the immediately previous level. And when evolving from a certain mature level to a more mature level, those capabilities already in the original level must be maintained and developed.
- The quality of software products depends to a large extent on the quality of the software development and maintenance processes used to build the software. The software process is a staff-intensive and design-intensive operation process: Without good training, it is difficult to establish a foundation to support the success of the software process, and improvement efforts will be difficult to achieve results. The framework described by CMM outlines the way to evolve from random chaotic processes to trained and mature processes.
- CMM includes two parts: "Software Capability Maturity Model" and "Key Practices of Capability Maturity Model". The "Software Capability Maturity Model" mainly describes the structure of the model and gives definitions of the basic components of the model. "Key Practices for the Capability Maturity Model" details the "Key Practices" involved in each of the "Critical Process Aspects". Here, "key process aspects" refer to a set of related activities; each software capability maturity level contains several process aspects that are critical to the maturity level, and their implementation plays a role in achieving the goal of the maturity level Guarantee effect. These process areas are called the key process areas of the maturity level. Conversely, having non-critical process areas means that they do not play a key role in achieving the goals of the corresponding software maturity level. It can be summarized as: a collection of interrelated software practice activities and related infrastructure. The "key practice" refers to the infrastructure and activities that have the greatest effect on the effective realization and institutionalization of key processes, and the establishment of policies, procedures, measures, activities and related infrastructure that play a key role in the practice of key processes. Key practices generally only describe "what to do" and do not mandate "how to do it". Each key practice is based on the five "common characteristics" of each key process (commitment to perform the process, ability to perform the process, activities to be performed in the process, measurement and analysis of the performance of the process, and verification The activities performed are in line with this process) categorization and are described in detail one by one. As all key routines that have reached a certain key process, the key process is considered to be realized, and a certain maturity level and all key processes included in the lower level are considered to have reached that level.
- It was mentioned above that the CMM divides the capability maturity of software development organizations into five levels. With the exception of level 1, each level consists of several key process aspects. Each key process aspect is characterized by the five common characteristics described above. The CMM has specific goals for each key process. The key conventions for each common characteristic classification are selected and determined according to the specific goals of the key process. If all the key practices involved in a key process are properly handled, the goals of the key process are achieved, which indicates that the key process has been achieved. The advantage of this maturity rating is that these levels clearly and clearly reflect the priorities and priorities of process improvement activities.