Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Requirements Engineering: a review and research agenda

Anthony Finkelstein

City University, Department of Computer Science, London EClV OHB


acwf@cs.city.ac.uk

Abstract It is probably unnecessary to s e t down a n extensive


motivation for research in requirements engineering. In t h e
This paper reviews the area of requirements engineering. It final analysis the quality of a system is determined by t h e
outlines the key concerns to which attention should be dtvoted by e x t e n t to which it meets t h e requirements of t h e
both practitioners, who wish to "reengineer" their dtveLopment stakeholders. T h e most direct route to improving system
processes, a n d academics, seeking intellectual challenges. It quality is therefore t o ensure t h a t requirements a r e
presents a n assessment of the state-of-the-art and draws accurately determined and that a requirements focus is
conclusions in the form of a mseamh agenda. maintained through the development process. I prefer this
positive view of t h e importance of requirements
engineering to the predominant negative view, which is as
1 Introduction follows. Whenever practitioners a r e questioned about
difficulties in system development they stress inadequate
T h e purpose of this paper is to give a review of requirements engineering as a major cause of problems.
requirements engineering and to present a research agenda Errors or misconceptions identified early i n t h e
based on this review. development process are relatively cheap to eliminate. As
development proceeds t h e cost of error removal escalates
T h e review is not intended to b e comprehensive, on t h e rapidly until t h e system is in t h e field a t which point it is
contrary it is based o n a particular framework and generally prohibitively expensive to correct any errors.
categorisation of t h e principal issues, and it relies on a Further, as development proceeds errors are more difficult
personal assessment of t h e contributions in each of the key to localise as they spread across components of the system.
areas. I n particular, papers a r e cited as illustrative
examples of work and not as a survey of the literature. For T h e paper is divided into seven areas and into key concerns
some surveys of t h e literature reference may be made to within each of these areas. T h e areas reflect t h e basic
Thayer & Dorfman (1990)and to Davis (1990). A useful structure of the requirements engineering process, they are:
source of recent referencescan be found in Greenspan et al. the context in which the requirements engineering process
( 1994). takes place; t h e groundwork necessary for requirements
engineering; t h e acquisition of t h e "raw" requirements;
In order to orient t h e paper it is necessary to have a rendering these requirements useable through modelling
definition of t h e scope of requirements engineering. I a n d specification; analysis of t h e requirements;
favour t h a t given by Z a v e (1994). "Requirements measurement to control t h e requirements and systems
engineering is t h e branch of systems engineering concerned engineering process; communication and documentation of
with t h e real-world goals for, services provided by, and the results of requirements engineering. Where possible I
constraints o n a large and complex software-intensive have tried to order the concerns to reflect the progress of a
system. I t is also concerned with the relationship of these rationalised requirements engineering process. I make no
factors to precise specifications of system behaviour, and to strong claims for this structure except perhaps that it
their evolution over time and across system families." embraces most of t h e current discussion on requirements
engineering without t h e burden of introducing a novel
P u t c r u d e l y requirements engineering focuses on conceptual framework.
improvements to the front-end of the system development
life-cycle. Establishing the needs that have given rise to t h e For each of the key concerns the discussion is broken down
development process and organising this information in a into three parts: a brief orientation; an assessment of the
form t h a t will s u p p o r t system conception and state-of-the art: and a discussion of research issues.
implementation. You are asked to note the broad systems
engineering remit of requirements engineering.

10
$04.000 1994 IEEE
0-8186-6960-8/94

