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.
Article PDF
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
References
Bagnall AJ, Rayward-Smith VJ, Whittley IM (2001) The next release problem. Inform Software Tech 43(14):883–890
Ruhe, G (2005) Software Release Planning. In: Handbook of software engineering and knowledge engineering, vol. 3. World Scientific Publishing
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
Saaty, TL (1980) The analytic hierarchy process. McGraw-Hill, New York
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
Denne M, Cleland-Huang J (2004) The incremental funding method: data driven software development. IEEE Softw 21(3):39–47
Karlsson J, Ryan K (1997) A cost-value approach for prioritizing requirements. IEEE Softw 14(5):67–74
Jung H-W (1998) Optimizing value and cost in requirements analysis. IEEE Software, pp. 74–78
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
Ruhe G, Ngo-The A (2004) Hybrid intelligence in software release planning. Int J Hybrid Int Syst 1(2):99–110
Jilles van-Gurp Bosch J, Svahnberg M (2000) Managing variability in software product lines. In: Proceedings of LAC 2000, Amsterdam
Carlshamre P (2002) Release planning in market-driven software product development: provoking an understanding. Requirements Eng 7:139–151
Graves TL, Karr AF, Marron JS, Siy H (2000) Predicting fault incidence using software change history. IEEE Trans Softw Eng 26(7):653–661
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
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
Porter AA, Selby RW (1990) Empirically guided software development using metric-based classification trees. IEEE Softw 7(2):46–54
Mockus A, Weiss DM (2000) Predicting risk of software changes. Bell Labs Tech J 5(2):169–180
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
Yu TJ, Shen VY, Dunsmore HE (1988) An analysis of several software defect models. IEEE Trans Softw Eng 14(9):1261–1270
Lehman MM (1980) On understanding laws, evolution and conservation in the large program life cycle. J Syst Softw 1(3):213–221
Van Scoy RL (1992) Software development risk: opportunity, not problem. Software Engineering Institute, Pittsburgh, (CMU/SEI-92-TR-30, ESC-TR-92-030)
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
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
Lehman MM (1996) Laws of software evolution revisited. In: Proceedings of 5th European workshop on software process technology (EWSPT’96), Nancy, pp. 108–124
McCabe TJ (1976) A complexity measure. IEEE Trans Softw Eng 2(4):308–320
Halstead MH (1979) Elements of software science. Elsevier, Holland
Schneidewind NF, Hoffman HM (1979) An experiment in software error data collection and analysis. IEEE Trans Softw Eng 5(3):276–286
Dayani-Fard H (2003) Quality-based software release management. Queen’s University, Canada, Kingston, Ontario, PhD Thesis
Christel MG, Kang KC (1992) Issues in requirements elicitation. SEI, Carnegie Melon University, Pittsburgh, CA, CMU/SEI-92-TR-12
Wolsey LA, Nemhauser GL (1998) Integer and combinatorial optimization. Wiley, New York
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-005-0012-2