A pattern-based release planning methodology for market-driven software / Amir Seyed Danesh
In software development, release planning is performed in order to select important features and requirements based on resource and technical constraints and the relationships between requirements. Several methods have been developed for release planning, but the most challenging part of release...
| Main Author: | |
|---|---|
| Format: | Thesis |
| Published: |
2016
|
| Subjects: | |
| Online Access: | http://studentsrepo.um.edu.my/6338/ http://studentsrepo.um.edu.my/6338/4/amir.pdf |
| Summary: | In software development, release planning is performed in order to select important
features and requirements based on resource and technical constraints and the
relationships between requirements. Several methods have been developed for release
planning, but the most challenging part of release planning methods is dealing with
unique complexities and varying characteristics of problem scope and domain. This has
made the existing methods and approaches only applicable to a limited range of
software projects. As a result, a more flexible and adaptive approach is required for
release planning that can be customized in accordance to different domains and can be
employed in a variety of software development projects. Achieving a highly customized
release planning methodology requires an effective planning process that covers all
release planning tasks and can be customized according to project specifications for
each parameter. This study aims to, firstly, assemble a general and comprehensive
process for release planning which covers all the important tasks and, secondly, identify
parameters which can be used to customize the process for various projects, and thirdly
introduce and apply release planning patterns based on process model steps and the
identified parameters to facilitate customization. Thus, available release planning
approaches have been studied and four common tasks i.e. requirements prioritization,
resource estimation, release pre-planning, and trade-off analysis were identified and
assembled in the form of a process model. Subsequently, various relevant parameters
for each step which are related to project specifications were identified. In order to
customize each step of the process model for various projects, each parameter was
determined precisely and its current instances were identified. Some of the parameters
are shared between process model steps. The notion of "pattern" was employed in order
to facilitate the customization of the steps of the process model and several patterns
were identified. Every release planning pattern has constraints based upon parameter
instances of the step of process model, and suggests a solution as the selected method to
apply to the step. Using this notion, the release planner only has to select a release
planning pattern based on selected parameters that suit his circumstance. To validate the
proposed methodology, two methods are used. At first, five software companies with 31
projects were used to implement method to their projects. The companies were asked to
apply the pattern-based methodology to at least two releases and, for each step of the
methodology, apply PRP tool suggested method. Secondly, numbers of 13 experts in the
software development domain are answered questions in a survey on the results of the
methodology and their satisfaction. Results showed that in most cases -more than 87%
of the cases, the methodology suggested by the pattern release planner produce better
releases and make the release planning process easier and faster than those used previously. |
|---|