The technological advances that have brought us computers in our homes, our cars and our telephones have also brought about changes to the way that very same technology is developed. The abundance of computer power has enabled a new way of developing software that relies on components, prototyping and short development cycles, rather than on the more traditional analysis, design and build phases of not that long ago. This new way of developing software is called Agile development. This research looks into three distinct, but related, aspects of the management of Agile projects: (1) estimating software size with the purpose of planning a project, (2) monitoring development activities, and (3) calculating and administering contingency funds, and proposes new methods for addressing them.
Software sizing provides the foundation for estimating effort and project duration, and so the importance of credible and reliable size estimates cannot be overstated. To address the issue of estimation, the thesis proposes a modified Paired Comparison method to support expert judgement, the prevailing sizing method used in industry. In this method, the total number of comparisons, which is a factor limiting the scalability of the method, is reduced almost by half using incomplete cyclic designs (ICD) to select suitable pairs of entities to be compared.
Monitoring a project, is the process of comparing how far it has come relative to where it was supposed to be according to its plan, for the purpose of deciding what, if any, actions are necessary to complete it as planned. This thesis proposes and demonstrates the use of a modified line of balance (LOB) indicator to gain insights into the roject’s progress not provided by burn-down charts and cumulative flow diagrams, the two most common indicators used in Agile projects. The contribution of the thesis can be measured not only in terms of the novelty of the application of the LOB indicator to software development projects, but also in the replacement of the original plan-based lead-time calculations with dynamic information extracted from a control version system.
Contingency is defined by the Project Management Institute as the amount of funds needed above the estimate to reduce the risk of overruns to a level acceptable to the organization. This thesis postulates: 1) that a realistic calculation of these funds should be based on the cost of keeping the project on-schedule, and not on what it would have cost had the work been planned from the beginning, and proposes a quantitative model which takes into account the size of the project, the time at which the underestimation is acknowledged and the process losses associated with the recovery actions, and 2) that these funds ought to be administered above the project level to preserve the premise that their use is probabilistic. The model’s outputs enable the exploration of the costs and benefits of several management options.
The three methods presented will be of interest to project managers, software engineers and others involved in planning and risk management activities. While the examples used to illustrate and explain the concepts correspond to projects using Agile approaches, such as Scrum and Feature-Driven Development, the methods proposed are applicable to other types of development as well.
| Date | 26 Aug 2010 |
|---|
| Original language | American English |
|---|
| Awarding Institution | - École de technologie supérieure
|
|---|
| Supervisor | Pierre Bourque (Supervisor) & Alain Abran (Co-supervisor) |
|---|
Miranda, E. (Author),
Bourque (Supervisor) &
Abran (Co-supervisor),
26 Aug 2010Student thesis: Doctoral thesis › Doctorate in Engineering: Engineering