Mastery 02
To help software process improvement, there are several models. These models evaluate the software product, project, quality, and drawback. All purpose is to control and optimize the software process. I am going to talk about some of the most populars.
CMMI
Capability Maturity Model Integration is a process level improvement training and appraisal program. CMMI was developed by a group from industry, government, and the Software Engineering Institute (SEI) at CMU. CMMI models provide guidance for developing or improving processes that meet the business goals of an organization.
CMM has 5 maturity levels to assess software process. They are Initial level, Repeatable level, Defined level, Managed level and Optimizing level.
Initial Level
Software processes are chaotic and the company could not assure the success when repeating the same kind of project.
Repeatable Level
The basic project management processes are established, which include software configuration management, software quality assurance, software subcontract management, software project tracking and supervision, software project planning and requirement management.
Defined Level
It focuses on engineering process. The management and engineering of software processes are integrated, which include peer review, inter-group coordination, software product engineering, integrated software management, training program, organisation process definition, and organisation process focus.
Managed Level
It concentrates on product and process quality, detail measures are used to control the process, which include the quality management and process measurement and analysis.
Optimizing Level
Continuous process improvement. It make the continual process improvement is enabled. It includes process change management, technology innovation and defect prevention.
The SEI published a study saying 60 organizations measured increases of performance in the categories of cost, schedule, productivity, quality and customer satisfaction.
TSP/PSP
PSP
Personal software process. It is a personal process that, being based on the principles of improvement, helps people to establish their personal goals, identify what methods they will use, measure their work and analyze the results, to adjust the methods they use to meet their goals.
PSP is a defined process to help perform the work better, whose objective is to obtain and report accurate and complete data of the work that is being done at an individual level, in order to improve the individual process, thus affecting to the performance of the entire team.
TSP
Team software process. It is a software engineering model that provides an emphasis on processes, products, and teamwork. The TSP is based on the principles of PSP to carry out the processes and principles of software engineering in a teamwork environment.
A defined strategy is required to work together in a coordinated manner, establish responsibilities and monitor progress. This is achieved by having common goals, agreeing on action plans and appropriate leadership.
The strengths / weaknesses of each team member and how they support team performance should be understood.
ISO-15504
Software Process Improvement Capability Determination.
ISO / IEC 15004 SPICES is a tool with the following objectives:
- Propose and develop a software process evaluation standard.
- Evaluate your performance by experimenting in the emerging software development industry
- Promote the evaluation of software processes to the software industry worldwide.
The SPICE standard establishes requirements for an evaluation of processes and evaluation models, pretending that these requirements can be applied in any evaluation model in an organization.
In general, the requirements for process evaluation include:
- Process evaluation
- Process improvement
- Evaluation of the capacity and / or maturity of the processes
MOPROSOFT
Modelo de Procesos para la Industria del Software. It is a model for the improvement and evaluation of the development and maintenance processes of software systems and products. Developed by the Mexican Association for Quality in Software Engineering through the Faculty of Accounting and Administration of the National Autonomous University of Mexico (UNAM) and at the request of the Ministry of Economy to obtain a Mexican standard that is appropriate to the characteristics of size of the vast majority of Mexican software development and maintenance companies.
The following criteria have been applied for the elaboration of this model:
- The resulting process structure must be in accordance with the structure generally used by organizations in the software industry.
- The model considers management as a provider of resources, processes and projects; as well as responsible for monitoring compliance with the strategic objectives of the organization.
- The model considers the operation as the executor of software development and maintenance projects.
- The model clearly and consistently integrates the essential elements for defining the processes and the relationships between them.
- The model integrates the elements for engineering software products in a single framework that includes the precise support processes (verification, validation, documentation and documentation control).
Moprosoft is based on the ISO 9001: 2000 process models, in the CMM-SW level 2 and 3 process areas: CMM-SW v.1.1., In the general ISO / IEC15504 framework and in practices and concepts of PMBOK AND SWEBOK.
IDEAL method
When applying the IDEAL model it should be remembered that there are two components to a software process im-provement activity, a strategic component along with a tac-tical component
- A strategic level, in which there are processes that are the responsibility of senior management.
- A tactical level, in which processes are modified, created and executed by line managers and practitioners.
There are 5 phases on this model:
- Initiating Phase
- Diagnosing Phase
- Establishing Phase
- Acting Phase
- Leveraging Phase
I found a very interesting guide in which there are recommendations and intructions to show how this model works and how to aply it on a real environment. I recommend you to take a look to understand each of the phases, I think is very useful.
IDEALSM: A User’s Guide for Software Process Improvement: https://resources.sei.cmu.edu/asset_files/Handbook/1996_002_001_16433.pdf