Investigating the Link between User Stories and Documentation Debt on Software Projects

Technical debt is a metaphor that describes the effect of immature artefacts in software development. One of its types is documentation debt, which can be identified by locating missing, inadequate or incomplete artefacts in software projects. Nowadays, we can observe more organizations using agile methods to support their activities. In particular, the use of user stories reduces the focus on requirement specification tasks and, as a consequence, creates difficulties that need to be overcame by the development team. In order to investigate these difficulties and assess whether they create a favourable scenario for incurring documentation debt, this paper presents the results of a literature review and an exploratory study. The results from both studies allowed us to identify a list of causes that can lead the development team to incur documentation debt when working with agile requirements. This is an important step in order to manage the technical debt from a preventive perspective.

[1]  Klaas Sikkel,et al.  Agile requirements prioritization in large-scale outsourced system projects: An empirical study , 2013, J. Syst. Softw..

[2]  K. Hemachandran,et al.  Elicitation of Goals in Requirements Engineering Using Agile Methods , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference Workshops.

[3]  Maya Daneva,et al.  Handling requirements dependencies in agile projects: A focus group with agile software development practitioners , 2013, IEEE 7th International Conference on Research Challenges in Information Science (RCIS).

[4]  Forrest Shull,et al.  A case study on effectively identifying technical debt , 2013, EASE '13.

[5]  S.E. Sim,et al.  Are Use Cases Beneficial for Developers Using Agile Requirements? , 2007, 2007 Fifth International Workshop on Comparative Evaluation in Requirements Engineering.

[6]  Nadeem Majeed Chaudhry,et al.  Evaluation of Efficient Requirement Engineering Techniques in Agile Software Development , 2013 .

[7]  Eric Allman,et al.  Managing technical debt , 2012, Commun. ACM.

[8]  Yuanfang Cai,et al.  Organizing the technical debt landscape , 2012, 2012 Third International Workshop on Managing Technical Debt (MTD).

[9]  Eric Allman,et al.  Managing Technical Debt , 2012, ACM Queue.

[10]  Klaas Sikkel,et al.  Do We Know Enough about Requirements Prioritization in Agile Projects: Insights from a Case Study , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[11]  Rosalva E. Gallardo-Valencia,et al.  Continuous and Collaborative Validation: A Field Study of Requirements Knowledge in Agile , 2009, 2009 Second International Workshop on Managing Requirements Knowledge.

[12]  Mahdad Khelghatdost,et al.  Requirements in Agile Software Development , 2013 .

[13]  Richard Baskerville,et al.  Agile requirements engineering practices and challenges: an empirical study , 2007, Inf. Syst. J..

[14]  Gao Lin,et al.  Application of Agile Requirement Engineering in Modest-Sized Information Systems Development , 2010, 2010 Second World Congress on Software Engineering.

[15]  Carolyn B. Seaman,et al.  Measuring and Monitoring Technical Debt , 2011, Adv. Comput..

[16]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[17]  Sandra Kelly Towards an evolutionary framework for agile requirements elicitation , 2010, EICS '10.

[18]  Bashar Nuseibeh,et al.  Communication patterns of agile requirements engineering , 2011 .

[19]  Björn Regnell,et al.  A case study on benefits and side-effects of agile practices in large-scale requirements engineering , 2011 .

[20]  Weam M. Farid,et al.  The NORMAP Methodology: Lightweight Engineering of Non-functional Requirements for Agile Processes , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[21]  A. Batool,et al.  Comparative study of traditional requirement engineering and Agile requirement engineering , 2013, 2013 15th International Conference on Advanced Communications Technology (ICACT).

[22]  Rodrigo O. Spínola,et al.  Towards an Ontology of Terms on Technical Debt , 2014, 2014 Sixth International Workshop on Managing Technical Debt.

[23]  Robert L. Nord,et al.  Technical Debt: From Metaphor to Theory and Practice , 2012, IEEE Software.

[24]  Frank J. Mitropoulos,et al.  Visualization and scheduling of non-functional requirements for agile processes , 2013, 2013 Proceedings of IEEE Southeastcon.

[25]  Juan Garbajosa Sopeña,et al.  Some Findings Concerning Requirements in Agile Methodologies , 2009 .

[26]  Jie Lin,et al.  Management Information System Requirements Analysis Model Based on the Agile Development , 2012, 2012 International Conference on Control Engineering and Communication Technology.