I
2 Context customisation in which some generic product or framework ,
'
is tailored to meet a set of requirements set down by a n
W h a t a r e the necessary preconditions for effective external client; cooperative in which knowledge of t h e
Requirements Engineering? application, t h e requirements, and t h e eventual use of t h e
system is distributed among different organisations who a r e
Orientation. Before devoting increased effort and resources partners in a development process; product oriented in
to requirements engineering it is essential for certain which an organisation develops a product to be placed in a
preconditions to b e satisfied otherwise it will be dissipated perceived market. Each of these settings confers slightly
by a generally disorganised development process. In other different responsibilities and in each case suggest different
words it isimportant that developers do not run before they technical priorities.
can walk! Because organisational distance can dim the
"voice of t h e customer" in t h e subsequent development Assessment. T h e issue of organisational context and its
process, requirements engineering effort is particularly ramifications for t h e organisation of system development
susceptible to wasteage. It should b e immediately clear has, until recently (Jones & Brooks, 1994), been neglected
that a defined and documented development process and in software engineering. T h e information systems
rigorous project management of costs, schedule & changes community has, by contrast, recognised this issue (Yadav,
are prerequisites for effective requirements engineering. 1983) and has attempted to make t h e assumptions about
Without these there is no ability to make informed organisational context, on which methods and techniques
commitments in the: development process nor channel for depend, explicit. Broadly t h e dominant view from within
the information produced by requirements engineering. software engineering has b e e n fixed o n bespoke
development. T h i s is largely because t h i s t y p e of
Assessment. T h i s area has been brought to general attention development is characteristic of the defence organisations
in t h e literature on software process maturity (Humphrey, and contractors who have been most articulate about their
1988). Perhaps the most important research lesson that this difficulties and who have funded software engineering
area of work has taught us is that improvements in software research.
development are interlocking. T h e results of associated
studies have firmly indicated to the research community Issues. T h e r e is a growing recognition of the importance of
that many of its concerns are beyond t h e immediate system customisation and extension (Lubars et al, 1993)
capabilities of industry and that it needs to clearly identify cynics might suggest that this reflects the tougher stance of
the priorities associated with different improvements and defence procurement agencies. T h e r e is virtually no work
their supporting preconditions (Humphrey et al, 1989). on the support for developing products for markets though
Requirements engineering research has been no better this concern is surfacing within general debate, in particular
than any other area of software and systems engineering in through large telecommunications organisations who, since
this regard. deregulation, now deliver services into a global competitive
marketplace.
Issues. Much of the work in requirements engineering has
been built on t h e tacit assumption that it is situated in a Contract and procurement procedures
standard "waterfall" process of system development. In this
case there is a clear mechanism for feeding the products of Orientation. I n m a n y organisational s e t t i n g s t h e
t h e requirements engineering process through to design requirements engineering process is framed by contractual
and obvious management breakpoints for measurement a n d procurement issues. Statements of requirements
and control. W e have an intuitive understanding of t h e assume a different force when embedded in a legally
preconditions for requirements engineering and how to binding contract. T h e ability t o question or pose
establish them. I n "unconventional" processes such as alternatives to certain requirements may b e blocked by t h e
incremental development there is less clarity on t h e procurement procedures of which system development is
interface between requirements engineering and t h e only a part. Unless attention is paid to t h e subtle
overall system development process and how to maintain interactions b e t w e e n c o n t r a c t , p r o c u r e m e n t and
the link between a design and t h e emerging requirements. requirements engineering relatively trivial issues can
Further work is necessary in this area. severely distort the development of the system.

Organisational setting Assessment. Most introductory texts on software and system


development m a k e mention of t h e concept of t h e
Orientation. Requirements engineering can take place in specification as contract. T h e contract metaphor has been
many organisational settings. T h e development process extensively exploited in t h e study of specification and of
may be: internal to an organisation, where the system is tool s u p p o r t ( L e h m a n , 1985). Generally however,
being produced by that organisation for its own use; contractual and procurement matters are regarded as
bespoke, where a client requests another organisation to organisationally specific or otherwise out of t h e scope of
produce a system specific t o its requirements; requirements engineering.

11
Issues. Requirements engineering does not take place in a underlying need. If the bounds are set to widely we may
vacuum. Let us take as an example a typical competitive waste time or act outside our competence or authority.
tender. Both t h e tender document and t h e bids that Bounding errors are characteristic of novice systems
respond to it contain products of requirements engineering. engineers.
These may be coloured by the commercial context and t h e
risks of giving advantage to competitors also engaged in t h e Assessment. T h e issue of bounding is one of t h e most thorny
process. Linked to this is t h e difficult matter of how to in requirements engineering. T h e r e have been very few
demonstrate the capacity to respond to a set of customer attempts to tackle it head on. A notable exception is
needs without actually doingthe design. These are real and J a c k s o n & Z a v e (1993). I t a p p e a r s relatively
significant concerns which should be addressed by research. straightforward in any given case to draw bounds but to
give general guidance on how to make bounding decisions is
Personnel and staffing the requirements engineering very difficult.
process
Issues. Further foundational and conceptual work is
Orimtation. Requirements engineering requires particular required in this area. Interesting possibilities include t h e
skills both on the part of the engineers principally involved use of design experience to inform bounding decisions.
in the system development process and on the part of t h e
client representing t h e requirements within that process. Feasibility and risk
T h e s e skills are largely communication skills. O n t h e part
of t h e systems engineer: t h e ability to listen and to Orientation. I t is q u i t e clear t h a t t h e r e are certain
assimilate t h e vocabulary and problems of t h e client. O n requirements which it is infeasible to respond to. Typically
t h e part of t h e client representative: to understand their these are cases where t h e costs of establishing t h e
constituents; to have t h e authority to make commitments requirements exceeds the benefits gained in satisfying t h e
and to be held responsible for those commitments. In the needs which underpin them; or, where satisfying t h e
final analysis t h e effectiveness of a requirements requirements would be, prima facie, illegal, unethical or
engineering process is constrained by t h e skills of t h e contrary to t h e laws of science. I t is common sense that
individuals who are party to it. feasibility should b e determined as early as possible.
Alongside this it is important to identify t h e primary risks
Assessment. There is a longstanding recognition in t h e to which the system development process is exposed. T h i s
software a n d systems engineering literature of t h e involves a basic assessment of the consequences of errors or
importance of communication skills in all phases of t h e failures in each part of the development process. Once this
requirements engineering process (Scharer, 1985). Some has been done it is possible to make a sensible allocation of
more d e t a i l e d accounts arising from research on effort across all aspects of development.
participative methods are also available. Unfortunately
most of the literature is anecdotal and unsuitable as a basis Assessment. Feasibility studies, a feature of almost all
for selection and training. industrial system development processes have been largely
ignored in t h e research literature. The exception being
Issues. T h e r e is substantial empirical evidence to support where such studies are linked to t h e development of
t h e importance of skilled individuals to t h e development prototypes (see exploration below). T h e area of risk as it
process as a whole (Boehm & Papaccio, 1988) and relates to system development is attracting attention and
corresponding to this there is a body of work on t h e there have been some significant contributions to this
psychology, selection and training of programmers (Curtis, literature (Boehm et al. 1994).
1987). It would be extremely valuable if this work could be
extended to t h e participants in requirements engineering Issues. Establishing feasibility is linked to t h e same
though doing so may pose some methodological difficulties. problems of "premature design" as bounding, discussed
above. Obviously our ability to establish feasibility and risk
3 Groundwork can b e improved by analysis of previous projects,
particularly post-mortem analysis of system failures.
Bounding Methods for carrying out such analyses and for recording
and deploying the resulting knowledge are of interest.
Orientation. The first step in a requirements engineering
exercise is to establish t h e scope and delineate the bounds 4 Acquisition
of t h e requirements and design space. T o set out the broad
area of concern and to distinguish it form those aspects of Stakeholder analysis
t h e world which are not of concern or, viewed t h e other
way, to define the space in which as engineers we are free to Orientation. T h e process of stakeholder analysis involves
act. If t h e bounds are set too narrowly we may be identifying those individuals or roles who should have a
constrained to miss an opportunity to respond to an voice in the requirements engineering process. T h e s e may

