12
A Tool to Support Collaborative Software Requirements Management Michael Lang 1 Michael Lang 1 and Jim Duggan 2 and Jim Duggan 2 1 Department of Accountancy and Finance, National University of Ireland, Galway, Ireland; 2 Department of Information Technology, National University of Ireland, Galway, Ireland The system requirements specification (SRS) is a highly dynamic document that grows and evolves throughout a software development project, and it is critical that it be carefully engineered and managed. Because the SRS fulfils many roles and is of interest to a diversity of stakeholders, its management should be a collaborative process supported by an automated tool. Commercial requirements management tools are at present insuffi- ciently versatile to support collaboration between a multidisciplinary and potentially distributed team of stakeholders. The requirements for such a collaborative tool are herein presented, alongside the design of a prototype and the findings of its application in a case study. Keywords: Computer-aided software engineering; Requirements management; Requirements volatility; Software development process 1. Introduction Software development is not merely a technological challenge, but is also a complex social process, and is arguably the most intensive of all engineering disciplines as regards human communications. Effective communication amongst the stakeholders of a software development project is vital to its success. Conversely, if communication is ineffective, the likelihood of delivering a successful system is remote. In particular, the communication of software requirements is extremely problematic. Often, much of post-delivery maintenance work can be traced to requirements which had been poorly or falsely described in the system requirements specification (SRS), or were missed altogether. Significant productivity gains stand to be realised if communication can be improved. In order to bring about improvement, an effective process and the infrastructure to support it must be provided. This paper is founded on the proposition that the software requirements management process must neces- sarily be a collaborative activity because of the complexity of communication involved. We argue that presently available requirements management tools are inadequate to support all aspects of such a collaborative process. In view of the shortcomings of commercial tools, a prototype was designed and constructed by the authors, and validated in a case study. This prototype, hereafter referred to as RM-Tool, seeks to manage and control requirements within a process that actively engages multidisciplinary, distributed project teams. It is based upon a multi-user Web-enabled multimedia database, implemented using Lotus Notes groupware. 2. Research Method Drawing from the literature in the areas of requirements management, communications theory and cooperative work systems, the authors derived a core set of requirements that a tool for collaborative software requirements management must address. These require- ments were classified as ‘mandatory’ ‘desirable’, or ‘optional’, and were allocated priorities (see Fig. 1). The next step was then to assess the extent to which currently available requirements management tools fulfil these requirements. There are so many commercially available tools that claim to support the requirements Requirements Eng (2001) 6:161–172 ß 2001 Springer-Verlag London Limited Requirements Engineering Correspondence and offprint requests to: M. Lang, Department of Accountancy and Finance, Galway, Ireland. Email: michael.lang@ nuigalway.ie

A Tool to Support Collaborative Software Requirements Management

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

A Tool to Support Collaborative Software RequirementsManagement

Michael Lang1Michael Lang1 and Jim Duggan2and Jim Duggan2

1Department of Accountancy and Finance, National University of Ireland, Galway, Ireland; 2Department of Information Technology, National University ofIreland, Galway, Ireland

The system requirements specification (SRS) is a highly

dynamic document that grows and evolves throughout asoftware development project, and it is critical that it be

carefully engineered and managed. Because the SRS

fulfils many roles and is of interest to a diversity of

stakeholders, its management should be a collaborative

process supported by an automated tool. Commercial

requirements management tools are at present insuffi-

ciently versatile to support collaboration between a

multidisciplinary and potentially distributed team ofstakeholders. The requirements for such a collaborative

tool are herein presented, alongside the design of a

prototype and the findings of its application in a case

study.

Keywords: Computer-aided software engineering;Requirements management; Requirements volatility;Software development process

1. Introduction

Software development is not merely a technologicalchallenge, but is also a complex social process, andis arguably the most intensive of all engineeringdisciplines as regards human communications. Effectivecommunication amongst the stakeholders of a softwaredevelopment project is vital to its success. Conversely,if communication is ineffective, the likelihood ofdelivering a successful system is remote.

In particular, the communication of softwarerequirements is extremely problematic. Often, much of

post-delivery maintenance work can be traced torequirements which had been poorly or falsely describedin the system requirements specification (SRS), or weremissed altogether. Significant productivity gains stand tobe realised if communication can be improved. In orderto bring about improvement, an effective process and theinfrastructure to support it must be provided.

This paper is founded on the proposition that thesoftware requirements management process must neces-sarily be a collaborative activity because of thecomplexity of communication involved. We argue thatpresently available requirements management tools areinadequate to support all aspects of such a collaborativeprocess. In view of the shortcomings of commercialtools, a prototype was designed and constructed by theauthors, and validated in a case study. This prototype,hereafter referred to as RM-Tool, seeks to manage andcontrol requirements within a process that activelyengages multidisciplinary, distributed project teams. Itis based upon a multi-user Web-enabled multimediadatabase, implemented using Lotus Notes groupware.

2. Research Method

