Skip to main content

Advertisement

Log in

When-to-release decisions for features with time-dependent value functions

  • Original Research
  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

Release planning is of key importance for incremental software product development. With the increasing size and complexity of software products, as well as with the growing demands for transparency and objectivity of decision-making, intuition alone is no longer sufficient for release planning. EVOLVE+ is a systematic method for release planning, which combines the strengths of formalization and computational efficiency with the expertise of the human experts. From a given set of candidate features, the most attractive ones are selected and assigned to a sequence of releases. In this paper, we consider three extensions to the current systematic planning approach EVOLVE+: (a) value functions describing the estimated value of the feature are continuous functions of time, (b) the actual release dates are no longer fixed but can be varied in some pre-defined interval. As a consequence, the available resource capacities are also functions of time. (c) Calculation of trade-off solutions balancing the risk with the potential additional value of early release. All three extensions substantially increase the complexity of the release planning problem. We have developed a solution method using genetic algorithms that is able to accommodate the additional complexity of the advanced model. A hypothetical case study is conducted as a proof-of-concept for the applicability of the method. The applicability of the method is demonstrated by analyzing six detailed planning scenarios.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

References

  1. Amandeep A, Ruhe G, Stanford M (2004) Intelligent support for software release planning. In: 5th international conference on product focused software process improvement, pp 248–262

  2. Aurum A, Wohlin C (2003) The fundamental nature of requirement engineering activities as a decision-making process. Inf Softw Technol 45:945–954

    Article  Google Scholar 

  3. Barney S, Aurum A, Wohlin C (2008) A product management challenge: creating software product value through requirements selection. J Syst Architect 54:576–593

    Article  Google Scholar 

  4. Bhawnani P, Far B, Ruhe G (2005) Explorative study to provide decision support for software release decisions. In: IEEE international conference on software maintenance, ICSM’2005, pp 617–620

  5. Bhawnani P, Ruhe G, Kudorfer F, Meyer L (2006) Intelligent decision support for road mapping—a technology transfer case study with siemens corporate technology. In: Workshop on technology transfer in software engineering, pp 35–40

  6. Boehm B (1985) A spiral model of software development and enhancement. In: Proceedings of the International Workshop Software Process and Software Environments, ACM Press

  7. Briand L, Wieczorek I (2002) Resource estimation in software engineering. In: Marciniak J (ed) Encyclopedia of software engineering, vol. 2. Wiley, pp 1160–1196

  8. Brooks F (1987) No silver bullet: essence and accidents of software engineering. In: Proceedings of the IFIP, IEEE Computer Science Press, pp 1069–1076

  9. Chrissis MB, Konrad M, Shrum S (2006) CMMI—guidelines for process integration and product improvement. Addison-Wesley, Reading

    Google Scholar 

  10. Clarke J, Dolado JJ, Harman M, Hierons R, Jones B, Lumkin M, Mitchell B, Mancoridis S, Rees K, Roper M, Shepperd M (2003) Reformulating software engineering as a search problem. IEE Proc Softw 150:161–175

    Article  Google Scholar 

  11. Cohen MA, Eliashberg J, Ho T (1996) New product development: the performance and time-to-market tradeoff. Manage Sci 42:173–186

    Article  MATH  Google Scholar 

  12. Cohn M (2006) Agile estimating and planning. Prentice Hall, Englewood Cliffs

    Google Scholar 

  13. Denne M, Cleland-Huang J (2004) The incremental funding method: data-driven software development. IEEE Softw 21:39–47

    Article  Google Scholar 

  14. Ebert C (2007) The impacts of software product management. J Syst Softw 80:850–861

    Article  Google Scholar 

  15. Gilb T (1989) Principles of software engineering management. Addison Wesley, Longman

    Google Scholar 

  16. Greer D (2004) Decision support for planning software evolution with risk management. In: 16th international conference on software engineering and knowledge engineering SEKE’04, Banff, pp 503–508

  17. Harman M (2007) The current state and future of search based software engineering. In: International conference on software engineering ICSE 2007, series on the future of software engineering, Minneapolis, pp 342–357

  18. Jung H-W (1998) Optimizing value and cost in requirements analysis. IEEE Softw 15:74–78

    Article  Google Scholar 

  19. Karlsson J, Ryan K (1997) Prioritizing requirements using a cost-value approach. IEEE Softw 14:67–74

    Article  Google Scholar 

  20. Larman C, Basili V (2003) Iterative and incremental development: a brief history. IEEE Comput, pp 47–56

    Google Scholar 

  21. Maurice S, Ruhe G, Saliu O, Ngo-The A, Brassard R (2005) Decision support for value-based software release planning. Value Based Softw Eng 253–268

  22. McElroy J, Ruhe G (2007) Software release planning with time-dependent value functions and flexible release dates. In: 11th IASTED international conference on software engineering and applications 2007, Cambridge, pp 429–438

  23. Momoh J, Ruhe G (2006) Release planning process improvement—an industrial case study. Softw Process Improv Pract 11:295–307

    Article  Google Scholar 

  24. Nakano R, Yamada T (1992) A genetic algorithm applicable to large-scale job-shop problems. In: Parallel problem solving from nature 2, Elsevier, Amsterdam, pp 281–290

  25. Ngo-The A, Ruhe G (2008) A systematic approach for solving the wicked problem of software release planning. Soft Comput 12:95–108

    Article  Google Scholar 

  26. Ngo-The A, Ruhe G (2005) Decision support in requirements engineering. In: Aurum A, Wohlin C (eds) Engineering and management software requirements, Springer, Berlin, pp 267–286

  27. Ngo-The A, Ruhe G (2009) Optimized resource allocation for software release planning. IEEE Trans Softw Eng 35:109–123

    Article  Google Scholar 

  28. ReleasePlanner™, www.releaseplanner.com, Expert Decisions Inc., February 2010

  29. Ruhe G, Ngo-The A (2004) Hybrid intelligence in software release planning. Int J Hybrid Intell Syst 1:99–110

    Google Scholar 

  30. Saaty TL (1980) The analytic hierarchy process. McGraw-Hill, New York

    MATH  Google Scholar 

  31. Saliu O, Ruhe G (2005) Supporting software release planning decisions for evolving systems. In: 29th IEEE/NASA software engineering workshop, Greenbelt, MD, USA

  32. van den Akker M, Brinkkemper S, Diepen G, Versendaal J (2008) Software product release planning through optimization and what-if analysis. Inf Softw Technol 50:101–111

    Article  Google Scholar 

  33. Wiegers K (2003) Software requirements. Microsoft Press, Redmond

    Google Scholar 

Download references

Acknowledgments

The authors would like to thank both the Natural Sciences and Engineering Research Council (NSERC) (Discovery Grant 250343-07) and the Alberta Informatics Circle of Research Excellence (iCORE) for their financial support of this research. In addition, further thanks goes to Jörg Denzinger of the University of Calgary for his help with designing the Or-Tree based genetic algorithm used in this paper. Last, but not least, the detailed comments provided by the reviewers of the paper have been of significant help.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Guenther Ruhe.

Appendices

Appendix 1

See Table 3.

Table 3 Resources and their capacities

Appendix 2

See Table 4.

Table 4 Case study features and their characteristics

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mc Elroy, J., Ruhe, G. When-to-release decisions for features with time-dependent value functions. Requirements Eng 15, 337–358 (2010). https://doi.org/10.1007/s00766-010-0097-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-010-0097-5

Keywords

Navigation