A method for re-planning of software releases using discrete-event simulation

Ahmed Al-Emran, Dietmar Pfahl, Günther Ruhe

Software release planning can be described as a process consisting of the following three phases: (i) strategic release planning, i.e. the assignment of features to subsequent releases, (ii) operational release planning, i.e. the allocation of resources to tasks within each individual release, and (iii) dynamic re-planning, i.e. the revision of plans to handle unexpected changes imposed on product/project managers responsible for the realization of individual releases. Example changes include the addition or removal of features and/or developers, adjustments due to over-estimated developer productivity, or under-estimated work volume of feature-specific tasks, and adjusted degrees of task dependencies. The research presented in this article mainly focuses on phase (iii), in conjunction with phase (ii), of the release planning process, assuming that phase (i) has already been completed. For that purpose, we present a hybrid intelligence decision-support method PRP (Planning/Re-planning), and as its integral part a discrete-event simulation model called DynaReP (Dynamic Re-planner). The applicability, effectiveness, and efficiency of the proposed method and model are illustrated through a series of typical release planning and re-planning scenarios on operational level.