Chapter 13 - Software Process Management and Improvement

definition

  • The software enterprise organization needs to establish a unified and clearly defined organization-level software process , so that all projects can be implemented in accordance with it, and at the same time, the organization-level process system should be continuously improved and perfected during practical execution.
  • CMMI is an enterprise-level software development process model and quality standard, providing an organization-level management model, standards, and improvement framework.
  • The software process framework forms a rigorous whole including CMMI, PSP and TSP. This chapter focuses on the organization-level software process system based on this.

Capability Maturity Model/CMMI and Process Improvement (*)

insert image description here

  • Developed by the Software Engineering Institute (SEI) of Carnegie Mellon University, it has formed a set of systematic evaluation standards, and also provides certification standards and routes for software companies.
  • In the model, the capability and maturity of the process are divided according to the level or maturity.
  • The staged improvement process and route of development capability and maturity are visually described by the following figure.
    insert image description here
  • Level 1 Initial level:
    the initial stage of initial development, without introducing any systematic process control . There is a lot of randomness in the development process, great uncertainty in the development results, and it is difficult to understand and review. The development process is often reworked, and the workload is doubled . Passively waiting for the emergence of problems and dealing with firefighting, the success of the project depends greatly on the skills and commitment of employees.
  • Level 2 Managed level: Managed projects
    at this stage can be reproduced, summarizing the characteristics of project development and management experience , and project management has played an important role. Key sub-processes are introduced: Requirements Management (REQM), Project Planning (PP), Project Tracking and Control (PMC), Process and Product Quality Assurance (PPQA), Configuration Management (CM), Supplier Agreement Management (SAM) and Metrics and Analytics (MA). But it is still a passive way of dealing with problems.
  • Level 3 Defined level: defined
    All existing processes are uniformly documented , they can be understood and utilized by the company, and provide a unified framework for other projects. The company-wide analysis, synthesis and coordination of the process is the core of management, for which the support of the following sub-processes is required: Requirements Definition (RD), Verification (Val), Validation (Ver), Technical Solution (TS), Risk Management (RSKM ), Organizational Process Focus (OPF), Organizational Process Definition (OPD), Organizational Training (OT), Integrated Project Management (IPM), Decision Analysis and Decision (DAR). This is a proactive problem-solving approach.
  • Level 4 Quantitatively Managed: Quantitatively Managed
    In order to be able to identify which process changes will bring about what kind of quality changes, it is necessary to quantify the measurement of process and product quality. The performance of each process requires the ability to measure and self-analyze based on quantitative results , supported by two sub-processes: Organizational Process Performance (OPP) and Quantitative Project Management (QPM) .
  • Level 5 Optimization level: Optimizing
    At this stage, the company can determine more reasonable optimization goals based on the previous basic stage and identify and make necessary process adjustments in a timely manner . Included sub-processes are: Organizational Innovation and Implementation (OID) and Cause Analysis and Resolution (CAR).
  • Example: CMMI provides a description of the risks and personnel requirements for all tasks, and specific improvements have been made to the original enterprise model in the figure.
    • insert image description here
  • CMMI process areas:
    • The sub-processes in CMMI level two and above are also called process areas (Process Area)
    • Simply put, the process domain is to do a certain aspect of a thing well. For software development, it is to do a certain aspect of software development well.
    • The main content of the process area (PA) in CMMI is divided into four categories and 22, of which there are 18 for levels 2-3 and 4 for levels 4-5
    • insert image description here

process area structure

  • Each process area has a series of goals, including specific goals (Specific Goals) and general goals (General Goals), and gives their corresponding specific practice (Specific Practice) and general practice (General Practice)
    -

PP process area

  • Basic description structure of PP process area
    insert image description here
  • Specific objective and practice description structure
    insert image description here
    Specific sub-practice description structure
    insert image description here
  • Generic Goals and Practices Description Structure
    insert image description here

PSP

insert image description here

  • CMMI also defines the staged capability and maturity for each employee, that is, the individual software process (Personal Software Proces, PSP).
  • PSP0 understands the idea of ​​software process and completes the corresponding development work.
  • PSP1 plans personal work arrangements (improvement of personal process), and determines whether the improvement of personal process has brought about work improvement through the measurement of actual development time and defects.
  • PSP2 developers can set their own quality goals and assess productivity through self-assessments.

TSP

  • TSP is a set of principles, strategies and methods for the definition, measurement and reform of the team software process
  • Combine the management required by CMMI with the skills required by PSP developers to deliver high-quality software on time and within budget.
  • TSP is a framework where individuals combine their own work processes and skills with the team's mature process management techniques, enabling them to complete high-quality work. .
  • The TSP framework consists of a series of competency areas.
    • each competency area is made up of a set of interrelated knowledge domains
    • The knowledge domain is composed of concepts and skills.
    • These concepts and skills are the smallest units of information contained in the domain of knowledge.
      • Concepts are used to describe the intellectual aspects of the TSP content, i.e. the informational, factual, terminological and philosophical components of the technology.
      • Skills refer to an individual's ability to understand and apply a concept or concepts to enable the performance of a job task.
  • There are 6 competency areas, namely TSP foundation and principle, team foundation, TSP project planning, TSP project implementation and tracking, collection and use of TSP data, and expansion of TSP.
    • Each competency area fully describes the related knowledge domain and the concepts and skills in the knowledge domain for the team to apply to project management.
      insert image description here

Guess you like

Origin blog.csdn.net/qq_42739587/article/details/114669107