Doctor of Philosophy
Nazim H. Madhavji
Software engineering (SE) measurement has shown to lead to improved quality and productivity in software and systems projects and, thus, has received significant attention in the literature, particularly for the design and development stages. In requirements engineering (RE), research and practice has recognized the importance of requirements measurement (RM) for tracking progress, identifying gaps in downstream deliverables related to requirements, managing requirements-related risks, reducing requirements errors and defects, and project management and decision making.
However, despite the recognized benefits of RM, research indicates that only 5\% of the literature on SE measurement addresses requirements. This small percentage is reflected in the lack of well-defined and ready to use requirements metrics, approaches, tools, and frameworks that would enable the effective implementation and management of a RM program. Such a program would, in turn, provide the various internal stakeholders with various quantitative requirements-driven information (e.g., measures, indicators, and analytics, etc.) in order for them to better manage, control, and track their respective process activities. This shortage makes the process of RM, at best, complicated and, at worst, non-existent in most projects. The RM process is further complicated in large systems engineering projects due to large project sizes, numerous internal stakeholders, time pressure, large numbers of requirements, other software artifacts, to name a few.
This integrated-article thesis aims to address the aforementioned problem through the following main contributions that have been researched and validated within the context of a large systems engineering project in the rail-automation domain: (i) an empirically derived and validated structured requirements metric suite; (ii) an approach for deriving and organizing requirements metrics and related information; (iii) a requirements-centric, measurement-based health assessment framework; (iv) a meta-model for managing requirements -driven information for internal stakeholders; (v) a prototype requirements dashboard that builds upon and automates the concepts in i, ii, iii, and iv.
These contributions have implications for research on RM through extending the body of work on RM and promulgating further research. For practice, the results of this thesis are anticipated to facilitate the implementation and management of RM programs in real-world projects.
Summary for Lay Audience
Software requirements are descriptions of the capabilities, functions, services and constraints of a software. Requirements indicate how the software will work and interact with the user and what problems the software solves. The process of defining, documenting and maintaining the requirements of a software or system is called the requirements engineering (RE) process and is considered the first phase of the software engineering (SE) process. Requirements inform the subsequent software development phases and are used to design, develop (i.e., code), and test the software.
Large software projects are complex and difficult to manage. Thus, since the early days of SE, researchers and practitioners have attempted to measure software in order to better plan, control, organize, and improve software and the SE process. The SE literature is replete with metrics, measurement approaches and methods, metric thresholds, and measurement tools, to name a few. A combination of these measurement components form measurement programs that can be implemented in projects and organizations in order to enable the software measurement process.
However, much of the work focuses on measurement for the design and development phases of the SE process, in which the measured entity is architecture and code of a software. The work on measurement in the RE phase, in which software requirements are the measured entity, is limited despite evidence that shows that requirements measurement (RM) has benefits for the entire SE process such as reducing software defects, easier tracking of software development progress, better risk management, and improved project management and decision making.
This integrated-article thesis addresses this gap by proposing a RM program that consists of: i) a set of requirements metrics, ii) an approach for deriving and organizing requirements metrics, iii) a health assessment framework that integrates requirements measures with project data in order to define requirements-centric project health indicators, iv) a management aid for the RM process, and v) a requirements dashboard that automates the previous concepts.
The contributions of this thesis have implications for research and practice. For research, this thesis extends the limited body of knowledge on RM. In practice, organizations and projects can use the concepts in this thesis to implement a RM program.
Noorwali, Ibtehal, "A Requirements Measurement Program for Systems Engineering Projects: Metrics, Indicators, Models, and Tools for Internal Stakeholders" (2020). Electronic Thesis and Dissertation Repository. 6998.
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License.