12

1
b e clients, users and other beneficiaries, they may also be held by identifiable experts, may b e buried in t h e work
people involved in subsequent design, implementation, practices of individual users, and so on.
maintenance of the system. Stakeholder analysis involves
understanding their responsibilities, capacities and the Assessment. For the most part the techniques available in
organisational relations between them. This analysis serves this area have b e e n borrowed from related fields.
as a map for subsequent information gathering and a means Requirements engineering has yet to evolve a distinct set of
of interpreting the information provided and its status. techniques of its own. T h e use ofstructured interviewsand
questionnaires is frequently cited b u t little analysed.
Assessment. T h e r e are two threads making up current work Similarly text and document analysis. Techniques such as
on stakeholder analysis. T h e first thread arises out of work repertory grids have been drawn from area of knowledge
on viewpoint-based methods in which viewpoints are tied to acquisition. An interesting emergent area is t h e use of
client authorities responsible for information provided ethnographic and associated "observational" methods. A
within those viewpoints (Kotonya & Sommerville, 1992). good starting point is Goguen & Linde (1993).
T h e second thread arises from work on enterprise
modelling in which identifying stakeholders is part of the Issues. I t is already evident that any realistic domain
process of modelling t h e organisational environment in requires a judicious selection a n d combination of
which the system is to be placed (Blyth et al, 1993). techniques. How to make such a selection and combination
is however far from clear. T h e r e is clearly significant scope
Issues. T h e work in this area needs to b e brought together. for further work in this area.
From t h e method thread - organised guidance to assist in
identifying stakeholders; from t h e enterprise modelling 5 Modelling
thread - modelling schemes for capturing t h e products of
analysis. M e a n s for reasoning about, a n d drawing Value modelling
consequences from, stakeholder analysis can be built on
this. Orientation. Decisions and tradeoffs required during design
must b e built on a systematic appreciation of those
Participation attributes (loosely, qualities) which are valued in a system
which responds to t h e originating needs. T h i s means
Orientation. Requirements engineering is a group process building a model, independent of any subsequent
involving cooperation. An important part of the implementation decisions, that documents a n d relates
requirements engineering task is facilitating collaborative these values.
work, consensus building a n d negotiation between
stakeholders. Assessment. It is unsurprising, given that t h e literature on
software engineering does not recognise decision between
Assessment. T h e r e has been a significant body of work on alternatives and tradeoffs a t any level above choice of
participation and cooperation in requirements engineering. algorithm, that it does not take a value-based view of
T h e most significant of this is t h e work on participative, requirements. Some relevant analysis can however be
joint or facilitated systems development (Macaulay, 1993) found in the ideas of multi-perspective development, for
T h i s work is related to, but distinct from, work on the example the use of utility analysis by Robinson(l990). T h e
application of "groupware" to requirements engineering (for general engineering design literature Finkelstein &
example Kaplan, 1992). Finkelstein (1983) and discussions of quality management
provide some useful pointers.
Issues. T h e shortcomings, and hence the research issues, in
this area are mostly common to t h e study of cooperative Issues. T h e application of multi-criteria decision making
work in general (Grudin, 1990). T h e r e is not much solid techniques in software development as a whole is a n
empirical work and what there is, is too narrow to form a interesting open area. Techniques such as QFD (Brown,
basis for effective support, either by tools or methods. T h e 1991) which h a v e b e e n extensively applied to
underlying models of cooperation are too impoverished to manufacturing development may be transferable.
have real application in a complex task such as
requirements engineering. Modelling goals and required services

