Migrating Towards Co-operative Requirements Engineering
Ian Alexander
Computing & Control Engineering Journal, February 1999
1. Summary
Systems development has moved from treating systems as purely technical problems, towards seeing systems as parts of the users' environment. Stakeholders such as operators are increasingly involved in requirements engineering in particular.
Requirements engineering is balanced between co-operating with the stakeholders who own the requirements, and the need for a controlled process of development. The dilemma is that control and predefined methods tend to exclude co-operation.
This paper assesses progress towards the possibly unreachable goal of fully co-operative requirements engineering. Some leading methods are compared. The potential for Co-operative Inquiry to resolve the dilemma of co-operating manageably is discussed.
2. Introduction
Users are becoming more involved in requirements engineering. Methods of obtaining requirements are becoming more co-operative [e.g. Macaulay 1993, Potts 1994, Robertson 1997]. These methods agree that requirements engineers should aim to facilitate rather than control. Most writers and practitioners also agree that users must own their requirements [e.g. Stevens 1998, p293].
But developments in methods and techniques [see e.g. Kotonya 1997] risk concentrating much of the power to decide what information to collect, and how to organize and validate it, in the hands of engineers. There is a danger that users may be confronted with carefully worked-out methods which predefine every process. Sophisticated types of diagram and notation also tend to exclude users. The dilemma is as follows: be too prescriptive, and co-operation is inhibited; be too free, and chaos results. This paper attempts a resolution of this dilemma.
There is good evidence [Standish Group 1998] that the primary cause of development project failure is lack of clear agreed requirements. This suggests that the crisis in the development of complex systems can only be solved when stakeholders themselves specify their requirements. They alone are the 'experts' in their own fields. They have the direct interest in the results of a successful development, which can give the determination to see projects through.
Users may lack the skills of the requirements engineer, so we have a specialized role: to assist and facilitate. In case this seems self-evident, note that the words 'facilitation' and 'co-operation' do not occur in the indexes of two recently published textbooks entitled 'Requirements Engineering' [Wieringa 1996, Kotonya 1997]. The paradigm of co-operation is far from fully established. This may be because co-operative methods are seen as too risky in a business environment. A method that allows stakeholders to speak out, but which is robust enough to survive challenges, is required.
3. The Co-operative Inquiry Approach
Figure 1: Phases of the Co-operative Inquiry Cycle
Co-operative Inquiry (CI) is a research method from psychology [Heron 1994, Reason 1996] which seems to have much to offer to requirements engineering. CI assumes that genuine co-operation means sharing both knowledge and power. In our case, this means allowing everyone in a requirements group to share both in defining the requirements and in organizing them. For instance, all stakeholders are involved in key decisions such as prioritizing requirements.
The CI cycle contains four discrete phases (Figure 1) which can be repeated as necessary. The key feature is that phases of action alternate with reaction and reflection. Proposition creates plans for action, and agrees on these before proceeding. Action both achieves results and gives direct experience, but while people are immersed in it they are not reflecting on its correctness or implications. Reaction ensures that problems surface quickly instead of building up. Reflection allows the full intelligence of the whole group to be applied to check whether the results are valid.
Much confusion in non-CI meetings is caused when different people try to work on different phases – for example, when one person wants to agree an action, while another is still thinking through the goals or plans for action. The CI cycle enables a group to work on a problem, using direct practical experience, in a way that holds the group together and keeps its thinking in line with reality.
For example, an Action phase could consist of the group's working on a model of the user's goals (Figure 2); Reflection could consist of considering whether those goals were in fact complete and correct, or whether deeper issues remained to be explored.
CI gives group members the responsibility to apply validity checks (Table 1) on the process actually being followed. This helps to ensure that the group's goals and needs are met without infringing the rights of any group members.
1 |
Is the inquiry fully co-operative (following the method)? |
ü |
2 |
Is the inquiry moving towards premature closure? |
û |
3 |
Is the inquiry colluding to avoid something? |
û |
4 |
Is discomfort being created (any member's views being ignored)? |
û |
5 |
is there enough divergence (sufficient range of ideas, actions)? |
ü |
6 |
Is there enough convergence (reaching a result, meeting the need)? |
ü |
Table 1: Validity Checks on Co-operative Inquiry
A trained CI group can, after a few days' practice, efficiently detect and resolve group problems. For example, distress caused to a member by the inquiry process can be flagged immediately by any other member. This allows everyone to be sure that their voice is heard and their concerns met.
Below, the effect of applying CI in requirements engineering is discussed, but first it is necessary to set this candidate method in the context of other proposed methods.
4. Towards Empowered Users
4.1 Users as Sources of System Information
Traditional systems analysis [see Maguire 1997, Wieringa 1995 for evaluations of RE methods] treated users as sources of information. These sources could be mined by surveys with questionnaires or structured interviews, or techniques of measurement and experiment such as on user interface or network traffic. Users had little opportunity to validate systems until acceptance testing, by which time errors of specification were costly to correct. There have been numerous spectacular failures of large public projects; these probably represent only the tip of the iceberg, since most privately-funded project failures remain concealed [Standish Group 1998].
4.2 Users as Subjects of Observation
System users and their actual problems can be studied directly by ethnographic observation. Complex domains like air traffic control [Hughes 1992, 1995] can repay careful study, as subtle details may be critical to a system's usability. Another method, Participant Observation [Flick 1998, p141ff] may also help engineers understand a problem and communicate with stakeholders.
The strength of observation is that tacit knowledge [Göranzon 1988, pages 53ff, 130ff; Polanyi 1962], such as the domain expertise of an air traffic controller, can at least be approached. Kotonya lists several studies which show that ethnography can capture requirements not otherwise elicited [Kotonya 1997, pages 67-72].
The weakness of ethnography and observation techniques, if used by themselves as requirements methods, is that users do not directly share in writing or validating requirements. In addition, observation seems to be perceived as too expensive for all but the largest projects. This may be unfortunate: Josefson argues persuasively [in Göranzon 1988, pages 19-30] that the piecemeal automation of a profession such as nursing is ignoring its real requirements.
4.3 Participative methods
RAD is a popular approach combining requirements engineering with systems (usually software) development. The more frequent, and therefore improved, user feedback that it offers to developers is clearly valuable. Among the many current approaches are DSDM [DSDM 1998], Volere [Robertson 1997], and SOMA [Graham 1998]. These lay down processes and templates for each phase and document. Volere is being used in consultancy; DSDM is popular in the firms where it is used, such as British Telecom (BT), though Graham has criticized the method for its weak theoretical structure. Graham's SOMA approach is explicitly object-oriented, well supported by the SOMATiK tool. Certainly it is one of the few approaches which can be followed right through the life-cycle. It is in use for financial trading applications.
Co-operation through interaction is a definite goal of all RAD methods. In contrast, the methods tend to be explicitly defined in advance, so users may have little influence on the processes they have to follow.
Checkland’s Soft Systems Methodology (SSM) [e.g. Checkland 1990] explicitly involves users in system development. His representations deliberately avoid analytic methods, favouring human views of the problem. SSM is not a development approach, though it has been incorporated into the Multiview method [Avison 1990]. Multiview pays commendable attention to obtaining viewpoints from different stakeholders before building system models. SSM also emphasizes ‘participative design’ based on Enid Mumford’s pioneering ETHICS method [Mumford 1985, 1996], not only involving users but reflecting their needs. Mumford’s work is consistently humane, far from the conventional focus on technology. SSM has influenced thinking on many other methods, e.g. VORD [Kotonya 1998].
Linda Macaulay’s User Skills Task Match (USTM) method [Macaulay 1993] is an effective technique for managing co-operative requirements capture. The need to address social issues is recognized, with the appointment of a facilitator expert in group management.
USTM provides a detailed structure of meetings, each planned and debriefed, and with a prescribed set of tasks and outputs. Users share in these tasks but are not involved in designing the task structure itself, though the agenda can be updated co-operatively. If any method is applied rigidly, the predefined structure itself may put up barriers to effective co-operation.
In USTM, the 'facilitator' is responsible for detecting, diagnosing, and solving any problem in the group. The facilitator thus retains power to control the group. Conversely the facilitator "must be external to the group and not a stakeholder" and does not share domain knowledge with other group members. Macaulay has applied USTM in several business contexts including the UK electricity distribution industry.
Colin Potts’ Inquiry-Based Requirements Analysis (IBRA) [Potts 1994] involves an inquiry cycle which seeks to support effective, conflict-free discussion. The aim is to build a requirements document which accurately reflects the "customer’s" needs. A process model is proposed but is not rigidly enforced, leaving welcome space for the users to negotiate the details of the requirements process.
The IBRA cycle can be matched with the CI cycle as a particular application of co-operative inquiry, namely the creation of the requirements document. The Potts cycle takes a document, allows the inquiry to challenge it (CI phase 3, Reaction), conducts a reasoned discussion (CI phase 4, Reflection) involving questions, answers, and reasons, which lead to a decision (CI phase 1, Proposition) on how to evolve the requirements. Scenario analysis is often applied to help users and researchers gain insight into the requirements. This leads to a change (CI phase 2, Action) to the requirements document, where the Potts cycle repeats. It is interesting that Potts has in effect ‘rediscovered’ CI in a specialized form. Potts uses artificial examples such as the meeting scheduler as tutorial material, but the workshop technique is popular and in use for consultancy.
IBRA users can share in designing the requirements process. As the engineer is probably not expert in the user domain, IBRA can be classified as a partial variant of CI.
Figure 2: Goal Model for the start of system development
Co-operative Goal Modelling (CGM) [Alexander 1997, 1998a] organizes requirements by placing them in scenarios. In turn, scenarios are represented in a simple but precise goal model (Figure 2), constructed co-operatively.
Goals [Alexander 1998a, Kendall 1998] provide a clear logical framework which users can readily understand. Scenarios can be generated by following paths through the branching goal model. This hierarchy is comparable to Potts' use of subcases: "A scenario can have subcases … [which] share an initial set of actions but then branch" [Potts 1993, p5]. Goal models also organize and simplify the problem of overlapping use cases [Cockburn 1997], for the same reason. Stakeholders can validate the goal model by considering whether the scenarios, including exceptions, are realistic: "It is especially informative to ask about cases in which an action could go wrong or its preconditions could be unsatisfied." [Potts 1993, p9].
All these processes are iterative (as in Potts' IBRA). New requirements may reveal a missing goal, just as a newly identified goal (for instance, to handle an exception) can direct the framing of missing requirements. Stakeholders need to investigate goals, scenarios, and requirements, in a framework which allows issues to be raised, discussed, and solved.
4.4 Applying CI to requirements engineering
The strength of CI, for our purposes, is that a group is able to detect and correct gaps and errors in requirements [Alexander 1998b]. A group properly set up can know more of a domain, and better, than any single user. It can collectively 'own' its requirements, and take responsibility for them throughout the system life-cycle. CI has been used successfully in widely varying applications, such as by a group of doctors to review their own practices [Heron 1996, page 79ff].
In the context of requirements, one stakeholder - such as the customer paying for the project – may hold more power individually than others, such as operators of the future system. The needs of all the stakeholders must be met if the system is to be not only affordable but also usable. CI's democratic approach offers a specific counter-balance to oppressive use of power, whether by a stakeholder or by the requirements engineer.
Sharing of Power Sharing of Knowledge |
Users not involved in requirements capture process |
Users partially involved in requirements capture |
Users fully involved in requirements within fixed process |
Users fully involved in deciding process and requirements |
Engineers not involved in user domain |
Systems Analysis; |
|
|
|
Engineers visit or study user domain |
|
Participant Observation (Flick); |
USTM (Macaulay); |
IBRA (Potts); Partial CI (Heron) |
Engineers have domain expertise |
|
|
|
Full CI (Heron); not yet applied to requirements |
Figure 3: Co-operativeness of various RE methods
5. Discussion
The methods mentioned above can now be placed, tentatively and subjectively, on the graph (Figure 3). Arguably none are fully co-operative in Heron's sense; but there has been strong progress towards co-operative requirements engineering. The dividing lines are dashed to indicate that each method can involve more or less co-operation, for example depending on the attitude of the practitioners.
It is an open question whether full CI [Heron 1996], with virtual equality of both knowledge and power between users and requirements engineers is either possible or desirable. Macaulay voices her doubts on the feasibility of fully co-operative meetings: "it is by no means clear that interaction between people with such a diversity of interests [as stakeholders have] would result in anything but chaos" [Macaulay 1993].
Initial personal experience of CI allays fears of chaos and wasted time: the method can deal effectively with issues on which group members hold strong and conflicting opinions. Meetings are orderly and can reach firm (and good) decisions rapidly. Without a method such as CI which directs attention to people as well as to technical issues, Macaulay's concern about full participation would be quite justified.
Potts' IBRA [Potts 1994] has several of the properties of CI, including a similar phase structure and the freedom for group members to diverge from the method. It also "directly supports inquiry and scrutiny", though "discussion can take place gradually and informally" instead of necessarily "in discrete bursts" in formal meetings. The danger of this is that individual stakeholders could feel excluded or outmanoeuvred if decisions seemed to be being made without them. Such feelings could lead to difficulties throughout a project, so Macaulay's doubts could be applied to Potts' method. In contrast, CI meetings can become quite informal, enabling "an inherently informal and situated activity" to take place naturally, but in a robust framework (Table 1) which can immediately address and resolve feelings of discomfort.
Full Co-operative Inquiry in our field could theoretically arise if
Even if such perfect co-operation never materializes, the goal of helping users to get the systems they need seems clear. Especially where resources are limited, developers and users can get better systems by negotiating and prioritizing. For example, relaxing a performance constraint may save enough money to implement several much-needed functions. The developers may know what different approaches may cost; the users need to use this knowledge to decide which would be best for them.
The cost of all user-centred methods is similar, involving the time of workshop attendees, the effort to set up meetings and to share results. [Potts 1994] shows that these costs compare favourably with the costs of traditional analysis, and seem to give much better results.
Robust co-operative methods should improve communication between stakeholders (including developers), the requirements, and the resulting systems.
6. References
Alexander, Ian
, ‘Scenario Plus User Guide', http://www.scenarioplus.com, 1997 (a tool designed to assist collaborative working on goals for user requirements)Alexander, Ian, ‘A Co-operative Task Modelling Approach to Business Process Understanding’, Workshop on Object-Oriented Business Process Modelling, ECOOP 1998a (
http://www.ibissoft.se/oocontr/alexander.htm ) (a paper on task modelling using a requirements tool, discussing its application in a CI framework)Alexander, Ian, ‘Requirements Engineering as a Co-operative Inquiry: A Framework’, Conference on European Industrial Requirements Engineering, London, proceedings to appear, 1998b (a paper on how CI could be applied to RE)
Avison, D.E. and Wood-Harper, A.T., ‘Multiview: an Exploration in Information Systems Development’, Blackwell 1990 (a text on the Multiview method with ideas from Checkland and Mumford)
Checkland, P. and Scholes, J., ‘Soft Systems: Methodology in Action’, John Wiley, 1990 (one of several texts on SSM by its inventor)
Cockburn, Alistair, ‘Structuring Use Cases with Goals’,
http://members.aol.com/acockburn/papers/usecases.htm, JOOP, September and November 1997 (a much-referenced paper on the OO approach to thinking with goals at the start of system design)DSDM, '
The Dynamic Systems Development Method', http://www.avnet.co.uk/sqm/DSDM/ 1998 (a widespread RAD method from a consortium of UK industry)Flick, Uwe, ‘An Introduction to Qualitative Research’, Sage, 1998 (a excellent and detailed discussion, among other things, of the issues in observing and/or participating in the users’ domain)
Graham, Ian, ‘Task scripts, use cases and scenarios in object oriented analysis’, Object Oriented Systems 3, pp 123-142, 1996 (a powerfully argued paper on the organisation of requirements)
Graham, Ian, 'Requirements Engineering and Rapid Development', Addison-Wesley 1998 (presents the object-oriented method SOMA, with trenchant critique of other approaches)
Göranzon, Bo and Ingela Josefson, eds, 'Knowledge, Skill and Artificial Intelligence', Springer-Verlag 1988 (the importance of tacit skill and domain knowledge, not easily captured in rules or diagrams)
Heron, John, ‘Co-operative Inquiry, Research into the Human Condition’, Sage, 1996 (a recent text by one of the founders of CI, with many examples)
Hughes, John A., David Randall and Dan Shapiro, ‘Faltering from Ethnography to Design’, CSCW 92 Proceedings, 115-129, 1992 (a pioneering paper describing an explorative use of observation to obtain requirements for an air traffic control system)
Hughes, John A., V. King, T. Rodden and H. Andersen, 'The Role of Ethnography in Interactive Systems Design', ACM Interactions, II.2, pp56-65, April 1995 (account of how to use ethnography for requirements capture)
Kendall, Elizabeth, 'Goals and Roles: the Essentials of Object Oriented Business Process modeling', Workshop on Object-Oriented Business Process Modelling, ECOOP 1998 (http://www.ibissoft.se/oocontr/kendall.htm ) (a paper on her view of goal modelling as a precursor to object-oriented design)
Kotonya, Gerald, and Ian Sommerville, ‘Requirements Engineering - processes and techniques’, Wiley 1998 (a modern and practical textbook on RE for real systems)
Macaulay, Linda, ‘Requirements Capture as a Co-operative Activity’, IEEE International Symposium on Requirements Engineering, Jan 4-6 1993, San Diego, Ca (RE’93) (a paper on her approach, discussing both the social process of collaboration and the options for a team structure)
Macaulay, Linda, ‘Requirements Engineering', Springer, 1996 (a textbook on how to obtain requirements interactively using workshops; less coverage of other aspects)
Maguire, M., ‘RESPECT User Requirements Framework Handbook’, RESPECT consortium report 5.1, European Community Telematics Applications Project TE 2010, 1997 (a systematic introduction and evaluation of numerous methods of obtaining requirements)
Mumford, Enid, ‘Defining system requirements to meet business needs: a case study example’, The Computer Journal, Vol. 28, 2, 97-104, 1985 (a paper on her participative design method ETHICS)
Mumford, Enid, ‘Systems Design, Ethical Tools for Ethical Change’, Macmillan, 1996 (an intelligent and reflective text on systems engineering in its social context)
Polanyi, M., 'Tacit Knowing: its bearing on some problems of philosophy', Rev Mod Phys 34, 601-605, 1962 (classical paper on knowledge that is not available for discussion and analysis)
Potts, Colin, Kenji Takahashi, and Annie Anton, ‘Inquiry-based Requirements Analysis’, IEEE Software, 11(2), 21-32, 1994 (a pioneering paper which examines scenarios for obtaining requirements by inquiry)
Reason, Peter, 'Participation in Human Inquiry', Sage, 1994 (an academic textbook by one of the founders of Co-operative Inquiry)
Robertson, Suzanne, ‘Putting the RAD in Requirements: Accelerating past impediments’, EuroSTAR’97, Edinburgh, 1997 (keynote address, stressing facilitation and that stakeholders own the requirements; VOLERE method)
Standish Group, web site at http://www.standishgroup.com, 1998 (evidence for the high cost of poor systems development)
Stevens, Richard, ‘Systems Engineering, coping with complexity’, Prentice Hall, 1998 (a modern industrial perspective on systems, showing how the customer can use requirements to control development)
Wieringa, Roel. J., ‘Requirements Engineering - frameworks for understanding’, Wiley, 1995 (a textbook on traditional requirements techniques and methods)