Towards Just-Enough Documentation for Agile Effort Estimation: What Information Should Be Documented?

Effort estimation is an integral part of activities planning in Agile iterative development. An Agile team estimates the effort of a task based on the available information which is usually conveyed through documentation. However, as documentation has a lower priority in Agile, little is known about how documentation effort can be optimized while achieving accurate estimation. Hence, to help practitioners achieve just-enough documentation for effort estimation, we investigated the different types of documented information that practitioners considered useful for effort estimation. We conducted a survey study with 121 Agile practitioners across 25 countries. Our survey results showed that (1) despite the lower priority of documentation in Agile practices, 98% of the respondents considered documented information moderately to extremely important when estimating effort, (2) 73% of them reported that they would re-estimate a task when the documented information was changed, and (3) functional requirements, user stories, definition of done, UI wireframes, acceptance criteria, and task dependencies were ranked as the most useful types of documented information for effort estimation. Nevertheless, many respondents reported that these useful types of documented information were occasionally changing or missing. Based on our study results, we provide recommendations for agile practitioners on how effort estimation can be improved by focusing on just-enough documentation.

[1]  Jie Sun,et al.  The Role of Requirements Engineering Practices in Agile Development: An Empirical Study , 2014, APRES.

[2]  Daniela E. Damian,et al.  The Evolution of Requirements Practices in Software Startups , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[3]  David Lo,et al.  How Practitioners Perceive Coding Proficiency , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE).

[4]  Nicole Novielli,et al.  Confusion in Code Reviews: Reasons, Impacts, and Coping Strategies , 2019, 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[5]  S. Jamieson Likert scales: how to (ab)use them , 2004, Medical education.

[6]  M. Denscombe The Good Research Guide: for small-scale social research projects , 1998 .

[7]  Xavier Franch,et al.  Needs and challenges for a platform to support large-scale requirements engineering: a multiple-case study , 2018, ESEM.

[8]  Anirban Basu,et al.  Effort Estimation in Agile Software Development using Story Points , 2012 .

[9]  Frederik M. Fowler The Product Backlog , 2018, Navigating Hybrid Scrum Environments.

[10]  Collin McMillan,et al.  Detecting User Story Information in Developer-Client Conversations to Generate Extractive Summaries , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE).

[11]  James Noble,et al.  Documentation strategies on agile software development projects , 2012 .

[12]  Jörg Thomaschewski,et al.  Agile Requirements Engineering: A systematic literature review , 2017, Comput. Stand. Interfaces.

[13]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[14]  Ilker Etikan,et al.  Comparison of Convenience Sampling and Purposive Sampling , 2016 .

[15]  Barbara Paech,et al.  Software Feature Request Detection in Issue Tracking Systems , 2016, 2016 IEEE 24th International Requirements Engineering Conference (RE).

[16]  Kelly Blincoe,et al.  Can a Conversation Paint a Picture? Mining Requirements In Software Forums , 2019, 2019 IEEE 27th International Requirements Engineering Conference (RE).

[17]  S. Lauesen Software Requirements Styles and Techniques , 2001 .

[18]  Andy Zaidman,et al.  A framework for quality assessment of just-in-time requirements: the case of open source feature requests , 2016, Requirements Engineering.

[19]  Harald C. Gall,et al.  How developers engage with static analysis tools in different contexts , 2019, Empirical Software Engineering.

[20]  Gabriele Bavota,et al.  Software Documentation Issues Unveiled , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE).

[21]  Xavier Franch,et al.  Non-functional Requirements Documentation in Agile Software Development: Challenges and Solution Proposal , 2017, PROFES.

[22]  Timothy Lethbridge,et al.  The relevance of software documentation, tools and technologies: a survey , 2002, DocEng '02.

[23]  M. McHugh Interrater reliability: the kappa statistic , 2012, Biochemia medica.

[24]  Orit Hazzan,et al.  The Agile Manifesto , 2014 .