Information gathering Orientation. T h e core of requirements engineering, and t h e


primary means by which the needs are rendered in a form
Orientation. Probably t h e most difficult task in that can be used to realise them, is the identification of t h e
requirements engineering is information gathering - that is goals that a projected system is required to satisfy and t h e
gathering information on t h e needs and t h e "domain" or services that it should supply. T h e goals may, of course
"environment" in which these needs are situated. T h i s have interdependencies or conflicts which m u s t be
information may be set down in large documents, may be modelled and where appropriate resolved. I n certain

13
circumstances, goals may b e interpreted as service can be used to predict the problems they might encounter
provision; however, in identifying these it is necessary to and to suggest ways in which the interface to the system
identify t h e "external" actions t h e system should perform can b e organised to have a better fit with their tasks and
without constraining precisely how t h e y should be t h e way in which they understand t h e system and its
performed. properties.

Assessment. A number of approaches have emerged which Assessment. In some sense much of t h e work carried on
explicitly represent goals and build a system model round under the heading of task analysis mirrors other modelling
these goals. Foremost among them are: Feather (1987); carried out in requirements engineering. T h e difference is
Dardenne et al (1993); Fickas & Helm (1992). Though in the modelling focus and in the type of analysis to which
these approaches differ in specifics the broad outline is the these models are subject (to determine user based notions
same. I regard them as among the most promising work in of consistency, complexity, and so on). A reasonable review
the broad area of requirements engineering. is given in Johnson (1992).

Issues. T h e approaches all provide means of modelling goals Issues. Task analysis has largely been ofconcern to the user
and reasoning about t h e relations between those goals. interface design community and the techniques which have
T h e y are weak on techniques for actually identifying those arisen from it have, with some notable exceptions (Lim et
goals. If t h e approaches developed in this area a r e to be al, 1990), not been treated as part of a larger systems
taken u p in practice they need to b e properly tested in engineering process. Work o n method integration is
large case studies. Some merging of related methods would required a n d may yield substantial economies as
be beneficial. T h e approaches may also have to be shorn of information collected in task models is obtainable
representation schemes which, while important to their elsewhere in the requirements engineering process. Further
development hinder further exploitation. work on identifying relevant aspects of human task
performance that can be derived from task models is also
Domain modelling required.

Orientation. T h e projected system will reside in an Reuse


environment whose structure and behaviour must be
understood. T o this e n d a model, or more accurately Orientation. I t might be thought from t h e discussion above
models, of t h e environment must b e constructed. These that requirements engineering is always done d e novo. T h i s
models must b e in a form that t h e interactions of the is, of course far from the case. T h e r e is scope for reusing
system with the environment can be defined. both the products and process of requirements engineering
from previous exercises and for organising t h e process of
Assessment. T h e term domain modelling has been used in a requirements engineering so a s t o e n h a n c e t h e
variety of different senses a common usage is that of opportunities for subsequent reuse.
modelling an "application domain" within which a class of
related systems will b e built. T h i s is a reuse issue, discussed Assessment. Obviously t h e use of modelling schemes,
below. I am employing a less conventional use of the term, employing inheritance or t h e like, which are capable of
that of modelling t h e "domain" objects with which a supporting reuse h a v e attracted a t t e n t i o n within
projected system system will interact. Clearly there is an requirements engineering. T h e most significant application
overlap between these usages. T h e main contributions to of these schemes has been in the specification of "families of
this area are t h e object-oriented analysis methods for systems", where rather than setting down the requirements
example Rumbaugh et al. (1991). for a single system, the system is seen as an member of a
family or class of related systems which share goals,
Issues. A practical problem in this area is deciding among services, domain models, and so on (Garlan, 1989). T h e r e is
the various methods and associated modelling schemes that some evidence that for narrow domains with small variants,
have been proposed. As y e t no clear means of assessing this approach may yield dividends, at t h e higher level
these proposals has emerged. A number of interesting however (Reubenstein & Waters, 1989) it is unproven. An
approaches to t h e identification of domain objects have interesting development in this area is the use of case-based
been suggested, mostly based on t h e use of events and techniques for example Maiden & Sutcliffe (1992).
scenarios (Jacobsen et al, 1992). T h i s seems an important
and interesting area for further research. Issues. I must confess to a scepticism about reuse in
requirements engineering. T h i s stems from a basic
Task analysis discomfort about the overall idea of reuse in the context of
requirements (as distinct from design) and broader research
Orientation. Most systems interact with humans. I t is strategy worries about treating with reuse before we have
essential therefore to identify these people and understand established practice for use. I feel effort is better spent in
the tasks that they perform using the system. This model the weak link of reuse - giving developers t h e ability to

