Quality Assurance

McCall's Factor Model

McCall’s factor model classifies all software requirements into 11 factors that can be grouped in 3 categories:

Product Operation Factors

Factors that deal with requirements that directly affect the daily operation of the software.

Correctness
The degree to which software meets its requirements.
Reliability
The degree to which software runs correctly without error.
Efficiency
The degree to which software uses time and resources.
Integrity
The degree to which software is governed.
Usability
The time and effort it takes others to learn, understand and operate the software.

Product Revision Factors

Factors that deal with requirements that affect software maintenance.

Maintainability
The time and effort it takes to detect and resolve errors in the software.
Flexibility
The time and effort needed to improve the software.
Testability
The time and effort required to ensure the software meets its specified requirements.

Product Transition Factors

Factors that deal with requirements that affect the adaptation of software to other platforms, environments, interaction with other software.

Portability
The degree to which the software can be transferred to other platforms.
Reusability
The degree to which a software's code can be reused in other applications.
Interoperability
The time and effort it takes to integrate two systems together.