Handling Uncertainty in Agile Requirement Prioritization and Scheduling Using Statistical Simulation

In the creation of a release plan developers must attempt to maximise business value while maintaining a high degree of certainty that the product will be completed on time and to budget. As a result of these constraints management is often forced to make the difficult decision as to which stories to complete and which to ignore. The difficulty of this decision is compounded by a high degree of uncertainty within the business value of each story, the story size and also the resources available. This paper proposes a relatively simple statistical methodology that allows for uncertainty in these areas. In so doing it provides key stakeholders with the opportunity to manage uncertainty in the planning of what functionality to include in upcoming releases. The technique is lightweight in nature and consistent with existing agile planning practices. A case study is provided to demonstrate how the method may be used.

[1]  Günther Ruhe,et al.  A systematic approach for solving the wicked problem of software release planning , 2007, Soft Comput..

[2]  Björn Regnell,et al.  Market-Driven Requirements Engineering for Software Products , 2005 .

[3]  Des Greer,et al.  Software release planning: an evolutionary and iterative approach , 2004, Inf. Softw. Technol..

[4]  Granville Miller,et al.  OO process and metrics for effort estimation , 1995, OOPSLA '95.

[5]  David Hawking,et al.  Evaluating sampling methods for uncooperative collections , 2007, SIGIR.

[6]  Jeannette Cabanis-Brewin,et al.  Book Review: My Life is Failure: 100 Things you Should Know to be a Successful Project Leader , 2007 .

[7]  Capers Jones,et al.  Why software fails , 1996 .

[8]  Günther Ruhe,et al.  The art and science of software release planning , 2005, IEEE Software.

[9]  Wei Shen,et al.  Release planning under fuzzy effort constraints , 2004 .

[10]  Granville Miller,et al.  OO process and metrics for effort estimation , 1997, OOPSLA '97.

[11]  Debra J. Richardson,et al.  The Uncertainty Principle in Software Engineering Submitted to ICSE'97, 19th International Conference on Software Engineering , 1998 .

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

[13]  Ho-Won Jung,et al.  Optimizing Value and Cost in Requirements Analysis , 1998, IEEE Softw..

[14]  Gleb Beliakov Universal nonuniform random vector generator based on acceptance-rejection , 2005, TOMC.

[15]  Watts S. Humphrey Why Big Software Projects Fail: The 12 Key Questions , 2005 .

[16]  Robert L. Nord,et al.  Planning realistic schedules using software architecture , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[17]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[18]  Todd Little,et al.  Context-adaptive agility: managing complexity and uncertainty , 2005, IEEE Software.

[19]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

[20]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

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

[22]  Claes Wohlin,et al.  Pair-wise comparisons versus planning game partitioning—experiments on requirements prioritisation techniques , 2007, Empirical Software Engineering.