Skip to main content
Log in

Patterns of continuous requirements clarification

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

In software projects involving large and often distributed teams, requirements evolve through the collaboration of many stakeholders, supported by online tools such as mailing lists, bug tracking systems, or online discussion forums. In this collaboration, requirements typically evolve from initial ideas, through clarification, to the implementation of a stable requirement. Deviations from this expected course might indicate requirements that are poorly understood, need further negotiation, or better alignment with project goals. If not addressed timely, such problems can surface late in the development cycle with negative consequences such as rework, missed schedules, or overrun budget. This paper presents an approach that provides project managers’ with timely awareness of such requirements-related risks, based on automatic analysis of stakeholders’ online requirement communication. We describe a clarification classifier that automatically analyzes requirements communication in a project and detects clarification events, a catalog of clarification patterns, and a pattern matcher that suggests communication patterns based on our pattern catalog. Our approach has been empirically constructed and evaluated in a case study in the \(\hbox {IBM}^{\circledR }\) Rational Team \(\hbox {Concert}^\circledR\) project. We discuss the applicability of our approach in other projects as well as avenues for extending our pattern catalog toward a theory of clarification patterns.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  1. Abdullah NNB, Honiden S, Sharp H, Nuseibeh B, Notkin D (2011) Communication patterns of agile requirements engineering. In: Proceedings of the 1st workshop on agile requirements engineering, ACM, New York, USA, pp 1–4. doi:10.1145/2068783.2068784

  2. Agrawal R, Srikant R (1994) Fast algorithms for mining association rules in large databases. In: Proceedings of the 20th international conference on very large data bases (VLDB ’94), Santiago, Chile, pp 487–499

  3. Al-Rawas A, Easterbrook SM (1996) A field study into the communications problems in requirements engineering. In: Proceedings of the conference on professional awareness in software engineering, London

  4. Aranda J (2010) A theory of shared understanding for software organizations. PhD thesis, University of Toronto

  5. Aranda J, Venolia G (2009) The secret life of bugs: going past the errors and omissions in software repositories. In: 2009 IEEE 31st international conference on software engineering, IEEE, Vancouver, Canada, pp 298–308. 10.1109/ICSE.2009.5070530

  6. Baeza-Yates R, Ribeiro-Neto B (1999) Modern information retrieval. ACM Press, Addison Wesley, New York

    Google Scholar 

  7. Berry D, Kamsties E (2004) Ambiguity in requirements specification, chap 2. In: Leite J, Doorn J (eds) Perspectives on requirements engineering. Kluwer, Dordrecht, pp 7–44

  8. Briand L (2012) Embracing the engineering side of software engineering. IEEE Softw 29(4):96, 93–95

  9. Calefato F, Damian D, Lanubile F (2012) Computer-mediated communication to support distributed requirements elicitations and negotiations tasks. Empir Softw Eng 17(6):640–674. doi:10.1007/s10664-011-9179-3

    Article  Google Scholar 

  10. Cataldo M, Herbsleb JD, Carley KM (2008) Socio-technical congruence: a framework for assessing the impact of technical and work dependencies on software development productivity. In: Proceedings of 2nd ACM-IEEE international sympsium on empirical software engineering and measurement (ESEM’08), Kaiserslautern, Germany, pp 2–11. doi:10.1145/1414004.1414008

  11. Chantree F, Nuseibeh B, de Roeck A, Willis A (2006) Identifying nocuous ambiguities in natural language requirements. In: Proceedings of the 14th IEEE international requirements engineering conference, Minneapolis, USA, pp 56–65. doi:10.1109/RE.2006.31

  12. Charmaz K (2006) Constructing grounded theory: a practical guide through qualitative analysis. Sage Publications, London, Thousand Oaks

    Google Scholar 

  13. Cleland-Huang J, Settimi R, Solc P (2006) The detection and classification of nonfunctional requirements with application to early aspects. In: Proceedings of 14th IEEE international requirements engineering conference (RE ’06), pp 39–48. doi:10.1109/RE.2006.65

  14. Cleland-Huang J, Settimi R, Zou X, Solc P (2007) Automated classification of nonfunctional requirements. Requir Eng 12(2):103–120. doi:10.1007/s00766-007-0045-1

    Article  Google Scholar 

  15. Damian D, Kwan I, Marczak S (2010) Requirements-driven collaboration: leveraging the invisible relationships between requirements and people. In: Mistrík I, van der Hoek A, Grundy J, Whitehead J (eds) Collaborative software engineering. Springer, Berlin, pp 57–76. doi:10.1007/978-3-642-10294-3_3

  16. Ehrlich K, Cataldo M (2012) All-for-one and one-for-All?: a multi-level analysis of communication patterns and individual performance in geographically distributed software development. In: Proceedings of ACM conference on computer supported cooperative work (CSCW’12), Seattle, USA, pp 945–954. doi:10.1145/2145204.2145345

  17. Frost R (2007) Jazz and the eclipse way of collaboration. IEEE Softw 24(06):114–117

    Article  Google Scholar 

  18. Gousios G (2013) The GHTorent dataset and tool suite. In: Proceedings of the 10th working conference on mining software repositories (MSR ’13), San Francisco, USA, pp 233–236

  19. Graham P (2002) A plan for spam. Web, July 2013. http://www.paulgraham.com/spam.html

  20. Hoffmann A, Bittner EAC, Leimeister JM (2013) The emergence of mutual and shared understanding in the system development process. In: Proceedings of 19th international working conference on requirements engineering: foundation for software quality (REFSQ ’13), Essen, Germany, pp 174–189

  21. Hossain L, Wu A, Chung KKS (2006) Actor centrality correlates to project based coordination. In: Proceedings of the 2006 20th anniversary conference on computer supported cooperative work (CSCW ’06), New York, USA, pp 363–372. doi:10.1145/1180875.1180930

  22. Kiyavitskaya N, Zeni N, Breaux TD, Antón AI, Cordy JR, Mich L, Mylopoulos J (2008) Automating the extraction of rights and obligations for regulatory compliance. In: Proceedings of 27th international conference on conceptual modeling, Barcelona, Spain, pp 154–168

  23. Knauss E, Damian D (2013) V: issue: lizer: exploring requirements clarification in online communication over time. In: Proceedings of 35th international conference on software engineering (ICSE ’13), San Francisco, USA, pp 1327–1330, formal Tool Demonstration

  24. Knauss E, Houmb S, Schneider K, Islam S, Jürjens J (2011) Supporting requirements engineers in recognising security issues. In: Berry D, Franch X (eds) Proceedings of the 17th international working conference on requirements engineering: foundation for software quality, Springer, Essen, Germany

  25. Knauss E, Damian D, Poo-Caamaño G, Cleland-Huang J (2012) Detecting and classifying patterns of requirements clarifications. In: Proceedings of 20th international requirements engineering conference (RE ’12), Chicago, USA, pp 251–260

  26. Kof L (2005) Text analysis for requirements engineering. PhD thesis, Technische Universität München, München

  27. Lee SW, Muthurajan D, Gandhi RA, Yavagal DS, Ahn GJ (2006) Building decision support problem domain ontology from natural language requirements for software assurance. Int J Softw Eng Knowl Eng 16(6):851–884

    Article  Google Scholar 

  28. Nuseibeh B, Easterbrook S (2000) Requirements engineering: a roadmap. In: Proceedings of the conference on the future of software engineering, ACM, New York, USA, pp 35–46. doi:10.1145/336512.336523

  29. Parkinson CN (1958) Parkinson’s law: the pursuit of progress. John Murray, London

    Google Scholar 

  30. Ramasubbu N, Cataldo M, Balan RK, Herbsleb JD (2011) Configuring global software teams: a multi company analysis of project productivity, quality, and profits. In: Proceedings of the 33rd international conference on software engineering (ICSE’11), Waikiki, Honolulu, USA, pp 261–270. doi:10.1145/1985793.1985830

  31. Russell S, Norvig P (1995) Artificial intelligence: a modern approach. Prentice Hall, New Jersey

    MATH  Google Scholar 

  32. Strijbos JW, Martens RL, Prins FJ, Jochems WM (2006) Content analysis: what are they talking about? Comput Educ 46(1):29–48. doi:10.1016/j.compedu.2005.04.002

    Article  Google Scholar 

  33. Weiss SM, Kulikowski CA (1991) Computer systems that learn: classification and prediction methods from statistics, neural nets, machine learning, and expert systems. M. Kaufmann Publishers, San Mateo

    Google Scholar 

Download references

Acknowledgments

We thank the RTC team members and managers who provided clarifications on our dataset when needed, and later participated in our interviews.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Eric Knauss.

Appendix

Appendix

See Table 9.

Table 9 Classification scheme with examples from IBM case study

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Knauss, E., Damian, D., Cleland-Huang, J. et al. Patterns of continuous requirements clarification. Requirements Eng 20, 383–403 (2015). https://doi.org/10.1007/s00766-014-0205-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-014-0205-z

Keywords

Navigation