Technical Goals
In the final analysis the quality of a system is determined by the extent to which it meets the requirements of the stakeholders. The most direct route to improving system quality is therefore to ensure that requirements are accurately determined and that a requirements focus is maintained through the development process. Whenever practitioners are questioned about difficulties in system development they stress inadequate requirements engineering as a major cause of problems. Errors or misconceptions identified early in the development process are relatively cheap to eliminate. As development proceeds the cost of error removal escalates rapidly until the system is in the field at which point it is generally prohibitively expensive to correct any errors. Further, as development proceeds errors are more difficult to localise as they spread across components of the system. It follows from both the quality and cost perspectives that effective requirements engineering is central to improving European industry competitiveness.
We have formulated our goals in terms of `research areas', reflected in our organisation of RENOIR. Each research area presents a set of associated `tasks'. We identify these tasks below and make reference to the state of the art. References are made to significant work in each area forming a basis for future work and to convenient sources for further references. For a general discussion of related work reference should be made to Thayer & Dorfman (1990), Davis (1990) and Greenspan et al. (1994) all of which include extensive references.
The primary long-term technical goal of RENOIR is to improve requirements engineering practice so that organisations can rapidly, accurately, and efficiently establish and maintain a requirements focus through the development process. |
Goal
To understand the context in which the requirements engineering process takes place.
Tasks
Preconditions
Establishing what needs to be in place, elsewhere in the process, in
order for effort and resources devoted to the requirements engineering
process not to be dissipated.
Organisational setting
Differentiating between the different organisational settings in which
the requirements engineering process takes place.
Contract and procurement procedures
Understanding the contractual and procurement procedures within the organisations party to the requirements engineering process and their implications for that process.
Personnel and staffing
Identifying the skills required by, selection, and organisation of, the individuals and groups involved in the requirements engineering process.
Goal
To provide support for the groundwork necessary in order to establish a requirements engineering process.
Tasks
Bounding
Establishing the scope and delineating the bounds of the requirements
and design spaces.
Feasibility and risk
Determining the feasibility of satisfying the preliminary requirements
and identifying the primary risks to which the system development
process is exposed.
Make or buy?
Determining the likelihood that the system will be developed or
purchased, and configuring the requirements engineering process
appropriately.
C : Acquisition & Construction
Goal
To support the acquisition of the "raw" requirements and/or the construction of those requirements through development of a common problem or reference structure.
Tasks
Stakeholder analysis
Identifying those "roles" that should have a voice in the requirements
engineering process.
Participation
Facilitating group work, codevelopment, consensus building and
negotiation.
Information gathering
Gathering information on the requirements and on the domain and
environment in which they are situated by methods such as observation,
interview, analysis of texts, questionnaires.
Goal
To provide the means for rendering `raw' requirements useable through modelling and specification.
Tasks
Value modelling
Identifying and building a quality model relating those attributes
which are valued in a system which responds to the originating needs.
Identifying goals and required services
Identifying and specifying the goals that a projected system is
required to satisfy and the services that it should
supply. Identifying and specifying the constraints under which the
goals are to be achieved.
Environment modelling
Building a model or models of the environment in which the projected
system will reside which may include enterprise or organisational
modelling.
Task analysis
Identifying the users of the projected system and developing an
understanding of their tasks through modelling supported by
participation, exploration and observational studies.
Reuse
Reusing the products and process of requirements engineering,
including organising for reuse, specifying "families of systems" (aka
domain modelling) and "reverse engineering" products of the
development process to obtain requirements information.
Goal
To support the analysis of the requirements.
Tasks
Validation
Analysing the products of the requirements engineering process and
establishing the extent to which they accurately embody the
originating needs.
Exploration
Prototyping and system simulation as vehicles for exploring the
requirements.
Inspection
Systematically examine the products of requirements engineering with a
view to eliminating errors and process improvement.
Verification
Establishing relations between, and analysing the products of the
development process (notably design and test) with respect to the
requirements.
Goal
Defining measurement schemes to control, with respect to agreed objectives, the requirements and systems engineering process.
Tasks
Metrics
Obtaining measures of the products and process of requirements
engineering.
Estimation
Deriving estimates of development cost, effort and schedule.
G : Communication & Documentation
Goal
Support for the communication and documentation of the results of requirements engineering.
Tasks
Information management
Management of large volumes of interrelated textual and graphic information.
Recording rationale and argumentation
Recording the rationale and argumentation underpinning the products of
requirements engineering.
Traceability
Following the life of requirements in both a forward and backward direction through the development process, maintaining the integrity of the requirements in the face of system evolution and changes in the domain.
Standards and Conformance
Ensuring conformance to standards and codes of practice in
requirements engineering.