Abstract. [Context and motivation] Requirements catalogues for software release planning are often not complete and homogeneous. Current release planning approaches, however, assume such commitment to detail -at least implicitly. [Question/problem] We evaluate how to relax these expectations, while at the same time reducing release planning effort and increasing decisionmaking flexibility. [Principal ideas/results] Feature trees capture AND, OR, and REQUIRES relationships between requirements. Such requirements structuring can be used to hide incompleteness and to support abstraction. [Contribution] The paper describes how to utilize feature trees for planning the releases of an evolving software solution and evaluates the effects of the approach on effort, decision-making, and trust with an industrial case.Keywords: features, abstraction, release planning, roadmapping, case study.
IntroductionSoftware releases are planned by allocating requirements to development projects [1]. A strategic release plan aligns the development of an evolving software solution with market and stakeholder needs, company objectives, and constraints such as time and resources. Release planning is a central concern in iterative development, where multiple iterations, rather than a single project, are defined [2]. Release planning involves the following steps [3]. Requirements are elicited and specified. Criteria [4] are defined to evaluate and prioritize requirements [5]. Releases are then scoped by allocating the prioritized requirements to development projects. The resulting release plans are implemented, delivered, and analyzed with post-release reflections [6].Requirements that enter release planning are often of low quality [7]. Their homogeneity [8], completeness, and understanding [9] are hard to ensure due to the limited effort invested before a development project is funded. This situation contradicts with the assumptions of release planning approaches that scope projects simply by prioritizing and allocating available requirements. Consequently, the results are not trusted and not used for guiding ensuing development steps [10].Release Planning with Feature Trees: Industrial Case 289 This paper describes in detail how to hide the requirements-related problems by structuring the release planning inputs. The approach, whose initial ideas were introduced in an earlier position paper [11], is based on variability modeling [12] that allows abstracting from requirements with AND, OR, and REQUIRES relationships [13]. Variability is here used to structure decision options [14] for product evolution. This paper then introduces an industrial case [15] to understand how to use variability modeling in a real-world context of continuous agile product management [16]. Evaluated were feasibility of the approach and its effects on effort, decision-making, and trust were evaluated.The paper is structured as follows. Section 2 describes background and motivation. Section 3 introduces variability-based release planning. Section 4 describe...