Drawing from the literature in the areas of requirementsmanagement, communications theory and cooperativework systems, the authors derived a core set ofrequirements that a tool for collaborative softwarerequirements management must address. These require-ments were classified as ‘mandatory’ ‘desirable’, or‘optional’, and were allocated priorities (see Fig. 1).

The next step was then to assess the extent to whichcurrently available requirements management tools fulfilthese requirements. There are so many commerciallyavailable tools that claim to support the requirements

Requirements Eng (2001) 6:161–172� 2001 Springer-Verlag London Limited Requirements

Engineering

Correspondence and offprint requests to: M. Lang, Department ofAccountancy and Finance, Galway, Ireland. Email: [email protected]

management process (or part of it) that it was neitherreasonable nor possible to perform a detailed assessmentof them all. The authors therefore adopted an evaluationmethodology with the objective of reducing thisextensive set of tools to a select few ‘best in class’products. Tools that did not meet mandatory require-ments were automatically eliminated. The remainderthen underwent closer inspection, based on the match ofproduct features to prioritised requirements. From thisassessment, a shortlist of nine tools was compiled, eachof which were subjected to detailed evaluation. Theseevaluations revealed a number of prevalent weaknesses,which in turn became the motivation for the design ofRM-Tool. To validate RM-Tool, it was applied in a casestudy, for which findings and analysis are presented. Amixture of qualitative and quantitative techniques wasused for collecting case study data.

3. Background to the Study

3.1. Aspects of Human Communication

There is general agreement on the components of amodel of human communication [1]. A key factor in theeffectiveness of communication is the similarity betweenthe environments of the sender and the receiver of amessage – that is, the closeness of their respectivebackgrounds and cumulative experience. Individualswith different environments perceive things differently,and this is a principal cause of misunderstandings. InFig. 2, the ovals denote the scope of the environments ofthe sender and the receiver. The overlap between theseenvironments signifies shared knowledge and experience– the greater this overlap, the more effective thecommunication.

The effective communication of software require-ments is a formidable challenge. In the first instance, theconceptual structures of software systems are arbitrary,complex, difficult to visualise and difficult to describe[2]. Secondly, software requirements managementnecessitates ongoing communication between stake-holders from a diversity of disciplinary backgrounds,all with different levels of expertise, interests andobjectives [2–4]. This greatly increases communica-tional overheads, and raises a need to use a variety ofcomplementary techniques to specify requirements.Thirdly, it is typically the case in requirements definitionthat, at the outset of a project, the end-user has an expertunderstanding of the operational context, and thedeveloper has a well-informed grasp of technology, buteach may be a comparative novice in the environment ofthe other [5]. Communication in software developmentmust therefore be an ongoing process, whereby users,developers and other stakeholders continually exchangeknowledge, thereby altering perceptions, shifting ex-pectations and eradicating false assumptions [6].

3.2. Communicability of the SRS

The objectives of the software requirements manage-ment process are to develop a shared, documentedunderstanding of the requirements (in the form of theSRS), and to enforce a mechanism to control volatility sothat the system satisfactorily fulfils requirements at thetime of its delivery [2]. In order to induce quality indevelopment, there must be quality in requirementsmanagement.

Inadequacies in the SRS can have a crippling effect. Itis vital that requirements be carefully managed on anongoing basis. Individually, requirements should beconcise, design-independent, feasible, precise, complete,consistent and verifiable. As a whole, a set of

Fig. 1. Research method.

Fig. 2. Model of interactive human communication.

162 M.Langand J. Duggan

requirements should be complete, prioritised, organised

in a clear structure, traceable and maintainable [2,7,8].

Above all, requirements must be communicable. This

has two aspects: firstly, that a requirement should be

unambiguous; and secondly, that it should be under-

standable. Communicability is a presupposition of some

of the other characteristics of requirements; for example,

completeness and feasibility cannot be assessed if a

requirement is not communicable.

A requirement is said to be unambiguous if it has only

one possible interpretation [7,8]. If a requirement is open

to conflicting interpretations, there may be disagreement

on what exactly is to be delivered [2]. Therefore, the

specification techniques used must not leave a doubt in

the reader’s mind as to the intended meaning [8].

A requirement is understandable if all its readers can

easily comprehend its intended meaning with a

minimum of explanation. The specification of under-

standable requirements is entirely the obligation of the

writer; it should not be incumbent upon the reader to

educate himself in a foreign language [7].

The SRS has two primary audiences: the client

organisation, and the technical community. Both these

audiences comprise a variety of interested subgroups.

This has a profound impact on communicability issues,

because it raises a need to employ a variety of different

notations, languages and other specification techniques

in conjunction with each other within or alongside the

SRS.

There are hundreds of requirement specification

techniques in common use throughout Europe [3]. Of

these, natural language descriptions is the only technique

that is generally understandable by all potential users of

the SRS, and for that reason alone should always be used

[9]. However, the shortcomings of natural language as a

specification technique are well recognised, most

notably its susceptibility to ambiguity and inconsistency

[9,10]. Replacing natural language with more structured

notations greatly decreases ambiguity, but almost always

at the expense of understandability. Therefore, natural

