Authors:
Vassilis C. Gerogiannis
and
Pandelis G. Ipsilandis
Affiliation:
Technological Education Institute of Larissa, Greece
Keyword(s):
Software Project Management, Iterative Development, Timeboxing, Project Scheduling, Linear Programming,
Multi-Objective Optimization.
Related
Ontology
Subjects/Areas/Topics:
Engineering Information System
;
Enterprise Information Systems
;
Enterprise Software Technologies
;
Information Systems Analysis and Specification
;
Software Economics
;
Software Engineering
Abstract:
In iterative/incremental software development, software deliverables are built in iterations - each iteration providing parts of the required software functionality. To better manage and monitor resources, plan and deliverables, iterations are usually performed during specific time periods, so called “time boxes”. Each time box is further divided into a sequence of stages and a dedicated development team is assigned to each stage. Iterations can be performed in parallel to reduce the project completion time by exploiting a “pipelining” concept, that is, when a team completes the tasks of a stage, it hands over the intermediate deliverables to the team executing the next stage and then starts executing the same stage in the next iteration. In this paper, we address the problem of optimizing the schedule of a software project that follows an iterative, timeboxing process model. A multi objective linear programming technique is introduced to consider multiple parameters, such as the pro
ject duration, the work discontinuities of development teams in successive iterations and the release (delivery) time of software deliverables. The proposed model can be used to generate alternative project plans based on the relative importance of these parameters.
(More)