La vitrine de diffusion des mémoires et thèses de l'ÉTS
RECHERCHER

Improving the estimation, contingency planning and tracking of agile software development projects

Miranda, Eduardo (2010). Improving the estimation, contingency planning and tracking of agile software development projects. Thèse de doctorat électronique, Montréal, École de technologie supérieure.

[img]
Prévisualisation
PDF
Télécharger (2MB) | Prévisualisation

Résumé

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.

Résumé traduit

Les progrès technologiques dus aux logiciels présents dans nos maisons, nos voitures et nos téléphones ont également apporté des changements à la manière dont cette même technologie est développée. L’augmentation de la puissance des ordinateurs a permis l’émergence d’une nouvelle approche pour développer du logiciel. Cette approche s'appuie sur des composants, du prototypage et des cycles de développement courts, plutôt que sur une approche plus traditionnelle - mais pas si lointaine - basée sur des phases d’analyse, de conception et de réalisation. Cette nouvelle approche s’intitule le développement agile. Cette thèse porte sur trois aspects distincts, bien qu’étroitement liés, de la gestion de ce type de projets dits agiles de développement de logiciel, à savoir :

- l'estimation de la taille du logiciel pour planifier un projet,
- le suivi des activités de développement et,
- le calcul et l'administration des fonds de réserve

La taille du logiciel constitue l’intrant principal au processus d’estimation de l'effort et de la durée d’un projet de développement de logiciel. En conséquence, déterminer des évaluations crédibles et fiables de cette taille est primordial au processus d’estimation. Cette thèse propose en premier l'utilisation d'une méthode modifiée de comparaison par paires pour appuyer le jugement des experts - méthode d’estimation la plus utilisée dans l'industrie du logiciel. Dans la méthode modifiée proposée, le nombre de comparaisons, un facteur limitant l'utilisation de la méthode à grande échelle, est réduit presque de moitié par l’emploi des designs cycliques incomplets (Incomplete Cyclic Design - ICD) pour choisir des paires appropriées d'entités à comparer.

Cette thèse porte en deuxième sur le suivi d'un projet qui consiste en un processus de comparaison de l’avancement du projet anticipé selon la planification par rapport à son avancement réel, afin de décider, s’il y a lieu, des actions nécessaires pour le compléter tel que prévu. La thèse propose et montre l'utilisation d'un indicateur de ligne de mise à jour (Line of Balance - LOB) modifié en vue d'obtenir des informations non disponibles avec les « burn down charts » et les diagrammes de flux cumulatif (cumulative flow diagram), les deux indicateurs les plus fréquemment utilisés dans les projets dits agiles. La contribution de la thèse s’inscrit, non seulement en termes de la nouveauté de l'application de cet indicateur LOB aux projets de développement de logiciels, mais également dans le remplacement des calculs de délai provenant des plans originaux, par de l’information extraite directement d'un système de contrôle de versions.

Cette thèse porte en troisième lieu sur les fonds de réserve tels que définis par le Project Management Institute (PMI) comme la quantité de fonds requis au-delà de l'estimation pour ramener le risque de dépassements à un niveau acceptable pour l'organisation. Cette thèse postule qu'un calcul réaliste de ces fonds devrait être basé sur le coût de maintien du projet dans les délais, et non sur ce qu’aurait coûté ce travail s’il avait été prévu dès le commencement. Cette thèse propose en outre un modèle quantitatif tenant compte de la taille du projet, du moment auquel la sous-estimation a été reconnue et des pertes de processus liées aux actions de rétablissement. Les résultats du modèle permettent l'exploration des coûts et des avantages de plusieurs alternatives de gestion.

Les trois méthodes présentées s’avéreront du plus grand intérêt pour les chefs de projet, les ingénieurs logiciel et les autres intervenants impliqués dans la planification des projets et les activités de gestion des risques. Même si les exemples employés pour illustrer et expliquer les concepts correspondent aux projets utilisant des approches agiles telles que « Scrum » et « Feature Driven Development », les méthodes proposées s'appliquent aussi aux autres types de développement de logiciels.

Type de document: Mémoire ou thèse (Thèse de doctorat électronique)
Renseignements supplémentaires: "Thesis presented to École de technologie supérieure in partial fulfillment of the requirements for the degree of doctor of philosophy". Bibliogr. : f.[79]-84.
Mots-clés libres: Méthodes agiles (Développement de logiciels) Gestion. estimation du logiciel, suivi des activités, ligne de mise à jour, calcul et administration des fonds de réserve, développement agile, comparaison par paires
Directeur de mémoire/thèse:
Directeur de mémoire/thèse
Bourque, Pierre
Co-directeurs de mémoire/thèse:
Co-directeurs de mémoire/thèse
Abran, Alain
Programme: Doctorat en génie > Génie
Date de dépôt: 18 nov. 2010 16:49
Dernière modification: 08 févr. 2017 00:52
URI: http://espace.etsmtl.ca/id/eprint/309

Actions (Identification requise)

Dernière vérification avant le dépôt Dernière vérification avant le dépôt

Statistique

Plus de statistique...