language should always be augmented by other

specification techniques [7]. Diagrammatic modelling

techniques are a popular approach amongst developers.

However, end-users are disadvantaged when asked to

validate such diagrams, as it typically requires them to

translate their knowledge into an unfamiliar language

[6]. Therefore, modelling techniques may be insufficient,

or even useless, in communicating with users. Often, a

better approach is the use of prototypes, which have been

found to be extremely beneficial as a communicational

aid between developers and users because they combat

the ‘invisibility factor’ [17].

3.3. Collaborative Systems Development

The importance of user involvement has been seen to bea very significant factor in overall project success.However, experiences indicate that merely involvingend-users does not guarantee anything – indeed, userinvolvement has been observed to have negligible oreven negative impacts [11]. The issue is therefore not ifusers should be involved in systems development, butrather how they should properly be involved. It isgenerally accepted that users should not becomeinvolved in technical design. Rather, the human–computer interaction (HCI) community advocates twopotential roles for users:

1. to enable the developers to acquire a detailedunderstanding of users’ work;

2. to verify that proposed solutions satisfactorily meetusers’ needs.

Traditionally, working relationships between users anddevelopers have been poor [10]. Users are disenchantedbecause developers consistently deliver unsatisfactorysystems; developers are disenchanted because they areallocated the entire blame for system failures. Further-more, users and developers have inconsistent objectives:developers want the SRS to be precise, specified infunctional terms, and finalised; whereas users expect theSRS to be flexible, open to interpretation, fully inclusiveof all their requests, and expandable on an ongoing basis.The formation of a multidisciplinary project team istherefore recommended to reconcile these divergentperspectives and to arrive at mutually agreeabledecisions [9,13,14].

For complex projects, it is necessary to integrateknowledge from many disciplines. Approaches thatemphasise the integration of upstream and downstreamactivities through the formation of multidisciplinaryteams, such as Rapid Application Development,Facilitated Application Specification Techniques andConcurrent Engineering, have become popular in recentyears. Multidisciplinary teams provide the benefits ofseveral viewpoints as stakeholders work together toidentify problems, propose solutions, and negotiatedifferent possibilities. With a dynamic, give-and-takeapproach, the team is empowered to make realisticdecisions that achieve the best, most workable outcomesfor all [11].

4. Assessment of Requirements ManagementTools

Most of the advances in software development tools andtechniques over the last three decades have focused on

ATool to Support Collaborative Software Requirements Management 163

productivity rather than quality, and have been primarilyconcerned with the work of individuals [13]. What isnow required is a means to boost the productivity andquality of work done by teams. Often, these teams aredispersed at geographically distributed sites.

Sales of requirements management tools have beengrowing steadily in recent years [15]. There are so manytools currently on the market that claim to support therequirements management process (or part of it) that it isneither reasonable nor possible to perform a detailedassessment of them all. In order to conduct a meaningfulassessment, it is necessary therefore to first identify thecore requirements of a tool for collaborative require-ments management, and then to evaluate the features ofcommercial requirements management tools againstthese requirements.

4.1. Requirements of a Tool for CollaborativeRequirements Management

The basic requirements of a requirements managementtool are well established in the literature [9,16]. Giventhe emphasis of this study on support for multi-disciplinary, distributed collaboration, some furtherrequirements are imposed. In summary, a tool to supportcollaborative software requirements management mustbe able to:

. maintain uniquely identifiable descriptions of allrequirements;

. classify requirements into logical user-defined group-ings;

. specify requirements using textual, graphical, andmodel-based descriptions, with support for rich mediadescriptions (such as images and animated simula-tions);

. define traceable associations between requirements;

. verify the assignments of user requirements totechnical design specifications;

. maintain an audit trail of changes; archive baselineversions; and engage a mechanism to authenticate andapprove change requests;

. support secure, concurrent cooperative work betweenmembers of a multidisciplinary team, which may begeographically distributed;

. support standard systems modelling techniques andnotations;

. maintain a comprehensive data dictionary of allproject components and requirements in a sharedrepository;

. generate predefined and ad hoc reports;

. generate documents that comply with standardindustrial templates, with support for presentation-quality output, WYSIWYG preview, and in-builtdocument quality controls;

. connect seamlessly with other tools and systems, bysupporting interoperable protocols and standards.

4.2. Weaknesses of Current RequirementsManagement Tools

In consideration of these requirements, the authorsconducted a review of vendor offerings. As describedearlier (see Section 2), a short-list of currently available‘best-in-class’ requirements management tools wascompiled, outlined in Table 1.

These tools were then evaluated in detail so as todetermine overall strengths and weaknesses. While mostof the short-listed tools fulfil all or nearly all of theaforementioned requirements with varying degrees ofcoverage, a number of prevalent weaknesses wereobserved, outlined as follows.

4.2.1. Usability and Comprehension Issues forNon-Technical Users

