Introduction to July 7th to July 12, 2003 I participated in CMM2 training organized by the Shenzhen Municipal Government and was taken by India Qai. The main content of the course has CMM introduction, the 6 KPA of CMM, demand management, software planning, software plan tracking and supervision, software subsidiary management, software quality assurance, software configuration management. The following combined with the course content, talk about our simple view on our company's work experience for leadership reference.
Body SW-CMM Level2 Training Summary Huang Yu (2003-7-15) July 7 to July 12, 2003 I participated in CMM2 training, which was organized by the Shenzhen Municipal Government and was taken by India Qai. The main content of the course has CMM introduction, the 6 KPA of CMM, demand management, software planning, software plan tracking and supervision, software subsidiary management, software quality assurance, software configuration management. The following combined with the course content, talk about our simple view on our company's work experience for leadership reference. CMM introduction (mainly level 2) 1 software development is difficult: 1CMM introduction 2 Software key process (SKPA, Key Process Areas) 2 Software Demand Management: 3 Software Plan: 3 Software Tracking and Supervision 3 Sub-contract Management 3 Software Quality Assurance 4 Software Configuration Management 4CMM and Companies Fusion Direction 4 Establishing Software Process Standard 4 Establishing Company Technology Library 4 Establishing Company Software Technical Product Library 4 Other Development Process Introduction and Comparing 5cmmi Ability Maturity Integration Model 5IPD Integrated Product Development 5XP (EXTreme Programming, Agile) 6PSP Personal Software Process 6TSP Group Software Process 6 Discussion and Summary 6 Reference Documents: 7cmm Introduction (Main Level 2) Software Development Difficulties: First, the change of project demand is difficult to grasp: customer requirements are also project The demand is often unclear, and it is also difficult to use unified standards to measure. Second, the process is difficult to control: often until the project is completed, you can do it on time. Third, the task is difficult to quantify, the plan feasibility is poor: software products are difficult to measure, often by feeling. Project managers have a good consideration of risk lack of risk, causing plan feasibility. Fourth, version management is confusing, the project can be inherited between the projects: each project group is independent, repeatedly developed. 5. Lack of standards that can be implemented together: the company has no unified standards, each project group is as polite, and members abide by different standards in different projects, resulting in anneaner. In summary, the software development process is often unordered, more difficult to monitor. CMM introduced that from the 1980s, the US Department of Defense funded, SEI first proposed SW-CMM (Software Capability Maturity Model) theory and officially published in the 1990s, which is generally 1993 CMM1.1 version. CMM is a systematic thinking product, for any key process KP, is all from the purpose (GOAL), AGM, Activate, Capacity (AB), Measurement (MEA), and verifies such a mode. . CMM emphasizes that each change requires notification related people. CMM is a model that makes things pair (correct doing things). CMM is concerned about customer satisfaction and quality.
CMM score level five-level name process feature working group metric improvement direction level 1 initial grade depends on people, process unstable software development group, project engineering group did not conduct data collection and analysis work level 2 can be repeatedly defined project management, software development And the maintenance process is relatively stable, the software project manager is responsible for tracking cost, progress and software function, establishing a baseline in the demand and corresponding working products, control integrity, defining software project standards, can guarantee the project accurately Execute it. The success of the project has been supported by management. Establish an effective supply and demand relationship with the transferor. The success of the project not only rely on the individual's ability, but also attaches importance to management and relying on management, pays attention to the training of personnel, and has established technical support activities, and has a stable plan system testing group, software assessment group, software Quality Assurance Group, Software Configuration Management Group, Contract Management Group, Document Support Group, and International Training Group Establish a resource plan. Mainly care for cost, product and progress. There is a corresponding management data Level 3 has defined level 4-level manageable level 5 constantly optimized grade software key process (SKPA, Key Process Areas) so-called critical process sector refers to a series of interrelated operational activities, these activities reflect a software organization Places that must be concentrated in the process of improving the software process. Process classification level management organization, optimization-level technology reform management process change management defect prevention, management-level quantitative process management software quality management has defined level integrated software management group coordinated organization process focus organization process definition training program software product works Review Repetitive Demand Management Software Project Planning Software Project Tracking and Monitoring Software Configuration Management Software Quality Assurance Software Configuration Management Initial Level Under Distribution Process Based on Training Course Talk about the KP and experience of reassepass (Level 2). Software demand management: Mainly demand needs to be controlled, documentated, and has been reviewed. Demand mainly refers to commercial requirements (time, cost), technical needs, and acceptance criteria. Experience: The company has no emphasis on the acceptance of the acceptance, so that some project needs change again or the project is not very good. It is recommended that each project is in terms of project, and the customer representative is developed, and the customer representative is accepted and the only basis for the end of the project. And the work represented by the client is an important indicator of the annual assessment. It is recommended that the company controls changes to major demand changes in management documents and describes in ISO files. Software planning: Mainly from software scale estimates, estimated costs, workload, determination resources, especially critical resources. Experience: CMM attaches great importance to quantification. From the functional point estimate of the software requirements, the code line estimate, and then use the company's data to be estimated. There are some tools on the Internet to use, or you can use Excel to calculate. Software tracking and supervision is mainly to track the progress of the software, and timely efforts and changes in time when changing. Experience: Often we will spend a certain amount of time when the project is processed, but during the progress of the project, it does not make timely adjustments to the project, or I feel that the plan is always not allowed, and it is better to change. ). For projects in a period, there may be little problem, but for more than half a year, the plan does not adjust, the project team is not easy to grasp the progress of his task, and the company's high-level judgment of the company is affected.
The company is currently implementing Project, I think it is to put this work to practice, I recommend that the company can further promote the general development engineer and personnel with management responsibilities, the monthly initiator issued a project of Project format, under the subordination of the task Turn to the working day and submit, update, every week (or two weeks), and summarize the end of the month. Let everyone clear the task and increase communication. The above constitutes a part of the company's project management culture. And by the company's data room (or human resource department), it is saved according to people (if it is pure humanity, the workload is relatively large, and the tool support will be considered in the future.). Software subscriber management is mainly due to the management, demand, progress, cost, etc. of the software subscriber contractor. Experience: The company basically all developments are doing themselves, Huawei and other companies will take some development outsourcing. Mainly, the software is open to manpower. Companies can outsource experiments in some areas, such as testing, coding, some modules, or outsourcing, etc., but because the company's software has not a big overhead, it is not very suitable for problems with intellectual property rights. It is said that domestic medical equipment companies have no such mode. But we can pay attention to procurement or cooperation with commercial or personal reliable technology. Software quality assurance does not need me to emphasize, quality is the life of the company. Experience: To clarify the testability of the software, otherwise, the number of invisible to the user is equal to not. Still emphasize quantization. And the quality personnel should be independent of the project manager, such as testers. Software Configuration Management ensures that software development environment and needs, code, and document controllability are also guaranteed to give users a consistent product, and on the other hand, the development of the project group can be carried out in a unified environment. You can promote version control procedures. CMM and company integration company implementation of the ISO9000 standard involves every link supplied from raw materials to product sales. CMM focuses on software development and improvement processes. According to CMM, it is a special importance of the process, emphasizes the guarantee of organization, and has different divisions, project management, quality assurance, design, testing, and configuration management, emphasizes the professionalization of skills, and the professionalization of personnel. Thus for a general professional software development team, if there is no certain size is difficult to fully follow the CMM process. In particular, the company's software development team is in various project groups, there is no relationship between the work or interest, and is equivalent to the point of 3-5 guns, and there is no effective communication and organization guarantee. So I think the company is unified to consider the development of the development policy, it can be mainly based on the software, mainly the domain knowledge software technology, but because the company is doing medical imaging equipment software, how to improve software technology or form software products Or the module is reused, avoiding duplication, which can be a direction as the company's medium-long development consideration. Establishing a software process standard company has developed a lot of standards in ISO design and control, but there is less process control for software development, and there is no specific guidance. During the period, XX wrote a draft, but the status of the file is not very clear (not published in the company ISO file), we can build a software development on the XX file, and continue to improve during development. The characteristics of the project team determine the short-term effects of the project team membership process. It is recommended that the company does some simple quantitative management in software management, such as the statistics of software scale in the development process of these two years, thus A company software develops productivity data, which guides the estimation of future software projects and corporate cost estimates.
Established the company's technician library after a project is completed, work skills, after the new project is founded, and you can find a suitable person from it, and you can find similar resources from the database when you encounter difficulties. Question, on the other hand, also motivates the developers to establish a good record in the company, and create a fair environment, which facilitates the company's human resources policies for developers. Establishing the company's software technology product library After a project is finished, the module, the main technical characteristics, the future new project can find a similar module according to the library, from the company to apply for reuse, thereby reducing technical risks, on the other hand Development time. Of course, there are still many ideas, and it is inconvenient to start. Because of the current organization architecture and organizational benefits, some things are very difficult, and it will touch some of the interests and work methods of some departments. This requires the company's leaders to pay according to the company's development, after all, no matter how white cat, black cat, It is a good cat who can catch a mouse. Other development processes introduction and comparison CMMI ability maturity integration mode CMMI's full name is Capability Maturity Model Integration, the software capability maturity model integration model, is common by the US Department of Defense and Carnegie-Mellon University and the US National Defense Industry Association Development and development. The latest model of CMMI used in the industry is the 1.1 version of the version published in 2002, such as CMMI-SE / SW / IPPD / SS, CMMI-SE / SW / IPPD, CMMI-SE / SW, CMMI-SW, and the like. CMMI is a set of integrated multidisciplinary, expandable product sets, the initial motivation of its development is to achieve an organization's integrated process improvement in order to utilize two or more single subject models. Three special process improvement models are integrated in the preliminary development of CMMI: Software (SW-CMM), system engineering (EIA / IS 731), and integrated products and process development (IPD cmm); from long-term consideration, CMMI product development The group has established an automated, expandable framework to facilitate the introduction of other discipline process improvements to the CMMI product. CMM and waterfall ideas are associated with CMMI and overlay ideas. IPD integrated product development IPD is an abbreviation of Integrated Product Development, ie "integrated product development", is a model for new product development management, which has gradually built Western companies at the last century. The reunation of the blue giant IBM has been largely benefited from IPD, and IPD has made significant improvements in IBM's number of R & D indicators. For example, the new product listing cycle is significantly shortened, and the R & D resource waste ratio is significant. Falling, etc. For IT industries, IPD is a model for new product development management models. Shenzhen Huawei also implemented the system. The key elements of IPD include: cross-sectoral team, structured process, first-class sub-process (such as project planning and monitoring, data management, shared module, technical management, pipe management, etc.), based on balanced scorecard assessment system, IT support, etc. The core ideology has: the development of new products as investment decisions, and through the budget to manage projects, based on the market to define the goals of new product development, coordinate efficient project teams, a large number of parallel projects, structured and non-structuralization A reasonable balance. IPD is an enterprise, a more macro-specific system, emphasizing that R & D activities should be based on the market, guarantee the commercial results of the final development results, and CMM is the details of the product (software) development activities, ensuring that the software is based on software requirements. Come out, in contrast, CMM is more in the quality assurance system.
Therefore, when enterprises are implemented, the software process can be defined by CMM specifications, or, cmm can be integrated into the IPD system, especially the standard of CMM 2 and Level 3. XP (EXTreme Programming, Agile) is aimed at CMM (also RUP, ISO9000, etc., means that software organizations put a lot of resources in process definition, maintenance, metrics, quality assurance, implement such development process. It is a complex, high-cost), and the agile process shows a completely different position. It should be able to do documentation, moderately, and easily adapt to changes and quickly make self-adjustment. Maximization XP to achieve corporate benefits believe that with the development of software technology, especially the general adoption of object-oriented technology, the cost of software modification is now deviating from the Boehm curve, and even does not increase over time, so Software development can do not have to plan in advance, design, it can make an appropriate response when changing, this development model is efficient. XP's twelve practices: 1. On-site customer, 2. Planning Game, 3. System metaphor 4. Simplified Design 5. Collective Code (Collective Code) Ownership 6. Pair Programming 7. Test Drive (Test-Driven) 9. SMALL Releases 9. Reconstruction 11. A 40-hour work system (40-HUR WEEKS) 12. Coding Standards. Some people think that XP may have two types of enterprises in China to apply, one is entrepreneurial enterprises, and the other can then implement XP.Rup after implementing CMM2, 3 or reach considerable capabilities. Rational Unified Process) The software life cycle in RUP is decomposed into four sequential stages, namely: Inceptual, refinement phase (ElaBoral), construction, and delivery. There are 9 core workflows in RUP, divided into 6 core process workflows and 3 core support workflows (Business Model, Requirements, Analysis and Analysis & Design, Implementation, DEPLOYMENT, Configuration & Change Management, Project Management, Environment, RUP iterative development mode Each stage in the RUP can be further decomposed to iterate.