The COSMIC and IFPUG organizations are delighted to announce the publication of their joint Glossary which is the first result of the two organizations’ desire to collaborate more in the service of the software engineering community. The Glossary will be valuable for those working in the three disciplines of performance measurement, benchmarking and project estimating, and also for software engineers more generally, especially those working on software and project requirements.
The Glossary is available for free download from www.cosmic-sizing.org and from www.ifpug.org.
Success in the three disciplines of a) measuring the performance of software projects, b) developing performance benchmarks and c) using measurements and benchmark data to estimate new software projects depends on using consistent data and hence common terminology.
A software project must satisfy three types of requirements that ultimately determine its performance, namely:
- Functional requirements (e.g. the software must process customer orders, or control an aircraft’s navigation);
- So-called ‘Non-functional’ requirements (‘NFR’) concern the software quality, e.g. that it must be maintainable whilst operating 24/7, or they concern technology or environmental constraints, e.g. that it must run on Unix, satisfy certain industry standards, etc.;
- Project requirements and constraints (‘PRC’), e.g. that the project must be delivered within a certain budget, or that it requires particular skills, etc.
Functional requirements can be measured by established methods such as those supported by COSMIC, IFPUG and others. PRC are also well-understood and are relatively easy to measure. Difficulties often arise, however, with NFR. The concept of what is a non-functional requirement is not always clear. For example, is a quality requirement that an app must be portable across various smart-phone platforms a non-functional or a functional requirement, if portability will be achieved via software?
The joint COSMIC/IFPUG Glossary addresses these questions by providing a set of definitions for all types of requirements, a classification scheme for NFR and PRC, and a comprehensive Glossary of 60 NFR and 20 PRC terms, which we anticipate will meet most needs in the three disciplines.