Some tools that are marketed as requirements manage-ment tools should properly be classified as systemsengineering/CASE tools. Such tools are specificallydesigned for use by skilled specialists who are proficientboth in software engineering methods and the function-ality of the tool itself. Because of the complexity ofCASE tools, and of the artefacts that they produce, theyare not practical for communicating with non-technicalstakeholders [14]. Indeed, it has been noted that CASEtools can at times even diminish the effectiveness ofcommunication between designers and end-users [17].Clearly, the orientation of CASE tools means that theyare by themselves inadequate to support a collaborativerequirements management process involving multidisci-plinary teams.

Table 1. Leading requirements management tools

Tool Version Vendor

CORE Enterprise 1.3 Vitech CorporationDOORS 4.0 Quality Systems & Software LtdCaliber-RM 1.0 Technology Builders, Inc.RDD-100 4.1.1 Ascent Logic CorporationRequisitePro 4.0 Rational Software CorporationicCONCEPT-RTM 3.7 Integrated ChipwareSLATE 4.1 TD Technologies, Inc.Vital-Link 2.3 Compliance Automation, Inc.XTie-RT 3.1 Teledyne Brown Engineering

164 M.Langand J. Duggan

4.2.2. Imbalanced Choice of SpecificationTechniques

It is recommended practice that requirements should bedescribed using both user-favoured methods (such asnatural language) and developer-favoured methods (suchas model diagrams) to enhance communication and toachieve a balance between technical clarity and generalunderstandability [9]. Few tools achieve this balance.Some are document-based with support for narratives,annotations and semi-structured natural language de-scriptions, but provide little or no modelling capabilities.Others, more akin to CASE tools, have strong modellingcapabilities but are restrictively rigorous, as they do notpermit natural language or other highly expressive mediasuch as rich pictures. Very few support compoundmultimedia documents.

4.2.3. Lack of Support for Collaborative Work

The orientation of quite a few tools is towards the stand-alone work of individual users, even though theimportance of technological support for coordinatedteamwork is widely accepted [13, 14]. Of those tools thatsupport collaborative work, none are ideally suited foruse by a multidisciplinary, distributed team where thestakeholders have diverse skills and needs.

Previous research has revealed that there is littleindustrial adoption and infusion of automated tools thatsupport coordinated, collaborative software development[18]. CASE repositories are a first step. However,purposeful collaboration requires a higher level ofgroup communication than merely accessing a sharedrepository. Rather, there must be continual interpersonalengagement so that shared understandings of complexissues emerge. Currently available tools do not offer asufficiently powerful collaboration mechanism to effec-tively achieve this.

5. Prototype Design

We see the aforementioned shortcomings as the mostsignificant impediments to effective collaborative re-quirements management. In an attempt to address theseshortcomings, a prototype, RM-Tool, was designed andconstructed. It is based upon a multi-user Web-enabledmultimedia database, implemented using Lotus Notesgroupware. As RM-Tool is a research prototype, itsscope is strictly limited. Rather than ambitiouslyattempting to provide full coverage for all therequirements earlier set forth, it concentrates primarilyon those that are presently ill satisfied by commercialtools.

5.1. Overview of RM-Tool Features

RM-Tool seeks to manage and control requirementswithin a process that actively engages multidisciplinary,distributed project teams. The key objectives of RM-

Tool are:

. to facilitate improved communication and under-standing of requirements amongst all project stake-holders by providing a balance between technical andnon-technical specification techniques;

. to facilitate enhanced collaboration between devel-opers and end-users during requirements definitionand verification;

. to engage a mechanism to control the impact ofchanges to requirements.

The first and second objectives correlate directly withthe observed weaknesses of current requirementsmanagement tools. The third objective is a corollary ofthe first two; given the added dynamism of acollaborative approach, the management of changes torequirements becomes all the more crucial.

Figure 3 provides a high-level overview of thefunctions of RM-Tool and the various roles played bythe stakeholders. Although the stakeholders havedifferent types and levels of involvement, note thatthere is no function that is of interest to only a singlestakeholder. RM-Tool was designed with this divergenceof viewpoints very clearly in mind.

The key features of RM-Tool are that it:

. maintains a shared data dictionary within a centra-lised, multi-user, multimedia database with full Web-based access;

. maintains requirement descriptions using both techni-cal and non-technical techniques, with hyperlinksbetween corresponding descriptions;

Fig. 3. High-level use case diagram for RM-Tool.

ATool to Support Collaborative Software Requirements Management 165

. provides basic support for standard modelling nota-tions;

. supports the storage and manipulation of rich text andcompound multimedia documents, which is especiallyuseful for describing complex requirements and fordemonstrating simulated implementations;

. supports time- and location-independent electroniccommunication between a team of stakeholders usingsecure, authenticated connections;

. supports backwards and forwards tracing of require-ments, from source through to implementation;

. facilitates project management, by allocating prio-rities, responsibilities and deadlines;

. has extensive reporting capabilities, and can generatea hard-copy SRS.

RM-Tool does not mandate or impose any formalisedmethodology or paradigm. Rather, it has componentsthat are capable of supporting process-centred, data-centred and/or object-oriented techniques (see Fig. 4).User Requirements are the focal documents in the

