Advertisement

Requirements Engineering

, Volume 20, Issue 4, pp 383–403 | Cite as

Patterns of continuous requirements clarification

  • Eric Knauss
  • Daniela Damian
  • Jane Cleland-Huang
  • Remko Helms
Original Article

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.

Keywords

Requirements clarification patterns Distributed requirements engineering Communication of requirements Continuous requirements engineering 

Notes

Acknowledgments

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

References

  1. 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. 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–499Google Scholar
  3. 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, LondonGoogle Scholar
  4. 4.
    Aranda J (2010) A theory of shared understanding for software organizations. PhD thesis, University of TorontoGoogle Scholar
  5. 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. 6.
    Baeza-Yates R, Ribeiro-Neto B (1999) Modern information retrieval. ACM Press, Addison Wesley, New YorkGoogle Scholar
  7. 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–44Google Scholar
  8. 8.
    Briand L (2012) Embracing the engineering side of software engineering. IEEE Softw 29(4):96, 93–95Google Scholar
  9. 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 CrossRefGoogle Scholar
  10. 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. 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. 12.
    Charmaz K (2006) Constructing grounded theory: a practical guide through qualitative analysis. Sage Publications, London, Thousand OaksGoogle Scholar
  13. 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. 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 CrossRefGoogle Scholar
  15. 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. 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. 17.
    Frost R (2007) Jazz and the eclipse way of collaboration. IEEE Softw 24(06):114–117CrossRefGoogle Scholar
  18. 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–236Google Scholar
  19. 19.
    Graham P (2002) A plan for spam. Web, July 2013. http://www.paulgraham.com/spam.html
  20. 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–189Google Scholar
  21. 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. 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–168Google Scholar
  23. 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 DemonstrationGoogle Scholar
  24. 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, GermanyGoogle Scholar
  25. 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–260Google Scholar
  26. 26.
    Kof L (2005) Text analysis for requirements engineering. PhD thesis, Technische Universität München, MünchenGoogle Scholar
  27. 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–884CrossRefGoogle Scholar
  28. 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. 29.
    Parkinson CN (1958) Parkinson’s law: the pursuit of progress. John Murray, LondonGoogle Scholar
  30. 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. 31.
    Russell S, Norvig P (1995) Artificial intelligence: a modern approach. Prentice Hall, New JerseyMATHGoogle Scholar
  32. 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 CrossRefGoogle Scholar
  33. 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 MateoGoogle Scholar

Copyright information

© Springer-Verlag London 2014

Authors and Affiliations

  • Eric Knauss
    • 1
  • Daniela Damian
    • 2
  • Jane Cleland-Huang
    • 3
  • Remko Helms
    • 4
  1. 1.Department of Computer Science and EngineeringChalmers | University of GothenburgGöteborgSweden
  2. 2.Department of Computer ScienceUniversity of VictoriaVictoriaCanada
  3. 3.DePaul University ChicagoChicagoUSA
  4. 4.Department of Information and Computing SciencesUtrecht UniversityUtrechtThe Netherlands

Personalised recommendations