Collection Mémoires et thèses électroniques | |
AccueilÀ proposNous joindre |
La plupart des méthodes agiles ont été élaborées et proposées par des praticiens œuvrant en consultation. Ces méthodes étant relativement jeunes, les références sont assez limitées. Ce chapitre offre un tour d’horizon de différentes méthodes agiles existantes.
Trois d’entre elles sont détaillées : Extreme Programming (XP) pour sa popularité et ses pratiques de programmation ; SCRUM pour sa popularité grandissante et ses pratiques de gestion de projets ; Crystal Clear pour ses valeurs et sa versatilité. Chaque description comporte un bref historique, expliquant les motivations de base des inventeurs et la description de la méthode. Les annexes A, B et C comportent les observations apportant des éléments d’analyse et des critiques. On complète avec un survol de quelques autres méthodes de l’alliance agile.
Le principe d’incertitude en génie logiciel de Ziv, qui statue que l’incertitude est inhérente et inévitable en développement logiciel. |
Le principe d’incertitude des spécifications de Humphrey, qui statue que pour les nouveaux logiciels, les spécifications ne seront pas complétées tant que l’utilisateur n’aura pas utilisé le logiciel. |
Wegner's Lemma statue qu’il est impossible de fournir toutes les spécifications pour un système interactif. |
Backlog produit : Liste des éléments techniques et fonctionnels à produire dans un avenir prévisible pour le produit complet. Inclue ce qui est défini et ce qui reste à préciser. |
Sprint backlog :Liste des éléments techniques et fonctionnels à produire au cours d’un sprint. C’est un sous-ensemble du backlog produit. Elle comporte des éléments suffisamment définis pour qu’ils soient réalisés au cours de la période du sprint. |
Sprint : Une période de 30 jours où un ensemble de travaux sont effectués pour créer un livrable. |
SCRUM : Rencontre journalière de l’équipe où l’avancement et les empêchements sont révisés. Il s’agit du plus fréquent et plus bas niveau de contrôle. |
Règlement des rencontres SCRUM : Protocole des réunions quotidiennes pour être efficaces. Afin de minimiser la logistique, une série de règles uniformise la dynamique des rencontres. |
Équipe SCRUM : Équipe multidisciplinaire qui travaille sur les éléments du sprint. Toutes les personnes (vente, service clientèle, etc.) impliquées dans le projet sont invitées à se joindre à l’équipe. |
Cette méthode se décline principalement en trois phases [Schwaber 1996].
Planning -Architecture |
Mise en place d’un backlog produit (liste des éléments à effectuer) |
Définition de l’équipe |
Analyse des risques – Budget |
Un sprint backlog est sélectionné, cette liste sera suivie et réalisée. |
Période d’environ 30 jours, au cours de laquelle l’équipe est isolée des influences extérieures. C’est-à-dire que la liste des éléments reste inchangée. |
Réunion quotidienne SCRUM. |
Comporte au dernier jour, une réunion post-sprint de présentation des résultats. |
Documentation finale |
Préparatif et livraison. |
Le backlog projet liste toutes les fonctionnalités et caractéristiques qui seront complétées dans l’ensemble du projet. |
Les problèmes sont des élémentsqui doivent être solutionnés par un membre de l’équipe, afin de permettre la réalisation des objets liés au backlog produit. |
Un changement est l’activité réalisée pour résoudre un problème ou implanter une solution. |
Un risque peut être associé à un problème, un enjeu ou un élément du backlog. |
Pour lui, une méthodologie se définie par un ensemble d’éléments de communication et de politique, afin de coordonner les efforts d’une équipe. Cet ensemble de conventions défini la méthode. Ce que fait un groupe de personnes pour se coordonner est une méthodologie [6] . Cockburn est aussi motivé par l’introspection créatrice nécessaire à la conception logiciel.
Il est un des rares méthodologiste à creuser le passé, afin d’analyser ce qui fonctionne efficacement. Il découvrit plusieurs choses intéressantes. Premièrement, pratiquement personne n’applique ce que l’on retrouve dans les livres d’experts. Peu de gens disent qu’ils ont essayé et ceux qu’ils le disent, ne le recommande pas. Deuxièmement, quels que soient les outils ou les technologies utilisés, aucun ne prédit la performance. Le seul point déterminant, est que l’équipe collabore bien [Highsmith 2002a].
Les domaines de gaspillage peuvent se transférer au logiciel. Ce qui nous donne le tableau suivant.
[Traduit et tiré de Kumar 2005]
© Richard Tremblay, 2007