RM-Tool database, and are typically described usinguser-centred techniques such as natural language, usecase scenarios, mock-up sketches, and dialogue flow-charts. RM-Tool features a rich-text editor, and canadditionally import data in many standard word-processor, spreadsheet, and database formats, as wellas graphics, images, animations and other media types if

necessary. The requirements may be categorised into

logical, user-defined groupings to facilitate better

organisation and management. If necessary, it is possible

to derive lower-level requirements from higher-level

ones, and to specify correlations and dependencies

between requirements. For each requirement, its

source, method of capture, owners and authorised editors

are specified.

Once a user requirement has been input, the

development team can analyse it to define effort,

resource usage, technical feasibility and target imple-

mentation date. RM-Tool insists that end-users specify a

priority (‘Mandatory’ or ‘Optional’) for each require-

ment, and justify its benefit. Thus, the efforts of

developers can be prioritised and deployed where of

greatest advantage. Furthermore, RM-Tool aims to

identify and isolate volatile requirements by recording,

for each requirement, the probability that it may change

and the probability that it may cause time and cost over-

runs. These volatile requirements and, consequentially,

other requirements that are derived from them or with

which they are associated, can be closely monitored and

their implementation can be delayed until such time as

they become clearer and more stable (see Fig. 5).

All authorised editors of a requirement can collabora-

tively participate in writing it. When the requirement is

formally signed off by its owner(s), it is frozen and

Fig. 4. Class diagram for RM-Tool.

166 M.Langand J. Duggan

becomes read-only. It is possible to submit Suggestions,

Comments or Change Requests in relation to a

requirement, which are submitted by electronic mail to

the designated requirement owner(s). These can in turn

lead to follow-up actions, which may reopen a

requirement for further revision. Throughout the process,

the document history of a requirement is automatically

maintained, describing who made changes, when those

changes were made and the rationale behind the changes

(see Fig. 6).

Fig. 5. View of user requirements.

Fig. 6. Creating a user requirement through a Web form.

ATool to Support Collaborative Software Requirements Management 167

A key feature of RM-Tool is its ability to insert

bidirectional hyperlinks between process specifications,

user requirements and executable Web-based prototypes.

It is therefore possible to trace a user requirement

through to a demonstrated implementation, and back

again. The ultimate benefit of this facility is to improve

communication and understanding between end-users

and developers when verifying and validating require-

ments. Comments can be submitted back to the RM-Tool

database in relation to prototype demonstrations, which

after consideration may cause the related user require-

ment(s) and process specification(s) to be refined or

reworked.

RM-Tool also supports standard structured techniques

for data and process modelling. The specification of a

data structure involves fully describing its attributes, as

well as their data types, validation constraints and

relationships with other data structures. System beha-

viour is described primarily by means of process

specifications, which perform some operation upon the

data structures. If an object-oriented approach is being

taken, it is possible to bundle the data structures and

process specifications together into classes. Because

standard notations are being used, RM-Tool engages a

mechanism to translate the well-defined syntax of these

models into natural language narratives in English, for

the benefit of non-technical users (for example, see

Fig. 7).

5.2. Comparisons with Previous Research

The application of groupware and computer-supportedcollaborative work (CSCW) systems to requirementsmanagement is not new. Previous research effortsinclude those of Macaulay [4] and Dean et al. [14].Perhaps inevitably, our work duplicates that of otherstudies to some extent, but it also sets its own directions.

The prototype developed by Macaulay, a CooperativeRequirements Capture (CRC) tool, is a specialisedelectronic meeting system, the main objective of whichis to facilitate communication amongst a distributed,multidisciplinary group engaged in the early stages of asoftware development project. CRC bears only slightsimilarity to RM-Tool, making direct comparisonsinfeasible. Whereas RM-Tool does not offer the samedegree of group decision support as CRC, it has strongerand richer requirements modelling components.

The tool constructed by Dean et al., consisting of acollaborative Activity Modeler and a Group Data

Modeler, supports their ‘Collaborative Software En-gineering Methodology’. This methodology seeks tocombine the best elements of RAD, JAD, prototyping,information engineering, software reusability and object-oriented techniques into a single methodology. The workof Dean et al. is closely related to ours and is motivatedby similar concerns. However, where RM-Tool differs isas regards its enhanced support for distributed collabora-tion and its support for multimedia data.

Fig. 7. View showing data relationships in RM-Tool.

168 M.Langand J. Duggan

6. Case Study

In order to validate the extent to which RM-Tool

prototype fulfilled its objectives, it was applied in a

software development project over a time span of five

months (see Fig. 8). Metrics were recorded as the project

progressed, and end-users were polled for feedback and

opinions before, during and after the project.

6.1. Outline of Development Project

The project group consisted of six members: four key

end-users and two lead developers. Two of the end-users

jointly acted as project managers. The end-users were all

familiar with the operational context of the system, but

the developers had little knowledge of it at the outset. Of

the end-users, only one had significant previous

experience in authoring an SRS document. Most of the

end-users indicated that they were incompetent, or were