14
rapidly assimilate and understand t h e documents and and exploration both in executable specification and
models produced by others. Given that my scepticism is automated reasoning.
unlikely to turn t h e tide of work on reuse the research
issues are t h e construction of significant case bases and Issues. T h e difficulties of exploration are well documented:
generic domain models for realistic domains. what should be included in t h e prototype or simulation;
how much of the prototype or simulation should b e carried
6 Analysis through to t h e final realisation; and, how to guide
exploration and organise feedback. Despite the amount of
Validation work in t h e area these difficulties remain as unresolved
research issues.
Orientation. Assuming that t h e acquisition and modelling
processes are imperfect some validation of the products of Verification
the requirements engineering process is necessary. T h a t is,
they must be analysed in order to establishing the extent to Orientation. Verification s e e k s to establish t h a t t h e
which they accurately embody the requirements. Where subsequent products of the development process accurately
there is a mismatch between t h e conception of the reflect t h e requirements as documented ( n o t e the
stakeholders and t h e requirements as documented this distinction between this and validation). It is no use taking
must be ironed out. great care with the requirements only to be unable to check
that they are czrried forward through development, for
Assessment. T h e bulk of t h e work on validation has example to t h e formulation of a testing programme, in a
concentrated o n exploration and inspection which are consistent fashion.
discussed separately below. Much of the remainder has
concentrated on providing modelling schemes which are, in Assessment. Software development orthodoxy sets down that
some sense, easy to validate (graphical languages and so at each stage in software development you should be able
on). Other work relevant to validation includes the use of to prove that t h e specification (however construed) you
scenarios (Benner et al, 1992) and specification animation have developed is secure with respect to t h e preceding
(Finkelstein & Kramer, 1991). Work on tools which allow specification. T h e r e is a great deal of research aiming to
multiple views and browsing of complex document and establish the means to achieve this a good selection can be
model structures are also significant (see information found in IWSSD (1993).
management below). Alternative directions are suggested
by work on specification critiquing (Fickas & Nagarajan, Issues. Clearly, automated support for formal reasoning and
1988) and on annotation schemes for marking errors in proof requires significant further research. However, for
specifications (Finkelstein, 1992). those who are not wholehearted subscribers to the formal or
transformational development agendas the issues are less
Issues. Ideally validation should be as tightly tied to and clear. Verification becomes a matter of consistency
interleaved with requirements production as possible. management (Finkelstein et al, 1994) in which
However organisational factors can intervene to prevent inconsistency is tolerated at certain points in development
this. In such cases t h e validator may b e faced with large while a t others consistency is checked and enforced.
amounts of information and no guidance on how to proceed Taking this more permissive view of verification poses
or what questions to ask. Research on methods for research challenges which still have to be resolved.
providing such guidance and on developing interesting or
relevant questions to ask of the products of requirements Inspection
engineering would be valuable.
Orientation. T o complement more formal analysis,
Exploration systematic inspection is a proven route to eliminating
errors. T h e purpose of inspection is to remove errors and
Orientation. I t is well known that when confronted with a misconceptions as near source as possible hence reducing
system people are able to identify its merits and demerits costs of rework. T h e basic approach involves defining exit
while unable to set down their requirements on a blank criteria for each of the major elements of the requirements
piece of paper. O n e way round this problem is to build a engineering process and establishing team based review
prototype or devise a system simulation as a vehicle for with respect to these criteria. Analysis of the results ofsuch
exploring the requirements. inspections can b e used for requirements engineering
process improvement.
Assessment. T h e r e is a considerable body of work on
prototyping and exploratory development. An example of Assessment. Inspection is proven to work, it is simple and
such work immediately relevant to requirements widely used throughout industry. I t should follow from this
engineering is Luqi (1992). Perhaps the most interesting that there is widespread research interest. Strangely this is
area of work is at the meeting point of formal specification not the case. T h e cornerstone of most research and practice

15
in t h e area of inspection is still Fagan (1976). T h e r e have engineering research agenda. However w e need to frame
been some refinements (Porter & Votta, 1994) but the basic requirements engineering processes and products with a
approach remains essentially unchanged. Inspection as a view to estimation. T h i s means among other things
software engineering activity lends itself nicely to data building support for comprehensive data collection into
gathering and empirical research. methods and tools.

