Skip to main content
Log in

Software release planning for evolving systems

  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

Abstract

Release planning is a crucial step in incremental software development. It addresses the issues involved with assigning features to sequence of releases of a system such that the most important technical, resource, risk and budget constraints are met. These problems are difficult to solve for even mid-sized systems. The issues become even more challenging in evolving systems where we need to consider the characteristics of the existing system, as the existing components of the system have their own history and status in terms of size, complexity, health, criticality, and understandability.

In this paper, we present the foundations for handling release planning for evolving systems in a rigorous manner. Based on a formalized problem description, we present a new solution approach for release planning of evolving systems called S-EVOLVE*. From analyzing and comparing different characteristics of the target components, where new features will be implemented, we obtain a more detailed perspective of the potential impact of implementing one feature or another. As part of this analysis, we have applied the analytic hierarchy process (AHP) to define weighting factors for component modifiability. The information gained is used for designing release plans based on thresholds for the relative extent of modifiability acceptable for a release. A set of structurally different release plans is generated based on solving a specialized integer linear-programming problem. The plans are proven to be semi-optimal for the stated objectives.

A case study is performed to demonstrate the added value of the approach. The evolving system under consideration is the intelligent decision-support tool ReleasePlanner. We compare and discuss results, for planning future releases, for the cases with and without consideration of system constraints.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. Bagnall AJ, Rayward-Smith VJ, Whittley IM (2001) The next release problem. Inform Software Tech 43(14):883–890

    Google Scholar 

  2. Ruhe, G (2005) Software Release Planning. In: Handbook of software engineering and knowledge engineering, vol. 3. World Scientific Publishing

  3. Saliu O, Ruhe G (2005) Supporting software release planning decisions for evolving systems. In: Proceedings of 29th IEEE/NASA software engineering workshop, Greenbelt, MD, USA, 6–7 April

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

  5. Penny DA (2002) An estimation-based management framework for enhancive maintenance in commercial software products. In: Proceedings of international conference on software maintenance (ICSM’02), Montreal, Canada, 3–6 October, pp. 122–130

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

    Google Scholar 

  7. Karlsson J, Ryan K (1997) A cost-value approach for prioritizing requirements. IEEE Softw 14(5):67–74

    Google Scholar 

  8. Jung H-W (1998) Optimizing value and cost in requirements analysis. IEEE Software, pp. 74–78

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

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

    Google Scholar 

  11. Jilles van-Gurp Bosch J, Svahnberg M (2000) Managing variability in software product lines. In: Proceedings of LAC 2000, Amsterdam

  12. Carlshamre P (2002) Release planning in market-driven software product development: provoking an understanding. Requirements Eng 7:139–151

    Google Scholar 

  13. Graves TL, Karr AF, Marron JS, Siy H (2000) Predicting fault incidence using software change history. IEEE Trans Softw Eng 26(7):653–661

    Google Scholar 

  14. Eick SG, Graves TL, Karr AF, Marron JS, Mockus A (2001) Does code decay? Assessing the evidence from change management data. IEEE Trans Softw Eng 27(1):1–12

    Google Scholar 

  15. Gall H, Hajek K, Jazayeri M (1998) Detection of logical coupling based on product release history. In: IEEE international conference on software maintenance. Washington DC, pp. 190–198

  16. Porter AA, Selby RW (1990) Empirically guided software development using metric-based classification trees. IEEE Softw 7(2):46–54

    Google Scholar 

  17. Mockus A, Weiss DM (2000) Predicting risk of software changes. Bell Labs Tech J 5(2):169–180

    Google Scholar 

  18. Gall H, Jazayeri M, Klosch RR, Trausmuth G (1997) Software evolution observations based on product release history. In: Proceedings of international conference on software maintenance (ICSM’97), Bari, Italy, Oct. 1–3, pp. 160–166

  19. Yu TJ, Shen VY, Dunsmore HE (1988) An analysis of several software defect models. IEEE Trans Softw Eng 14(9):1261–1270

    Google Scholar 

  20. Lehman MM (1980) On understanding laws, evolution and conservation in the large program life cycle. J Syst Softw 1(3):213–221

    Google Scholar 

  21. Van Scoy RL (1992) Software development risk: opportunity, not problem. Software Engineering Institute, Pittsburgh, (CMU/SEI-92-TR-30, ESC-TR-92-030)

  22. Ohlsson MC, Andrews AA, Wohlin C (2001) Modelling fault-proneness statistically over a sequence of releases: a case study. J Softw Maintenance Evol Res Pract 13:167–199

    Google Scholar 

  23. Mens T, Demeyer S (2001) Future trends in software evolution metrics. In: Proceedings of 4th international workshop on principles of software evolution (IWPSE’01), Vienna, Austria, pp. 83–86

  24. Lehman MM (1996) Laws of software evolution revisited. In: Proceedings of 5th European workshop on software process technology (EWSPT’96), Nancy, pp. 108–124

  25. McCabe TJ (1976) A complexity measure. IEEE Trans Softw Eng 2(4):308–320

    Google Scholar 

  26. Halstead MH (1979) Elements of software science. Elsevier, Holland

  27. Schneidewind NF, Hoffman HM (1979) An experiment in software error data collection and analysis. IEEE Trans Softw Eng 5(3):276–286

    Google Scholar 

  28. Dayani-Fard H (2003) Quality-based software release management. Queen’s University, Canada, Kingston, Ontario, PhD Thesis

  29. Christel MG, Kang KC (1992) Issues in requirements elicitation. SEI, Carnegie Melon University, Pittsburgh, CA, CMU/SEI-92-TR-12

  30. Wolsey LA, Nemhauser GL (1998) Integer and combinatorial optimization. Wiley, New York

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Omolade Saliu.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Saliu, O., Ruhe, G. Software release planning for evolving systems. Innovations Syst Softw Eng 1, 189–204 (2005). https://doi.org/10.1007/s11334-005-0012-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-005-0012-2

Keywords

Navigation