novices, in the application of requirement specification

techniques. The best-known and best-understood tech-

niques amongst end-users were data flow diagrams,

flowcharts and functional decomposition diagrams.

Furthermore, most of the end-users indicated that they

had little or no experience working with the software

technologies that were identified by the developers at the

outset as being of potential relevance to the eventual

system solution. It was clear therefore that there was

very little overlap between the environments of the users

and the developers, and that effective communication

would be vital so as to facilitate mutual learning and

knowledge acquisition.

The system under development consisted of six

interconnected modules, where each module corre-

sponded to a discrete business function. Responsibilities

were split amongst end-users in terms of level of input

and degree of authority for each of the modules. Initially,

there was some conflict amongst end-users as to who

was the expert for two of these modules, but this

resolved itself by amicable consensus as the project

progressed. Because of the inherent degree of require-

ments uncertainty, an evolutionary prototyping approach

was chosen, whereby requirements analysis activities

continued in parallel with design, coding and testing.

Throughout the project, there was regular contact

between the developers and the end-users. Face-to-face

meetings were conducted fortnightly, and there was

frequent e-mail and telephone communication. All of the

communications were documented in RM-Tool.

6.2. Application of RM-Tool to the DevelopmentProject

Prior to the requirements analysis phase, the end-usershad conducted their own preliminary investigation andhad produced two revisions of a draft document titled‘Functional Specification’, prepared using MicrosoftWord and Microsoft Powerpoint. Although the end-users had made a fair attempt at imposing a template, thedocument was incomplete and contained ambiguities.Some sections, including the Introduction and ProjectScope and Assumptions, were entirely blank. It appearedthat although the end-users were aware that an SRSshould contain explanatory fore-materials, they wereunclear what should be included and how to present suchmaterials.

The initial draft outline of requirements as preparedby the end-users was, by their own acknowledgment,‘very sketchy’. They readily admitted that theirinexperience in authoring such documents and in theuse of specification techniques had been an inhibitingfactor. The draft document included a basic and veryincomplete description of the logical record structures ofrequired system data, as well as mock-ups of screens andreports. There was no glossary or definition of terms,with the consequence that a number of synonyms werebeing used in a confusing and inconsistent manner.

The starting point for the application of RM-Tool wasto parse the draft document, and to import therequirements therein described. A series of face-to-facegroup and individual interviews then took place betweenthe developers and the users during the course of earlyrequirements analysis. The proceedings of these inter-views were recorded, and inputted into RM-Tool in theform of new and amended User Requirements. Asrequirements were input into the RM-Tool database, thedevelopers estimated the level of effort and resourceusage that would be required to implement them. Riskand stability ratings were specified for each requirement,to indicate the probability of time and cost overruns ordrastic change. End-users were asked to allocate a statusfor each requirement: ‘Proposed’, ‘Approved’ or‘Rejected’. Once effort, risk, stability and status hadbeen determined for each requirement, a work schedulewas prepared specifying target implementation dates(see Fig. 5). Only approved requirements were includedin the implementation plan. Requirements that had beenidentified as risky or volatile were deferred until as lateas possible so as to minimise any knock-on effect.

The RM-Tool modelling components were used tocreate data structures and process specifications. UserRequirements were mapped to System Processes, whichin turn were specified using Structured English, screenand report layout diagrams, and flowcharts. These

ATool to Support Collaborative Software Requirements Management 169

specifications then formed the basis for coding andprototyping. Hyperlinks were inserted, linking togetherassociated User Requirements, System Processes, andWeb-based Prototypes, so that it was possible to trace arequirement from source through to implementation. TheWeb-based prototypes consisted of animation sequencesdemonstrating simulated interactions, screen-captureimages depicting proposed system interfaces, dataentry validation prototypes using HTML forms andJavascript, and simple HTML mock-ups of systemreports. All comments, suggestions and change requestsmade by end-users in respect to demonstrations ofproposed implementations were logged in RM-Tool.

Throughout the design and coding phases, theimplementation status of requirements (‘Work inProgress’, ‘Complete’, ‘Abandoned’ or ‘Delayed’) wasaccordingly updated in RM-Tool. By browsing RM-Tool’s project management reports, developers and userscould monitor the status of progress in line with theagreed target implementation dates. If delays occurred,the causes were documented by appending Comments tothe affected User Requirements. In this way, any timelags that materialised were clearly visible, as wereindividual responsibilities.

6.3. Management of Changing Requirements

By the end of preliminary requirements analysis, prior tothe start of design, there were 166 unique userrequirements recorded within the RM-Tool database.By the end of design, there were 208 requirementsrecorded. Over the course of the project, a total of 74change requests were logged (see Fig. 8), of which allbut six resulted in modifications to the requirements.Most of these were received during design. Notsurprisingly, as end-users were shown early prototypes,they began to expand the requirements set and altered

existing requirements. The incidence of change requests

lessened as the project progressed, but rose slightly again

during testing.

Most change requests (31%) gave rise to new

requirements that were not included or even alluded to

in the original draft specification. A further 28% of

