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.
Similar content being viewed by others
References
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
Aurum A, Wohlin C (2003) The fundamental nature of requirement engineering activities as a decision-making process. Inf Softw Technol 45:945–954
Barney S, Aurum A, Wohlin C (2008) A product management challenge: creating software product value through requirements selection. J Syst Architect 54:576–593
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
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
Boehm B (1985) A spiral model of software development and enhancement. In: Proceedings of the International Workshop Software Process and Software Environments, ACM Press
Briand L, Wieczorek I (2002) Resource estimation in software engineering. In: Marciniak J (ed) Encyclopedia of software engineering, vol. 2. Wiley, pp 1160–1196
Brooks F (1987) No silver bullet: essence and accidents of software engineering. In: Proceedings of the IFIP, IEEE Computer Science Press, pp 1069–1076
Chrissis MB, Konrad M, Shrum S (2006) CMMI—guidelines for process integration and product improvement. Addison-Wesley, Reading
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
Cohen MA, Eliashberg J, Ho T (1996) New product development: the performance and time-to-market tradeoff. Manage Sci 42:173–186
Cohn M (2006) Agile estimating and planning. Prentice Hall, Englewood Cliffs
Denne M, Cleland-Huang J (2004) The incremental funding method: data-driven software development. IEEE Softw 21:39–47
Ebert C (2007) The impacts of software product management. J Syst Softw 80:850–861
Gilb T (1989) Principles of software engineering management. Addison Wesley, Longman
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
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
Jung H-W (1998) Optimizing value and cost in requirements analysis. IEEE Softw 15:74–78
Karlsson J, Ryan K (1997) Prioritizing requirements using a cost-value approach. IEEE Softw 14:67–74
Larman C, Basili V (2003) Iterative and incremental development: a brief history. IEEE Comput, pp 47–56
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
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
Momoh J, Ruhe G (2006) Release planning process improvement—an industrial case study. Softw Process Improv Pract 11:295–307
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
Ngo-The A, Ruhe G (2008) A systematic approach for solving the wicked problem of software release planning. Soft Comput 12:95–108
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
Ngo-The A, Ruhe G (2009) Optimized resource allocation for software release planning. IEEE Trans Softw Eng 35:109–123
ReleasePlanner™, www.releaseplanner.com, Expert Decisions Inc., February 2010
Ruhe G, Ngo-The A (2004) Hybrid intelligence in software release planning. Int J Hybrid Intell Syst 1:99–110
Saaty TL (1980) The analytic hierarchy process. McGraw-Hill, New York
Saliu O, Ruhe G (2005) Supporting software release planning decisions for evolving systems. In: 29th IEEE/NASA software engineering workshop, Greenbelt, MD, USA
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
Wiegers K (2003) Software requirements. Microsoft Press, Redmond
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
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-010-0097-5