Requirements engineering: a review and research agenda
---
paper_title: Understanding and controlling software costs

paper_content:

A discussion is presented of the two primary ways of understanding software costs. The black-box or influence-function approach provides useful experimental and observational insights on the relative software productivity and quality leverage of various management, technical, environmental, and personnel options. The glass-box or cost distribution approach helps identify strategies for integrated software productivity and quality improvement programs using such structures as the value chain and the software productivity opportunity tree. The individual strategies for improving software productivity are identified. Issues related to software costs and controlling them are examined and discussed. It is pointed out that a good framework of techniques exists for controlling software budgets, schedules, and work completed, but that a great deal of further progress is needed to provide an overall set of planning and control techniques covering software product qualities and end-user system objectives. >
---
paper_title: Viewpoints for requirements definition

paper_content:

This paper is a survey of the current viewpoint-oriented requirements approaches and a description of an alternative object-oriented viewpoint-based approach. The paper sets out a case for a multiple viewpoint-oriented approach in requirements definition and, using a simple case study, examines the viewpoint approach adopted by three requirements methodologies. The paper concludes by proposing an alternative object-oriented viewpoint-based approach.
---
paper_title: Review of design methodology

paper_content:

The paper surveys design methodology, the science of methods of design. It discusses the aims of design methodology as well as objections to it. The various sources of design methodology are reviewed. The nature and structure of the design process are outlined. An organised presentation is given of methods of design concept generation. Finally the evaluation and decision steps in design are briefly analysed. In conclusion the authors state their contention that design methodology is a useful contribution to design.
---
paper_title: Understanding and controlling software costs

paper_content:

A discussion is presented of the two primary ways of understanding software costs. The black-box or influence-function approach provides useful experimental and observational insights on the relative software productivity and quality leverage of various management, technical, environmental, and personnel options. The glass-box or cost distribution approach helps identify strategies for integrated software productivity and quality improvement programs using such structures as the value chain and the software productivity opportunity tree. The individual strategies for improving software productivity are identified. Issues related to software costs and controlling them are examined and discussed. It is pointed out that a good framework of techniques exists for controlling software budgets, schedules, and work completed, but that a great deal of further progress is needed to provide an overall set of planning and control techniques covering software product qualities and end-user system objectives. >
---
paper_title: Reviewing and correcting specifications

paper_content:

We outline a scheme for marking suggested edits and annotations on software specifications, a particularly complex class of structured document, during the process of review and correction. The scheme is based on a formal model of document construction and review and on typographic marking methods. The scheme permits precise and interpretable marking and annotation of documents which use many different notations. It supports and guides the process of correction. Some examples and a sample visual notation are given. Tool support for using this scheme is briefly discussed.
---

Title: Requirements Engineering: A Review and Research Agenda

Section 1: Introduction
Description 1: Introduce the purpose of the paper, provide a definition of requirements engineering, and explain the motivation for research in this field.

Section 2: Organisational setting
Description 2: Discuss the various organisational contexts in which requirements engineering takes place and their implications on the development process.

Section 3: Contract and procurement procedures
Description 3: Explain how contractual and procurement issues frame the requirements engineering process and their impact on development.

Section 4: Personnel and staffing the requirements engineering process
Description 4: Highlight the importance of skills, especially communication skills, among engineers and client representatives in the requirements engineering process.

Section 5: Bounding
Description 5: Describe the process of establishing the scope and boundaries of the requirements and design space.

Section 6: Feasibility and risk
Description 6: Identify and assess the feasibility of requirements and the primary risks involved in the system development process.

Section 7: Stakeholder analysis
Description 7: Explain the process of identifying and understanding the stakeholders involved in the requirements engineering process.

Section 8: Participation
Description 8: Discuss the group process of requirements engineering, emphasizing cooperation, consensus building, and negotiation.

Section 9: Information gathering
Description 9: Outline the challenges and techniques involved in gathering information on needs and the environment in which these needs exist.

Section 10: Value modelling
Description 10: Describe the process of building a model that documents and relates the valued attributes of a system.

Section 11: Modelling goals and required services
Description 11: Focus on identifying the goals and required services that a projected system is required to satisfy.

Section 12: Domain modelling
Description 12: Explain the importance of constructing models of the environment in which the system will interact.

Section 13: Task analysis
Description 13: Discuss methods for understanding the tasks performed by users of the system and strategies for fitting tasks with system properties.

Section 14: Reuse
Description 14: Discuss the reuse of requirements engineering products and processes from previous projects to optimize future ones.

Section 15: Validation
Description 15: Describe methods for ensuring that the products of the requirements engineering process accurately embody stakeholder requirements.

Section 16: Exploration
Description 16: Explain the use of prototypes and system simulations to explore and refine requirements.

Section 17: Verification
Description 17: Highlight the importance of ensuring that subsequent development products reflect documented requirements accurately.

Section 18: Inspection
Description 18: Discuss the role of systematic inspection in eliminating errors and misconceptions early in the requirements engineering process.

Section 19: Metrics
Description 19: Explain the significance of measuring the products and process of requirements engineering to ensure predictability and control.

Section 20: Estimation
Description 20: Outline the responsibility of requirements engineering to supply preliminary estimates of development cost, effort, and schedule.

Section 21: Information management
Description 21: Discuss the importance of managing large volumes of technical information and documentation produced during requirements engineering.

Section 22: Recording rationale and argumentation
Description 22: Emphasize the need for recording decisions, assumptions, and alternative solutions during the requirements engineering process.

Section 23: Traceability
Description 23: Explain the importance of maintaining the ability to trace requirements both forward and backward through the development process.

Section 24: Standards and Conformance
Description 24: Discuss the need for conformance to external standards and codes of practice in documenting requirements and organizing the process.