Performing operational release planning, replanning and risk analysis using a system dynamics simulation model

Software release planning takes place on strategic and operational levels. Strategic release planning aims at assigning features to subsequent releases such that technical, resource, risk and budget constraints are met. Operational release planning focuses on the development of a single software release. Its purpose is to assign resources to feature development tasks such that total release duration is minimized under given process and project constraints. Replanning becomes necessary on the operational level because of addition or deletion of features during release development, due to changes in the workforce, or due to changes in process and project constraints. The allocation of resources to feature development tasks depends on the accurate estimation of planning parameters like task size, developer productivity or dependencies between task types. Risk analysis can help assess the reliability of a chosen release plan due to variation in these dependencies. In this article, we present elements of a simulation-based methodology to planning, replanning and risk analysis of software releases on an operational level. Even though there exist approaches addressing these three aspects individually, our proposed approach combines all of them into one single package and, hence, offers stronger support to decision makers. The core element of the methodology is the process simulation model REPSIM-2 (Release Plan Simulator, Version 2). We describe the functionality of REPSIM-2 and illustrate its usefulness for planning, replanning and risk analysis through application scenarios. Copyright © 2008 John Wiley & Sons, Ltd.