Issues. T h e use of computer support for inspection and 8 Communication & Documentation
automated data gathering are deserving of attention. T h e
development of groupware support for inspection has been Information management
considered (Johnson, 1994) there is however considerable
scope for further work in this area. Orientation. T h e requirements engineering process
produces large amounts of richly interrelated technical
7 Measurement information and documentation. Some of this is textual,
some graphic (drawings a n d diagrams). Storage and
Metrics retrieval a n d production of high quality, tailored
documentation is of considerable practical importance
Ohmtation. A requirements engineering process is not much
different from any other industrial process. I t is important Assessment. T h e r e have been substantial improvements in
t h a t t h e process b e predictable and t h a t schedule software support for t h i s task based largely on
commitments are met with reasonable consistency. T h i s improvements on improved database technology for
means measurement of t h e products and process of example James (1994). T h e broad thrust of research in this
requirements engineering and statistical control applied to area is linked to progress on software engineering
process improvement. repositories and t h e associated issues of distribution and
long transactions.
Assessment. Without a settled or established requirements
engineering process and an agreed set of products derived Issues. In the future we can expect to add video and sound
from that process it is difficult to define appropriate records of technical meetings and document annotations.
metrics. I t should not b e surprising therefore that work on T h e r e has been some preliminary work on this (Christel et
metrics has not devoted much attention to requirements al, 1993). T h e management of this information and its use
engineering. A good review appears in Fenton (1991). Some in a principled manner is of research interest. Information
of t h e simpler metrics discussed in t h e literature, for presentation a n d extraction from large volumes of
example error detection rates, are broadly applicable across requirements engineering also presents interesting research
software development a n d can often provide useful issues.
indicators in requirements engineering
Recording rationale and argumentation
Issues. Progress on requirements metrics must lag inevitably
research in requirements engineering. While I acknowledge Orientation. In the discussion above we have placed great
t h e importance of measurement, a broad range of general emphasis o n t h e creation a n d tracking of models,
purpose metrics in this area may not be achievable in t h e specifications and associated information - t h e products of
medium-term future. requirements engineering. However in mogt system
development processes more than 70% of costs are in
Estimation rework and half t h e effort in these activities are about
understanding t h e system in order t o m a k e effective
Orientatiota. I t is t h e responsibility of requirements corrections and enhancements. In order to achieve this
engineering t o s u p p l y preliminary e s t i m a t e s of understanding you need to know what decisions were
development cost, effort and schedule. T h e s e estimates considered, assumptions made and alternative solutions
may b e derived from t h e measurements discussed above rejected. T h i s information may be remembered but with
and records of development experience. However, this is an time and staff turnover it soon gets lost. It is essential t o
area in which current requirements engineering practice is keep a "process-oriented" record of t h e rationale and
inadequate. argumentation underpinning the products of requirements
engineering.
Assessment. Much of what has been said above for metrics
applies to estimation. which adds to t h e challenges of Assessment. T h i s area has attracted much attention with
measurement those of predictive models (Boehm & variants of, and improvements on, t h e work of Conklin
Papaccio, 1988) and data collection. (1989). For a useful discussion see Lee & Lai (1991) and for
tool support Kaplan et al. (1992). Recent work of Potts et
Issues. Following on from the comments on metrics I would al. (1994) suggests m o r e focussed application of
not place research on estimation high on a requirements argumentation support in requirements engineering.
Issues. T h e use of argumentation support in systems 9 Conclusion
development as a whole has proceeded rapidly without any
systematic assessment. Different argumentation schemes I have highlighted a spread of issues that belong on a
have been advanced without a clear understanding of their requirements engineering research agenda and have where
advantages a n d drawbacks with respect to existing possible tried to indicate the priority I believe should be
proposals. T h i s needs to b e rectified before the area can attached to them. However, by presenting these issues area
advance further. by area I have missed what I regard as the most important
problem in requirements engineering research and practice.
Traceability W e lack an adequate understanding of t h e requirements
engineering process as a whole. T h a t is of how the many
Orientation. Traceability is the ability to follow the "life" of individual contributions can b e assembled into a coherent
requirements in both a forward and backward direction tool-supported method (using that term loosely). Alongside
through t h e development process. Forward traceability is advance on t h e issues highlighted above t h e r e is an
needed to demonstrate how a requirement is manifested in important need for consolidation at both t h e conceptual
a system a n d t h e intermediate products of system and pragmatic levels.
development. Backward traceability is required in order to
maintain t h e integrity of t h e requirements in the face of
subsequent design changes or in the environment in which Acknowledgements
the system operates.
I would like to acknowledge my colleagues a t Imperial
Assessment. T h i s area has recently seen an upsurge in College and at City University for their guidance. I a m
research interest. T h e bulk of the work concentrates on the grateful to the European Union for project support.
ability to link fragments of text, to visualise navigate these
links. A detailed assessment is included in Gotel & References
Finkelstein, 1994.
Benner, K.; Feather, M.; Johnson, W.L. & Zorman, L.
Issues. In this assessment t h e issue of "pre-requirements, (1992); Utilizing Scenarios in t h e Software Development
traceability" is highlighted. In particular t h e problems of Process; Proc. I F I P W G 8.1 Working Conference on
linking artifacts produced during requirements engineering Information Systems Development Process; North-
to the groups and individuals involved in their production. Holland.
Some interesting ideas on the use oftruth-maintenance and Blyth, A., Chudge, J., Dobson, J. & Strens, M. (1993);
constraint networks in this context are also emerging and O R D I T : a new methodology to assist in t h e process of
appear worthy of further research attention. eliciting and modelling organisational requirements; ACM
Conference on Organizational Computing Systems 1993; pp
Standards and Conformance 216-223, ACM Press.
Boehm, B.; Bose, P.; Horowitz, E. & Lee, M.J. (1994);
Orientation. Most organisations with mature systems
Software Requirements as Negotiated Win Conditions;
engineering practices require conformance to external
Proc. 1st International Conference o n Requirements
standards and codes of practice which s e t down how
Engineering; pp 74-83, I E E E CS Press.
requirements should b e documented and how the process
should be organised. Boehm, B.W & Papaccio, P.N. (1988); Understanding and
Controlling Software Costs; I E E E Transactions on
Assessment. For t h e most part standards and guidelines in Software Engineering, SE4, 10, pp 1462-77.
t h e requirements engineering consist of rather crude Brown, P. (1991); QFD: echoing the voice of the customer;
checklists and prescribed document layouts (for a good A T & T Technical Journal; March-April; pp18-32.
collection of examples see Dorfman & Thayer, 1990). Christel, M.; Wood, D.; Stevens, S. (1993); AMORE: T h e
Advanced Multimedia Organizer for Requirements
Issues. Standards constitute minimal good practice thus Elicitation; CMU Technical Report; CMU/EI-93-TR-12.
there will always be a gap between what is suggested by
standard bodies and the state-of-the-art. In an area of rapid Conklin, J. (1989); Design Rationale and Maintainability;
change such as requirements engineering this is doubly Proc 22nd Hawaii International Conference on System
true. However I am inclined to the view that standards in Sciences; 11, pp533-539; I E E E CS Press.
t h e requirements engineering area have slipped further Curtis, B. (1987); Five Paradigms in t h e Psychology of
from what is known in research and advanced practice than Programming; MCC Technical Report; STP-132-87.
is acceptable. T h i s is a challenge to those involved in t h e Dardenne, A.; Fickas, S. & van Lamsweerde, A. (1993);
standards process, particularly large system procurers, to Goal-directed Requirements Acqusition; Science of
reexamine this area. Computer Proigramming; 20, pp 3-50.

