Models and Standards

In a past blog I talked about software quality and how we can define it. Tl;dr quality depends on what the company and/or programmers believe is quality. Everyone will have a different vision of quality, but today we will talk about models and standards. Software quality models were created to solve this ambiguity problem. With them, we can standardize the measuring of software so that we know the quality of our product. Now I will talk about some models and explain what their purpose is.

CMMI: Standing for Capability Maturity Model Integration, CMMI itself is an institute which provides several different software quality models focused on different points. For example, there is a model focused on the development of quality software products, one focused on services, and more. What the CMMI institute claims is that many companies and organizations do not have a process to measure their capabilities against best practices, meaning that they can’t see which capabilities are giving the best performance and which ones should be improved. When you know the capabilities of your organization you can bring many benefits not only to the customers of the products they create, but also to company and the employees themselves.

TSP/PSP: Team Software Process (TSP) and Personal Software Process (PSP) can be used to help organization teams be self-directed and make them better at planning, tracking, establishing goals, and owning their processes and plans. TSP itself is meant to guide engineering teams through the development of software products and it helps the organizations establish good engineering practice. PSP is focused on a personal framework for engineers in a software developing context. This model was created by the Software Engineering Institute at Carnegie Mellon University.

ISO-15504: The ISO-15504 is an international standard for software process improvement capability determination. This is yet another model to help organizations measure their capabilities when developing software products. Similar to the CMMI, its purpose is to set a standard for software process evaluation and let the organization evaluate their current performance. It has a set of requirements to evaluate the processes of an organization which can be generalized into: process evaluation, process improvement, and evaluation of the capacity/maturity of processes.

MOPROSOFT: MOPROSOFT is said to be an easy to understand and adopt model which is more practical than other standards thanks to its shorter length. It is also meant to facilitate the fulfillment of requirements from other models, including the ISO-15504. This model is better for organizations with the structure used in Mexico for software development and maintenance. It also provides a low cost solution for organizations and can be either established from zero or adapted in case the organization already had established processes beforehand.

IDEAL method: The IDEAL method does not refer to a software quality model, but rather a decision making tool to help you look at a scenario from an objective perspective and define the problem and explore solutions. Its purpose is to set emotion aside and make the process of decision making action drive, all while reducing the fear and anxiety of taking a decision, encouraging thinking, and being easy to use for everybody. IDEAL stands for the set of steps that one must follow in order to use this method effectively. First you must Identify the problem, then Define your goals, after that you can start Exploring solutions to later Act on it, and finally, Look back. This method can be used in many contexts, not just the software quality field and will help you improve life decisions when used correctly.

These models have different standards and qualities to help you measure and improve the process and quality of your software developing organization. Choosing one will be up to you based on your needs and goals. This was only a brief summary of each of them so I recommend you investigate more about each one (and any others that weren’t listed here) before deciding which you want to use.

External links:

Software Quality Models

CMMI

TSP/PSP

ISO-15504

MOPROSOFT

IDEAL method