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.
Similar content being viewed by others
References
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
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
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
Aranda J (2010) A theory of shared understanding for software organizations. PhD thesis, University of Toronto
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
Baeza-Yates R, Ribeiro-Neto B (1999) Modern information retrieval. ACM Press, Addison Wesley, New York
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
Briand L (2012) Embracing the engineering side of software engineering. IEEE Softw 29(4):96, 93–95
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
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
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
Charmaz K (2006) Constructing grounded theory: a practical guide through qualitative analysis. Sage Publications, London, Thousand Oaks
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
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
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
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
Frost R (2007) Jazz and the eclipse way of collaboration. IEEE Softw 24(06):114–117
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
Graham P (2002) A plan for spam. Web, July 2013. http://www.paulgraham.com/spam.html
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
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
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
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
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
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
Kof L (2005) Text analysis for requirements engineering. PhD thesis, Technische Universität München, München
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
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
Parkinson CN (1958) Parkinson’s law: the pursuit of progress. John Murray, London
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
Russell S, Norvig P (1995) Artificial intelligence: a modern approach. Prentice Hall, New Jersey
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
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
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
Corresponding author
Appendix
Appendix
See Table 9.
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-014-0205-z