17
Davis, A.M. (1990);Software Requirements: analysis and Humphrey. W.S.; Kitson, D.H. & Kasse, T.C. (1989); T h e
specification; Prentice Hall Inc. State of Software Engineering Practice: a preliminary
Dorfman, M. & Thayer, R.H. (1990); Standards, Guidelines report; Proc. 1 l t h International Conference on Software
and Examples o n System and Software Requirements Engineering; pp 277-288, I E E E CS Press.
Engineering; I E E E CS Press Tutorial. IWSSD (1993); Proc. of t h e 7th International Workshop on
Fagan, M.E. (1976); Design and Code Inspections to Software Specification and Design; I E E E CS Press.
Reduce Errors in Program Development; IBM Systems Jackson, M. & Zave, P. (1993); Domain Descriptions; Proc.
Journal; 15,3, pp 182-211. I E E E International Symposium o n Requirements
Feather, M.S. (1987); Language S u p p o r t for t h e Engineering; pp 56-64, I E E E CS Press.
Specification and Development of Composite Systems, Jacobsen, I; Christerson, M.; Jonsson, P. & Overgaard, G.
ACM Transactions o n Programming Languages and (1992); Object-Oriented Software Engineering: a usecase
Systems; 9, 2, pp 198-234. driven approach; Addison-Wesley.
Fenton, N.E. (1991); Software Metrics: a rigorous approach; James, L. (1994); Practical Experience in Automatic
Chapman & Hall. Requirements Elicitation: t h e real issues; Proc. of
Fickas, S. & Helm, R. (1992); Knowledge Representation Workshop on Requirements Elicitation for Software-based
and Reasoning inthe Design of Composite Systems; I E E E Systems (RESS); University of Keele, UK.
Transactions on Software Engineering; pp 470- 482. Johnson, P. (1992); H u m a n C o m p u t e r Interaction:
Fickas, S. & Nagarajan, P. (1988); Being Suspicious: psychology, task analysis a n d software engineering;
critiquing problem specifications; Proc AAA1 88; 1, pp19-24; McGraw-Hill.
Morgan Kaufmann Pub. Johnson, P. (1994); An Instrumented Approach to
Finkelstein, A. & Finkelstein, L.(1983); Review of Design Improving Software Quality through Formal Technical
Methodology; Proc. IEE,130 ptA,4, pp213-222. Review; Proc. 16th International Conference on Software
Engineering; pp113-122, I E E E CS Press.
Finkelstein, A. & Kramer, J. (1991); TARA: Tool Assisted
Requirements Analysis; Conceptual Modelling, Databases Jones, M. & Brooks, L. (1994); Addressing Organisational
& CASE: a n integrated view of information systems Context in Requirements Analysis Using Cognitive
development; [Eds] Loucopoulos, P. & Zicari, R.; Addison- Mapping; Proc. of Workshop on Requirements Elicitation
Wesley. for Software-based Systems (RESS); University of Keele,
UK.
Finkelstein, A. (1992); Reviewing a n d Correcting
Specifications; Instructional Science, 21, pp183-198. Kaplan, S.M. et al (1992); Supporting Collaborative
Software Development with Conversation Builder; Proc.
Finkelstein, A.; Gabbay, D.; Hunter, A.; Kramer, J.; &
ACM SDE; pp 11-20.
N u s e i b e h , B. (1994); Inconsistency Handling in
Multiperspective Specifications; I E E E Transactions on Kotonya, G. & Sommerville, I (1992); Viewpoints for
Software Engineering; 20,8, pp 569-578. Requirements Definition; Software Engineering Journal; 7,
6, pp 375-387.
Garlan, D. (1989); T h e Role of Formalized Domain-Specific
Software Frameworks; Proc. 5th International Software Lee, J. & Lai, K-Y. (1991); What's in Design Rationale?;
Process Workshop; I E E E CS Press Human-Computer Interaction; 6, 3-4, p p 251-280.
Goguen, J. & L i n d e , C . (1993); T e c h n i q u e s for L e h m a n , M . (1985); Approach t o a -Disciplined
Requirements Elicitation; Proc. I E E E International Development Process - T h e ISTAR Integrated Project
Symposium o n Requirements Engineering; p p 152-164, S u p p o r t Environment; Imperial College D e p t . of
I E E E CS Press. Computing Tech Report 85/19.
Gotel, 0. & Finkelstein, A. (1994); An Analysis of the Lim, K.Y; Long, J.B. & Silcock, N. (1990); Requirements,
Requirements Traceability Problem; Proc. International Research and Strategy for Integrating Human Factors with
Conference on Requirements Engineering; p p 94-101; Structured Analysis and Design Methods: T h e Case of t h e
I E E E CS Press. Jackson System Development Method; [In] Contemporary
Ergonomics 1990; Proc. Ergonomics Society Conference;
Greenspan, S.; Mylopoulos, J. & Borgida, A. (1994); O n
Taylor and Francis.
Formal Requirements Modelling Languages: R M L
revisited; Proc. 16th International Conference on Software Lubars, M. & Potts, C. & Richter, C. (1993); Developing
Engineering; pp 135-147, I E E E CS Press Initial OOA Models; Proc. 15th International Conference
on Software Engineering; I E E E CS Press.
Grudin, J. (1990); Groupware and Cooperative Work:
problems and prospects; [In] Laurel, B. [Ed.], T h e Art of Luqi (1992); Computer-aided Prototyping for a Command-
Human-Computer Interface Design; Addison-Wesley. and-Control System Using CAPS; I E E E Software; 9, 1, pp
56-67.
Humphrey, W.S. (1988); Characterizing t h e Software
Process: a maturity framework; I E E E Software; 5, 2, pp 73-
79.