[25]  Rashina Hoda,et al.  Multi-level agile project management challenges: A self-organizing team perspective , 2016, J. Syst. Softw..

[26]  Frank Maurer,et al.  Requirements engineering and agile software development , 2003, WET ICE 2003. Proceedings. Twelfth IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2003..

[27]  Mark Kasunic,et al.  Designing an Effective Survey , 2005 .

[28]  Thomas Zimmermann,et al.  What Makes a Good Bug Report? , 2008, IEEE Transactions on Software Engineering.

[29]  Vahid Garousi,et al.  Cost, benefits and quality of software development documentation: A systematic mapping , 2015, J. Syst. Softw..

[30]  Adam Mukharil Bachtiar Scrum Reference Card , 2015 .

[31]  Marc Roper,et al.  What's in a bug report? , 2014, ESEM '14.

[32]  Gabriele Bavota,et al.  Detecting missing information in bug descriptions , 2017, ESEC/SIGSOFT FSE.

[33]  Kenneth S. Rubin,et al.  Essential Scrum: A Practical Guide to the Most Popular Agile Process , 2012 .

[34]  Carme Quer,et al.  Requirements reuse and requirement patterns: a state of the practice survey , 2017, Empirical Software Engineering.

[35]  Jürgen Börstler,et al.  Effort estimation in large-scale software development: An industrial case study , 2018, Inf. Softw. Technol..

[36]  Spencer E. Harpe How to analyze Likert and other rating scale data , 2015 .

[37]  Tony Gorschek,et al.  BAM - Backlog Assessment Method , 2019, XP.

[38]  Ricardo Britto,et al.  Effort Estimation in Co-located and Globally Distributed Agile Software Development: A Comparative Study , 2016, 2016 Joint Conference of the International Workshop on Software Measurement and the International Conference on Software Process and Product Measurement (IWSM-MENSURA).

[39]  Robert Amor,et al.  Understanding Knowledge Management in Agile Software Development Practice , 2017, KSEM.

[40]  Christof Ebert,et al.  Effectively utilizing project, product and process knowledge , 2008, Inf. Softw. Technol..

[41]  Mike Cohn,et al.  Agile Estimating and Planning , 2005 .

[42]  Sabrina Marczak,et al.  A systematic literature review on agile requirements engineering practices and challenges , 2015, Comput. Hum. Behav..

[43]  Carine Khalil,et al.  Exploring knowledge management in agile software development organizations , 2019, International Entrepreneurship and Management Journal.

[44]  Neil A. Ernst,et al.  Case studies in just-in-time requirements analysis , 2012, 2012 Second IEEE International Workshop on Empirical Requirements Engineering (EmpiRE).

[45]  Eric Knauss,et al.  Requirements Engineering Challenges in Large-Scale Agile System Development , 2017, 2017 IEEE 25th International Requirements Engineering Conference (RE).

[46]  Kai Petersen,et al.  Survey Research in Software Engineering: Problems and Mitigation Strategies , 2017, IEEE Access.

[47]  Magne Jørgensen,et al.  The Impact of Lessons-Learned Sessions on Effort Estimation and Uncertainty Assessments , 2009, IEEE Transactions on Software Engineering.

[48]  Andy Zaidman,et al.  A systematic literature review on quality criteria for agile requirements specifications , 2018, Software Quality Journal.

[49]  Binish Tanveer,et al.  Understanding and Improving Effort Estimation in Agile Software Development—An Industrial Case Study , 2016, 2016 IEEE/ACM International Conference on Software and System Processes (ICSSP).

[50]  Tony Gorschek,et al.  A Progression Model of Software Engineering Goals, Challenges, and Practices in Start-Ups , 2019, IEEE Transactions on Software Engineering.

[51]  Alexander Scheerer,et al.  Coordination Challenges in Large-Scale Software Development: A Case Study of Planning Misalignment in Hybrid Settings , 2018, IEEE Transactions on Software Engineering.