Effort estimation in agile software development: a systematic literature review

Context: Ever since the emergence of agile methodologies in 2001, many software companies have shifted to Agile Software Development (ASD), and since then many studies have been conducted to investigate effort estimation within such context; however to date there is no single study that presents a detailed overview of the state of the art in effort estimation for ASD. Objectives: The aim of this study is to provide a detailed overview of the state of the art in the area of effort estimation in ASD. Method: To report the state of the art, we conducted a systematic literature review in accordance with the guidelines proposed in the evidence-based software engineering literature. Results: A total of 25 primary studies were selected; the main findings are: i) Subjective estimation techniques (e.g. expert judgment, planning poker, use case points estimation method) are the most frequently applied in an agile context; ii) Use case points and story points are the most frequently used size metrics respectively; iii) MMRE (Mean Magnitude of Relative Error) and MRE (Magnitude of Relative Error) are the most frequently used accuracy metrics; iv) team skills, prior experience and task size are cited as the three important cost drivers for effort estimation in ASD; and v) Extreme Programming (XP) and SCRUM are the only two agile methods that are identified in the primary studies. Conclusion: Subjective estimation techniques, e.g. expert judgment-based techniques, planning poker or the use case points method, are the one used the most in agile effort estimation studies. As for the size metrics, the ones that were used the most in the primary studies were story points and use case points. Several research gaps were identified, relating to the agile methods, size metrics and cost drivers, thus suggesting numerous possible avenues for future work.

[1]  Chen Liping,et al.  Agile planning and development methods , 2011, 2011 3rd International Conference on Computer Research and Development.

[2]  Magne Jørgensen,et al.  Does the use of Fibonacci numbers in planning poker affect effort estimates? , 2012, EASE.

[3]  Des Greer,et al.  Allowing for Task Uncertainties and Dependencies in Agile Release Planning , 2007 .

[4]  Sungjoo Kang,et al.  Model-Based Dynamic Cost Estimation and Tracking Method for Agile Software Development , 2010, 2010 IEEE/ACIS 9th International Conference on Computer and Information Science.

[5]  Kjetil Moløkken-Østvold,et al.  A review of software surveys on software effort estimation , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[6]  Emilia Mendes,et al.  A systematic review of web resource estimation , 2012, PROMISE '12.

[7]  Sylvie Trudel,et al.  Guideline for Sizing Agile Projects with COSMIC , 2010 .

[8]  Kjetil Moløkken-Østvold,et al.  Using planning poker for combining expert estimates in software projects , 2008, J. Syst. Softw..

[9]  OrmandjievaOlga,et al.  Approximation of COSMIC functional size to support early effort estimation in Agile , 2013 .

[10]  Prakash Ramaswamy,et al.  The effects of individual XP practices on software development effort , 2003, SOEN.

[11]  Eisha Hasnain,et al.  An overview of published agile studies: a systematic literature review , 2010, NSEC '10.

[12]  Witold Pedrycz,et al.  Predicting Development Effort from User Stories , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[13]  Jongmoon Baik,et al.  Model Based Estimation and Tracking Method for Agile Software Project , 2012, Int. J. Hum. Cap. Inf. Technol. Prof..

[14]  Frank Maurer,et al.  User-Centered Design and Agile Methods: A Systematic Review , 2011, 2011 AGILE Conference.

[15]  Kieran Conboy,et al.  Cost estimation in agile development projects , 2006, ECIS.

[16]  Abdul Azim Abdul Ghani,et al.  On the Current Measurement Practices in Agile Software Development , 2013, ArXiv.

[17]  Stephen G. MacDonell,et al.  What accuracy statistics really measure , 2001, IEE Proc. Softw..

[18]  Giancarlo Succi,et al.  Effort Prediction in Iterative Software Development Processes -- Incremental Versus Global Prediction Models , 2007, ESEM 2007.

[19]  Alexandre Marcos Lins de Vasconcelos,et al.  Using Function Points in Agile Projects , 2011, XP.

[20]  Kjetil Moløkken-Østvold,et al.  The Relationship between Customer Collaboration and Software Project Overruns , 2007, Agile 2007 (AGILE 2007).

[21]  Ugrasen Suman,et al.  Phase wise effort estimation for software maintenance: an extended SMEEM model , 2012, CUBE.

[22]  Cagatay Catal,et al.  A Composite Project Effort Estimation Approach in an Enterprise Software Development Project , 2011, SEKE.

[23]  Magne Jørgensen,et al.  A review of studies on expert estimation of software development effort , 2004, J. Syst. Softw..

[24]  Tony Gorschek,et al.  Solutions in global software engineering: A systematic literature review , 2013, Int. J. Inf. Manag..

[25]  Lan Cao,et al.  Estimating Agile Software Project Effort: An Empirical Study , 2008, AMCIS.

[26]  Muhammad Ali Babar,et al.  On Searching Relevant Studies in Software Engineering , 2010, EASE.

[27]  Mohammad Alshayeb,et al.  An Empirical Validation of Object-Oriented Metrics in Two Different Iterative Software Processes , 2003, IEEE Trans. Software Eng..