18
Macaulay, L. (1993); Requirements C a p t u r e as a
Cooperative Activity; Proc. I E E E International
Symposium on Requirements Engineering; p p 174-181,
I E E E CS Press.
Maiden, N. & Sutcliffe, A. (1993); Exploiting Reuseable
Specifications Through Analogy; Communications of the
ACM; 3 5 4 , p p 55-64.
Porter, A.& & Votta, L.G. (1994); An Experiment to Assess
Different D e f e c t Detection M e t h o d s for Software
Requirements Inspection; Proc. 1 6 t h International
Conference on Software Engineering; pp 103-1 12, I E E E CS
Press.
Potts, C.; Takahashi, K.; Anton, A. (1994); Inquiry-Based
Scenario Analysis of System Requirements; Georgia T e c h
Technical Report; GIT-CC-94-14.
Reubenstein, H. & Waters, R. (1989); T h e Requirements
Apprentice: an initial scenario; Proc 5th International
Workshop on Software Specification & Design; pp 21 1-218,
I E E E CS Press.
Robinson, W. (1990); Negotiation Behaviour During
Requirements Specification; Proc. 12th International
Conference on Software Engineering; p p 268-276, I E E E CS
Press.
Rumbaugh, J.; Blaha, W.; Premerlani, F. & Lorenson, W.
(1991); Object-Oriented Modelling and Design; Prentice-
Hall Inc.
Scharer, L. (1985); Pinpointing Requirements; Datamation;
April, 1981; pp 139-151.
Thayer, R.H. & Dorfman, M. (1990); System and Software
Requirements Engineering; I E E E CS Press Tutorial; I E E E
CS Press.
Yadav, S.B. (1983); Determining an Organisations
Information Requirements: a state-of-the-art survey;
Database; 3-20.
Zave, P. (1994); Call for Papers a n d Associated
Classification Scheme; I E E E International Symposium on
Requirements Engineering 1995.

19

You might also like