Negotiating Response-ability and Repeat-ability in Requirements Engineering

Requirements engineering (RE) practices are critical to success during the development of business software. As managers assess RE practices, they apply specific perspectives that determine problems identified and recommendations for improvement. Two perspectives have recently dominated managerial thinking within the software industry, one rooted in software process improvement and the other rooted in agile software development. Underpinning these perspectives are two theories about what constitutes good software practice. In this paper, we explicate these theories in relation to RE and show how they differ in basic assumptions about the nature of requirements, requirements capture, requirements usage, change management, and approach to improvement. The repeat-ability theory holds that good requirements practices are plan-driven and follow generic best practices to arrive at an agreed-upon baseline of software requirements. Response-ability holds that good requirements practices are adaptive and involve close interaction between customers and developers to arrive at satisfactory software solutions. We use case study data from a software firm, TelSoft, to show how the theories lead to different interpretations about why current practices are problematic and how problems are resolved. Relating to the improvement strategy adopted at TelSoft, we demonstrate the superiority, for managers, of negotiating response-ability and repeat-ability concerns when improving RE practices. The paper concludes with a discussion of implications for research and practice.

[1]  Pekka Abrahamsson,et al.  Integrating agile software development and software process improvement: a longitudinal case study , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[2]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[3]  K. Hambridge Action research. , 2000, Professional nurse.

[4]  Rick Dove,et al.  Response Ability: The Language, Structure, and Culture of the Agile Enterprise , 2001 .

[5]  Pasi Kuvaja,et al.  BOOTSTRAP — a European assessment methodology , 2004, Software Quality Journal.

[6]  Alistair Cockburn,et al.  Agile Software Development , 2001 .

[7]  Ian Sommerville,et al.  Requirements Engineering: Processes and Techniques , 1998 .

[8]  James A. Highsmith,et al.  Adaptive Software Development: A Collaborative Approach to Managing Complex Systems , 1999 .

[9]  Barry W. Boehm,et al.  Get Ready for Agile Methods, with Care , 2002, Computer.

[10]  Peter Axel Nielsen,et al.  Problem Diagnosis in SPI , 2001 .

[11]  G. Susman,et al.  An Assessment of the Scientific Merits of Action Research. , 1978 .

[12]  Austen Rainer,et al.  Defining a Requirements Process Improvement Model , 2005, Software Quality Journal.

[13]  R. Rapoport Three Dilemmas in Action Research , 1970 .

[14]  Michael D. Myers,et al.  A Set of Principles for Conducting and Evaluating Interpretive Field Studies in Information Systems , 1999, MIS Q..

[15]  Lars Mathiassen,et al.  Collaborative Practice Research , 2000, Scand. J. Inf. Syst..

[16]  A. Langley Strategies for Theorizing from Process Data , 1999 .

[17]  Jan Pries-Heje,et al.  Internet Software Engineering: A Different Class of Processes , 2002, Ann. Softw. Eng..

[18]  Kalle Lyytinen,et al.  Identifying Software Project Risks: An International Delphi Study , 2001, J. Manag. Inf. Syst..

[19]  H. Klein,et al.  Information systems research: contemporary approaches and emergent traditions , 1991 .

[20]  Galal H Galal,et al.  Requirements engineering: A good practice , 2000 .

[21]  Steven W. Baker Formalizing agility: an agile organization's journey toward CMMI accreditation , 2005, Agile Development Conference (ADC'05).

[22]  Jan Pries-Heje,et al.  Improving Software Organizations: From Principles to Practice , 2001 .

[23]  Bernhard Rumpe,et al.  Assumptions Underlying Agile Software-Development Processes , 2005, J. Database Manag..

[24]  Barry Boehm The Economics of Software Maintenance , 1983 .

[25]  Stephen H. Haeckel Adaptive enterprise design: The sense‐and‐respond model , 1995 .

[26]  M. Lynne Markus,et al.  Power, politics, and MIS implementation , 1987, CACM.

[27]  Mark C. Paulk,et al.  Capability Maturity Model for Software , 2001 .

[28]  Ken Orr,et al.  Agile requirements: opportunity or oxymoron? , 2004, IEEE Software.

[29]  Watts S. Humphrey,et al.  Managing the software process , 1989, The SEI series in software engineering.

[30]  Galal H. Galal-Edeen,et al.  Requirements engineering: A good practice , 2000, Eur. J. Inf. Syst..

[31]  Mark C. Paulk,et al.  Extreme Programming from a CMM Perspective , 2001, IEEE Softw..

[32]  Matthew B. Miles,et al.  Qualitative Data Analysis: An Expanded Sourcebook , 1994 .

[33]  Alistair Cockburn,et al.  Agile Software Development: The Business of Innovation , 2001, Computer.

[34]  Mordechai Ben-Menachem,et al.  Writing effective use cases , 2001, SOEN.

[35]  Austen Rainer,et al.  Using an expert panel to validate a requirements process improvement model , 2005, J. Syst. Softw..

[36]  Richard Baskerville,et al.  Diversity in information systems action research methods , 1998 .

[37]  Alvin O. Gunneson,et al.  Transitioning to Agility: Creating the 21st Century Enterprise , 1996 .

[38]  Adrian J. Slywotzky,et al.  Adaptive Enterprise: Creating and Leading Sense-And-Respond Organizations , 1999 .

[39]  Judy McKay,et al.  The dual imperatives of action research , 2001, Inf. Technol. People.

[40]  Mark C. Paulk,et al.  Capability Maturity Model for Software, Version 1.1 , 1993 .

[41]  Terence P. Rout,et al.  SPICE: A Framework for Software Process Assessment , 1995, Softw. Process. Improv. Pract..

[42]  David J. Anderson,et al.  Stretching agile to fit CMMI level 3 - the story of creating MSF for CMMI/spl reg/ process improvement at Microsoft corporation , 2005, Agile Development Conference (ADC'05).

[43]  Bob McFeeley,et al.  IDEAL: A User's Guide for Software Process Improvement. , 1996 .