change requests involved making significant revisions to

previously established requirements, arising out of end-

user uncertainty. Quite a few of these revisions had

expansive scope, as they impacted upon common

features that were replicated throughout each of the six

separate modules of the system. Most of these were user

interface issues, and came to the fore in the early stages

of design. The developers were pleased to resolve such

issues at that stage, as otherwise there would have

inevitably been much user dissatisfaction at a later stage

and a consequent need for tedious rework.

Fifteen per cent of change requests referred to

extensions to requirements that had been defined in the

initial specification. These were mostly minor issues,

such as the inclusion of extra fields on a screen or a

report. Coding errors during prototype construction gave

rise to a further 12% of total change requests. Another

9% were in relation to requirements that were no longer

deemed relevant – for the most part, these were simple

issues, such as removing a field from a screen or report

because it was considered excessive or redundant.

Of the total number of change requests, 33% referred

to the user interface. This was not surprising, as a key

feature of the system under construction was a capability

to organise and present management information in a

meaningful way. In the words of one end-user, ‘The

interface is not merely cosmetic . . . for us, the interface

is the system!’ Twenty-six per cent of all change

requests were in relation to data maintenance require-

ments, and a further 23% referred to reporting

requirements. At the date of delivery, which was

marginally behind schedule, all but eight of the change

requests had been resolved. By mutual agreement

Fig. 8. Smoothed graph showing incidence of change requests by project phase.

170 M.Langand J. Duggan

between the developers and the users, implementation ofthe outstanding requests was deferred to the nextdevelopment cycle.

7. Analysis and Evaluation

As earlier set forth, we consider the most significantfactors that impede current requirements tools in theirsupport for a truly collaborative requirements manage-ment process to be (1) usability and comprehensionissues for non-technical users; (2) imbalanced choice ofspecification techniques; and (3), lack of support forcollaborative work. These impediments motivated thedesign of RM-Tool, the objectives of which are:

. to facilitate improved communication and under-standing of requirements amongst all project stake-holders by providing a balance between technical andnon-technical specification techniques;

. to facilitate enhanced collaboration between devel-opers and end-users during requirements definitionand verification;

. to engage a mechanism to control the impact ofchanges to requirements.

In the next part of this paper, we evaluate the extent towhich RM-Tool fulfilled these objectives.

7.1. Perceived Outcomes of CollaborativeApproach

All of the stakeholders were of the opinion that the highdegree of collaboration effected by the application ofRM-Tool was advantageous, and gave rise to thefollowing benefits:

. Improved knowledge exchange from developers toend-users – the end-users had limited technicalknowledge at the outset of the project. Thisconstrained their expectations of what was possible.As their perceptions about the limits of technologybecame better informed, expectations became morerealistic in terms of what was technically feasible.Some expectations had been naıvely optimistic at theoutset, while others were subdued. Therefore, somerequirements were discarded as the end-users came toaccept that the benefit of their implementation wouldbe disproportionate to the time, cost and effortrequired. In addition, many ‘new’ requirements wererevealed, as end-users saw what was possible.

. Improved knowledge exchange from end-users todevelopers – the developers had a poor understanding

of the application domain at the outset. As the projectmoved on, they became more familiar with theapplication domain and felt less disorientated.

. Realistic timeframes – as the end-users and thedevelopers worked together to define benefit, risk,stability and effort for each requirement, it waspossible to prioritise requirements by a projectedrelease date, which was feasible.

. Improved quality of delivered software – the end-users felt that the severity of errors throughout theproject was not significant. Because of the high levelof communication between the developers and theend-users, many errors were trapped soon after theirintroduction. In particular, the mechanism for mana-ging change requests was vital to project success, as ithighlighted and rectified problems with the userinterface which, if left undetected, would ultimatelyhave negatively impacted system usability.

. Misguided actions were prevented – end-users alsobelieved that regular communication with the devel-opers helped to quickly clarify misconceptions held bythe developers, which could otherwise have resultedin wasteful efforts.

7.2. Summary of Stakeholders’ Impressions ofRM-Tool

The general impressions of RM-Tool as expressed bystakeholders were that:

. It was extremely useful for documenting the logic andrationale of decisions, and for recording comments,suggestions, change requests, follow-up actions, andthe proceedings of meetings. If a requirement wasmodified, the change history could be recorded. Forsome modules, there was only one expert user, andthere were times when that user was unavailable or onholiday. At times when the expert user was absent,RM-Tool served as an invaluable databank oforganisational memory, rather than having to dependon inconsistent and fuzzy recollections.

. Conflicts of opinion were forced to the surface, andbecause everything was documented the problem ofgoing round in circles was controlled.

. Better project management was facilitated, as RM-

Tool forced users and developers to work out animplementation schedule in a disciplined way thatmaximised benefit and minimised risk.

. Communication was improved, because RM-Tool

permitted the dual expression of requirements usingboth user- and developer-favoured techniques.

. The capability of hyperlinking a requirement, ascaptured from the end-user, to an executable

ATool to Support Collaborative Software Requirements Management 171

