Agile

Façon Scrum

Présentation créée par Cédric Maria-Sube / @cedricmariasube

Différentes façons de mener un projet

Cycles basiques

Itératif-Incrémental

Itératif-Incrémental

Le Manifeste Agile

Nous découvrons comment mieux développer des logiciels par la pratique et en aidant les autres à le faire. Ces expériences nous ont amenés à valoriser :

  • Les individus et leurs interactions plus que les processus et les outils;
  • Des logiciels opérationnels plus qu’une documentation exhaustive;
  • La collaboration avec les clients plus que la négociation contractuelle;
  • L’adaptation au changement plus que le suivi d’un plan.



Nous reconnaissons la valeur des seconds éléments, mais privilégions les premiers.

http://www.agilemanifesto.org/iso/fr/

12 principes sous-jacents au manifeste (1/3)

  • Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée;
  • Accueillez positivement les changements de besoins, même tard dans le projet. Les processus Agiles exploitent le changement pour donner un avantage compétitif au client;
  • Livrez fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois et une préférence pour les plus courts;
  • Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet;

(2/3)

  • Réalisez les projets avec des personnes motivées. Fournissez-leur l'environnement et le soutien dont ils ont besoin et faites-leur confiance pour atteindre les objectifs fixés;
  • La méthode la plus simple et la plus efficace pour transmettre de l’information à l'équipe de développement et à l’intérieur de celle-ci est le dialogue en face à face;
  • Un logiciel opérationnel est la principale mesure d’avancement;
  • Les processus Agiles encouragent un rythme de développement soutenable. Ensemble, les commanditaires, les développeurs et les utilisateurs devraient être capables de maintenir indéfiniment un rythme constant;

(3/3)

  • Une attention continue à l'excellence technique et à une bonne conception renforce l’Agilité;
  • La simplicité – c’est-à-dire l’art de minimiser la quantité de travail inutile – est essentielle;
  • Les meilleures architectures, spécifications et conceptions émergent d'équipes auto-organisées;
  • À intervalles réguliers, l'équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en conséquence.

Agile et ses variantes

  • Rapid Application Development (RAD, 1991);
  • Dynamic systems development method (DSDM, 1995, consortium anglais commercialisant le RAD);
  • Scrum (1996);
  • Feature Driven Development ((en) FDD) (1999);
  • Extreme programming (XP, 1999);
  • Adaptive software development (ASD, 2000);
  • Crystal clear (2004).

Scrum

1995, Ken Schwaber

Scrum

Les trois piliers de Scrum

  • La transparence;
  • L'inspection;
  • L'adaptation.

Rôles

  • Le Propriétaire du Produit (Product Owner);
  • Scrum Master;
  • Équipe de développement (3 à 9 personnes).

Cérémonies

  • Réunion de planification d'itération (Sprint Planning Meeting) (< 8 heures);
  • Le sprint;
  • Mêlée quotidienne (Daily Scrum) (< 15 minutes);
  • Revue de sprint (Demo) (< 4 heures);
  • Rétrospective du sprint (< 3 heures).

Artéfacts

  • Carnet du produit (Product Backlog);
  • Carnet de sprint (Sprint Backlog);
  • Incrément de produit.

Pratiques complémentaires

Éléments de carnet de produit

Les récits utilisateur (User Stories) sont estimés en points relatifs, sans unité. L'équipe prend un élément représentatif et lui affecte un nombre de points arbitraire. Cela devient un référentiel pour estimer les autres items.

(suite de Fibonacci (1, 2, 3, 5, 8, 13, ...))

Calcul de vélocité

Le nombre de points que l'équipe peut réaliser en un sprint.

Éléments de carnet de sprint

Les éléments de carnet de sprint sont généralement exprimés en heures et ne doivent pas dépasser 2 journées de travail.

Lancement du projet

Scrum présuppose que le carnet de produit est déjà défini au début du projet => phase de lancement :

  • étude d'opportunité;
  • expression initiale des besoins.

Vue globale

Vue globale

Burndown Charts

Burndown Charts

Définition de "terminé"

(Definition of Done)

Les critères à remplir pour que le propriétaire de produit accepte un élément à la livraison.

Reporting Mural

Reporting Mural

Qualité de l'environnement de travail

  • Pas de changements imposés pendant un sprint;
  • Toute l'équipe dans une même pièce;
  • Un tableau blanc et/ou en liège (et/ou un PC et des écrans dédiés au management visuel);
  • Un bon outil de suivi du projet;
  • Prévenir des interventions extérieures (téléphone, irruption dans la pièce, etc.);
  • Tout ce qui peut rendre l'équipe plus sereine et efficace.

Risques de la méthodologie

  • Flaccid Scrum;
  • Un Scrum Master directif ;
  • La communication constructive laisse la place aux reproches.

Documentation de projet

  • Diagramme métier (processus, objets, etc.), associé au carnet de produit;
  • Diagramme de séquence, associé à un item du carnet du produit;
  • Diagramme d'architecture du logiciel (classes, modules, composants, etc.), pour le projet;
  • Les manuels utilisateur, à chaque sprint;
  • Une base de connaissance pour le support client.

Outils

Q & R

CARA Night

CARA

Club Agile Rhône-Alpes

Mardi 3 mars 2015

R.O.T.I.

(Return On Time Invested)

  1. Inutile : je n'ai rien appris, j'ai perdu mon temps, aucune valeur!
  2. Utile : mais ça ne valait pas 100% de mon temps, donc j'ai perdu du temps ;
  3. Moyen : j'ai assez appris pour justifier le temps passé. Je n'ai pas perdu de temps. J'y ai trouvé de la valeur;
  4. Assez bien : j'y ai gagné plus que le temps passé. Bonne valeur;
  5. Excellent : une présentation très intéressante qui valait plus que le temps investi. Haute valeur.

That's all folks!