MethodesAgiles
mercredi 4 juillet 2007
Cet article résume l’essentiel de ce que j’ai pu apprendre sur les méthodes agiles au cours d’une formation menée par Claude Aubry. Cette formation présentait l’essentiel sur les méthodes agiles et s’interessait plus particulièrement à Scrum.
Qu’est ce que l’agilité
Manifeste agile
L’agilité se base sur un manifeste appelé Manifeste Agile issu de http://www.agilemanifesto.org, en particulier l’agilité s’attache:
- Aux personnes et leurs interactions
- A un logiciel qui fonctionne
- A la collaboration du client dans le projet
- A l’adaptation au changement
Définition
Définition: “L’agilité est la capacité à favoriser le changement et à y répondre en vue de s’adapter au mieux à un environnement turbulent.” (Jim Highsmith)
Valeurs Agiles
- Communication
- Feedback
- Simplicité
- Courage
- Respect
- Eviter de gaspiller
Principes Agiles
- Fournir rapidement et fréquemment des versions opérationnelles
- Accueillir favorablement le changement
- Assurer une copération forte entre le client et l’équipe de développement
- Mesurer l’avancement et être transparent
- Garder un rythme raisonnable
- Garder un niveau de motivation
- Se remettre en cause régulièrement
Points essentiels
- Développement par itérations de 2/3 semaines
- Approche empirique: basée sur l’expérience
- Communication avec le métier
- Responsabilité de l’équipe
Responsabilisation de l’équipe
Contrairement à une approche traditionnelle, l’équipe est responsable:
- elle connaît les besoins et les priorités
- elle fait les estimations
- elle décide de son organisation
- elle produit un travail de qualité
- elle remonte les problèmes
Bénéfices
L’agilité augmente la valeur par une prioritisation des livraisons à forte valeur, des releases fréquentes, une autonomie de l’équipe, une réponse favorables aux changements,…
L’agilité réduit les coûts par une réduction des activités qui ne produisent pas de valeur, par une communication rapide et régulière, par des outils permettant de faire de la qualité.
Scrum
Scrum est un processus agile qui permet de produire la plus grande valeur métier dans la durée la plus courte. Du logiciel qui fonctionne est produit à chaque sprint, c’est à dire toutes les 3 / 4 semaines. Le métier définit les priorités, l’équipe s’organise elle-même pour déterminer la meilleure façon de produire les exigences les plus prioritaires. A chaque fin de sprint, tout le monde peut voir fonctionner le produit courant et décider soit de le livrer dans l’état, soit de continuer à l’améliorer pendant un sprint supplémentaire.
Le cadre Scrum
Rôles
- Un directeur de produit qui est soit le client, soit une personne représentant le client, il:
- définit les fonctionnalités du produit
- choisit la date et le contenu de la release
- responsable du retour sur investissement
- définit les priorités dans le backlog en fonction de la valeur métier
- ajuste les fonctionnalités et les priorités à chaque sprint si nécessaire
- accepte et rejette les résultats
- Un ScrumMaster qui:
- représente le management de projet
- est responsable de faire appliquer les valeurs et les pratiques de Scrum par l’équipe
- résout les problèmes
- s’assure que l’équipe est complètement fonctionnelle et productive
- facilite une coopération poussée entre tous les rôles et fonctions
- protège l’équipe des interférences extérieures
- Les équipiers qui:
- se composent de 5 à 10 personnes
- regroupent tous les rôles: architecte, concepteur, analyste, développeur, testeur, …
- est à plein temps sur le projet
- s’organisent eux-mêmes
- ne changent pas de composition pendant un sprint
Réunions
- Planification de sprint:
- Revue de sprint:
- Rétrospective:
- Scrum quotidien
Artéfacts
- Backlog de produit: liste ordonnée des exigences qui apporte chacune de la valeur métier
- Backlog de sprint: liste des tâches définie à partir des éléments du produit
- Graphes d’activité: permet entre deux itérations de connaître la velocité de l’équipe
Le déroulement d’un projet
- Démarrage: écriture d’une vision, des histoires utilisateurs
- Estimation et planification
- Déroulement d’une itération
Vision
Exemple: Pour les professionnels qui souhaitent écrire des articles rapidement avec un système de gestion des versions, le wiki ajax subversion qui permet d’écrire rapidement des articles sous le format wikimodel et qui bénéficie des raccourcis clavier et de la technologie Ajax avec un stockage dans un repository subversion contrairement à d’autres produits comme DokuWiki répondra à leurs besoins.
Histoire utilisateur
Exemple: En tant que redacteur, j’écris des articles au format wiki.
Estimation et planification
Une release se compose de plusieurs itérations, chaque itération contient 2 à 3 histoires utilisateurs. Chaque histoire utilisateur se découpe en tâches. Chaque tâche possède un nombre de points qui correspond à la taille de son exigence en terme de travail et de complexité. Les différents acteurs participent sur l’attributions des points de toutes les tâches et se mettent d’accord. Une fonctionnalité avec un point précis sert de référence pour l’estimation des points des autres tâches. Les points suivent la suite de Fibonacci: 1 2 3 5 8 13.
Dans le cadre du suivi, seul le reste à faire est pris en compte. Le reste à faire se compte en heures. La vélocité de l’équipe correspond au nombre de points faits pendant une itération. Le suivi peut se faire à l’aide d’un graphe d’activité de l’équipe (burndown).
0 commentaires:
Enregistrer un commentaire
Abonnement Publier les commentaires [Atom]
<< Accueil