[28]  Moses M. Hohman Estimating in actual time [extreme programming] , 2005, Agile Development Conference (ADC'05).

[29]  Kjetil Moløkken-Østvold,et al.  Combining Estimates with Planning Poker--An Empirical Study , 2007, 2007 Australian Software Engineering Conference (ASWEC'07).

[30]  Nils Christian Haugen An empirical study of using planning poker for user story estimation , 2006, AGILE 2006 (AGILE'06).

[31]  Abu Wahid Md Masud Parvez Efficiency factor and risk factor based user case point test effort estimation model compatible with agile software development , 2013, 2013 International Conference on Information Technology and Electrical Engineering (ICITEE).

[32]  Reiner R. Dumke,et al.  Software Metrics for Agile Software Development , 2008, 19th Australian Conference on Software Engineering (aswec 2008).

[33]  Viljan Mahnic,et al.  On using planning poker for estimating user stories , 2012, J. Syst. Softw..

[34]  Pearl Brereton,et al.  Using mapping studies as the basis for further research - A participant-observer case study , 2011, Inf. Softw. Technol..

[35]  Sandra Camargo Pinto Ferraz Fabbri,et al.  PW-Plan - A Strategy to Support Iteration-based Software Planning , 2010, ICEIS.

[36]  Norman E. Fenton,et al.  Predicting Project Velocity in XP Using a Learning Dynamic Bayesian Network Model , 2009, IEEE Transactions on Software Engineering.

[37]  Ayman A. Issa,et al.  A Linear Use Case Based Software Cost Estimation Model , 2011 .

[38]  Nuno Jardim Nunes,et al.  iUCP - Estimating Interaction Design Projects with Enhanced Use Case Points , 2009, TAMODIA.

[39]  Zhao Ming An estimation method of iteration periods in XP project , 2007 .

[40]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

[41]  Claes Wohlin,et al.  Global software engineering and agile practices: a systematic review , 2012, J. Softw. Evol. Process..

[42]  Witold Pedrycz,et al.  Incremental Effort Prediction Models in Agile Development using Radial Basis Functions , 2007, SEKE.

[43]  Ken Power,et al.  Using Silent Grouping to Size User Stories , 2011, XP.

[44]  Maya Ingle,et al.  Agile Estimation using CAEA: A Comparative Study of Agile Projects , 2011 .

[45]  Rick Kazman,et al.  iUCP: Estimating Interactive-Software Project Size with Enhanced Use-Case Points , 2011, IEEE Software.

[46]  Ioannis Stamelos,et al.  Empirical Studies on Quality in Agile Practices: A Systematic Literature Review , 2010, 2010 Seventh International Conference on the Quality of Information and Communications Technology.

[47]  Maya Ingle,et al.  Incorporating Vital Factors in Agile Estimation through Algorithmic Method , 2009, Int. J. Comput. Sci. Appl..

[48]  Ozgur Aktunc Entropy Metrics for Agile Development Processes , 2012, 2012 IEEE 23rd International Symposium on Software Reliability Engineering Workshops.

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

[50]  Jean-Marc Desharnais,et al.  Using the COSMIC method to estimate Agile user stories , 2011 .

[51]  Magne Jørgensen,et al.  A Systematic Review of Software Development Cost Estimation Studies , 2007, IEEE Transactions on Software Engineering.

[52]  Witold Pedrycz,et al.  Effort Prediction in Iterative Software Development Processes -- Incremental Versus Global Prediction Models , 2007, First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007).

[53]  Magne Jørgensen,et al.  A Systematic Review of Software Development Cost Estimation Studies , 2007 .

[54]  Juanjuan Zang Agile Estimation with Monte Carlo Simulation , 2008, XP.

[55]  H. E. Dunsmore,et al.  Software engineering metrics and models , 1986 .

[56]  Jeff Sutherland,et al.  Scrum Metrics for Hyperproductive Teams: How They Fly like Fighter Aircraft , 2013, 2013 46th Hawaii International Conference on System Sciences.

[57]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[58]  Deborah Hartmann,et al.  Appropriate agile measurement: using metrics and diagnostics to deliver business value , 2006, AGILE 2006 (AGILE'06).

[59]  Alain Abran,et al.  Sizing user stories using paired comparisons , 2009, Inf. Softw. Technol..

[60]  Ricardo Imbert,et al.  Effort Estimation in Incremental Software Development Projects Using Function Points , 2012 .

[61]  Yong Hu,et al.  Systematic literature review of machine learning based software development effort estimation models , 2012, Inf. Softw. Technol..

[62]  Guilherme Horta Travassos,et al.  Cross versus Within-Company Cost Estimation Studies: A Systematic Review , 2007, IEEE Transactions on Software Engineering.

[63]  Olga Ormandjieva,et al.  Approximation of COSMIC functional size to support early effort estimation in Agile , 2013, Data Knowl. Eng..

[64]  N. Chauhan,et al.  A sprint-point based estimation technique in Scrum , 2013, 2013 International Conference on Information Systems and Computer Networks.

[65]  Viljan Mahnič,et al.  A Case Study on Agile Estimating and Planning using Scrum , 2011 .

[66]  Barry W. Boehm,et al.  Software development cost estimation approaches — A survey , 2000, Ann. Softw. Eng..

[67]  Reidar Conradi,et al.  A Review of Studies on Expert Estimation of Software Development Effort , 2006 .