demonstration of that requirement was also regardedas being of communicational benefit, although it didconsume more of the developers’ time.

The following misgivings about RM-Tool were ex-pressed:

. It required discipline in its application. End-userswere rather loose and casual when describingrequirements or submitting comments, and alsotended to rely on oral communication. Because ofthis general hesitation to produce accurate anddetailed documentation, and a lack of discipline thatcould not be enforced, RM-Tool was constrained.

. End-users cannot be expected to become good writersof requirements without receiving the necessarytraining. RM-Tool does not provide this training,although it helps end-users to learn the requirementsmanagement process.

8. Conclusions and Further Work

This paper is founded on the argument that acollaborative approach to software requirements man-agement is necessary in modern systems development,so as to improve communication between projectstakeholders and thereby bring about improvements inproductivity and quality. Because of the complexity ofsoftware development projects, and also becausestakeholders are likely to be geographically distributed,the use of an automated tool to support suchcollaboration is essential. To this end, a prototype wasdesigned and validated by the authors in a case study.The case study findings support the view that

collaboration between developers and users can improveknowledge exchange, reveal latent requirements, betterinform expectations, assist with early detection of errors,and improve planning and decision-making. Further-more, it was observed that the application of acollaborative tool to support the process of requirementsmanagement can result in improved project manage-ment, better management of organisational memory, andbetter communication and understanding. However, thebenefits of a collaborative tool will certainly be limitedunless there is a firm quality ethos and disciplinedworking methods. Additionally, a collaborative toolseems unlikely to be alone capable of managing thecomplex social processes that characterise softwaredevelopment, so there may always be a need forpersonal human intervention.An obvious drawback of this research is that it is

based on an individual case study, and although the

timescale was realistic the project team was quite small.This may be a basis for future work, to examine theextent to which collaborative requirements managementtools such as RM-Tool are scalable. Another questionworthy of research is whether or not a collaborativedevelopment approach such as that described is suitablefor all categories of systems, or perhaps it may be moreapplicable to business information systems.

References

1. Adler RB, Rodman G. Understanding human communication(3rd ed). Holt, Rinehart & Winston, London, 1988

2. Faulk SR. Software requirements: a tutorial. In: Thayer RH,Dorfman M. (eds). Software engineering. IEEE ComputerSociety, Los Alamitos, CA, 1996, pp 82–103

3. Gray EM, Rao G. Software requirements analysis and specifica-tion in Europe: an overview. In: Thayer RH, McGettrick AD(eds). Software engineering: a European perspective. IEEEComputer Society, Los Alamitos, 1993, pp 78–96

4. Macaulay L. Co-operative requirements capture: prototypeevaluation. In: Spurr K, Layzell P, Jennison L, Richards N(eds). Computer support for co-operative work. Wiley, Chiche-ster, 1994, pp 169–194

5. Hofmann HF. Requirements engineering: a survey of methodsand tools. Working paper no. 93.05, March 1993, Institut furInformatik der Universitat Zurich

6. Holtzblatt K, Beyer H. Making customer-centred design work forteams. Commun ACM 1993;36(10):93–103

7. Davis A, Overmeyer S, Jordan K, et al. Identifying and measuringquality in a software requirements specification. In: Proceedingsof the first international software metrics symposium. IEEEComputer Society, Los Alamitos, CA, 1993, pp 141–152

8. Kar P, Bailey M. Characteristics of good requirements. In:Proceedings of the 6th international symposium of the NationalCouncil on Systems Engineering, INCOSE, 1996

9. Sommerville I, Sawyer P. Requirements engineering: a goodpractice guide. Wiley, Chichester, 1995

10. Place PRH. Unstable requirements: a position paper. In:Requirements engineering and analysis workshop proceedings.Tech. rep. CMU/SEI-91-TR-30. Carnegie Mellon University,Software Engineering Institute, Pittsburgh, 1992.

11. Reich Y, Konda SL, Levy SN, Monarch IA, Subrahmanian E.Varieties and issues of participation and design. Design Studies1996;17(2):165–180

12. Scharer L. Pinpointing requirements. Datamation 1981; April:139–151

13. Booch G. Leaving Kansas. IEEE Software 1998; January-February:32–35.

14. Dean DL, Lee JD, Pendergast MO, Hickey AM, Nunamaker JF.Enabling the effective involvement of multiple users: methodsand tools for collaborative software engineering. J Mgt InformSyst 1998;14(3):179–222

15. Standish Group International. Special COMPASS report onrequirements management tools. West Yarmouth, MA, USA,1998.

16. Jones DA, York DM, Nallon JF, Simpson J. Factors influencingrequirement management toolset selection. In: Proceedings of the5th international symposium of the National Council on SystemsEngineering, Vol 2, INCOSE, 1995

17. Ryan T, Sumner M. The Impact of CASE: can it achieve criticalsuccess factors? J. Syst Mgt 1994;45(6):16–21

18. Sharma S, Rai A. CASE deployment in IS organizations.Commun ACM 2000;43(1):80–88

172 M.Langand J. Duggan