Software release planning: an evolutionary and iterative approach

被引:241
作者
Greer, D [1 ]
Ruhe, G [1 ]
机构
[1] Univ Calgary, Calgary, AB T2N 1N4, Canada
关键词
incremental software development; release planning; requirements prioritization; software engineering decision support; genetic algorithm;
D O I
10.1016/j.infsof.2003.07.002
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
To achieve higher flexibility and to better satisfy actual customer requirements, there is an increasing tendency to develop and deliver software in an incremental fashion. In adopting this process, requirements are delivered in releases and so a decision has to be made on which requirements should be delivered in which release. Three main considerations that need to be taken account of are the technical precedences inherent in the requirements, the typically conflicting priorities as determined by the representative stakeholders, as well as the balance between required and available effort. The technical precedence constraints relate to situations where one requirement cannot be implemented until another is completed or where one requirement is implemented in the same increment as another one. Stakeholder preferences may be based on the perceived value or urgency of delivered requirements to the different stakeholders involved. The technical priorities and individual stakeholder priorities may be in conflict and difficult to reconcile. This paper provides (i) a method for optimally allocating requirements to increments; (ii) a means of assessing and optimizing the degree to which the ordering conflicts with stakeholder priorities within technical precedence constraints; (iii) a means of balancing required and available resources for all increments; and (iv) an overall method called EVOLVE aimed at the continuous planning of incremental software development. The optimization method used is iterative and essentially based on a genetic algorithm. A set of the most promising candidate solutions is generated to support the final decision. The paper evaluates the proposed approach using a sample project. (C) 2003 Elsevier B.V. All rights reserved.
引用
收藏
页码:243 / 253
页数:11
相关论文
共 21 条
[1]  
[Anonymous], EXTREME PROGRAMMING
[2]  
[Anonymous], 1991, Handbook of genetic algorithms
[3]  
BRIAND LC, 2002, EXPT GENETIC ALGORIT
[4]  
Bubenko J. A. Jr., 1995, Proceedings of the Second IEEE International Symposium on Requirements Engineering (Cat. No.95TH8040), P160, DOI 10.1109/ISRE.1995.512557
[5]  
Carnahan J, 2001, IEEE POTENTIALS, V20, P21, DOI 10.1109/45.954644
[6]  
Cockburn A., 2002, AGILE SOFTWARE DEV
[7]  
De Jong KA., 1975, An analysis of the behavior of a class of genetic adaptive systems
[8]  
Gilb T., 1988, PRINCIPLES SOFTWARE, V11
[9]  
GOLDBERG DE, 1989, PROCEEDINGS OF THE THIRD INTERNATIONAL CONFERENCE ON GENETIC ALGORITHMS, P70
[10]  
Greer D, 1999, NEC RES DEV, V40, P378