Pourquoi j aime Scrum Pourquoi Scrum et Drupal sont faits pour s entendre Scrum + Drupal = Julien Dubois Happyculture.coop
De quoi allons-nous parler? 1. Que sont les méthodes agiles? 2. Présentation de Scrum 3. Et Drupal? 4. Scrum + Drupal =
Les méthodes agiles Un acte fondateur
Manifeste agile
Manifeste agile 12 principes
12 principes Valeur ajoutée Manifeste agile
12 principes Valeur ajoutée Accepter le changement Manifeste agile
12 principes Valeur ajoutée Accepter le changement Livrer régulièrement Manifeste agile
12 principes Valeur ajoutée Accepter le changement Livrer régulièrement Echanges quotidiens Manifeste agile
12 principes Valeur ajoutée Accepter le changement Livrer régulièrement Echanges quotidiens Face à face Manifeste agile
12 principes Valeur ajoutée Accepter le changement Livrer régulièrement Echanges quotidiens Face à face Pragmatisme Manifeste agile
12 principes Valeur ajoutée Accepter le changement Livrer régulièrement Echanges quotidiens Face à face Pragmatisme Rythme pérenne Manifeste agile
12 principes Valeur ajoutée Accepter le changement Livrer régulièrement Echanges quotidiens Face à face Pragmatisme Rythme pérenne Payer sa dette Manifeste agile
12 principes Valeur ajoutée Accepter le changement Livrer régulièrement Echanges quotidiens Face à face Pragmatisme Rythme pérenne Payer sa dette Simple VS parfait Manifeste agile
12 principes Valeur ajoutée Accepter le changement Livrer régulièrement Echanges quotidiens Face à face Pragmatisme Rythme pérenne Payer sa dette Simple VS parfait Equipe motivée Manifeste agile
12 principes Valeur ajoutée Accepter le changement Livrer régulièrement Echanges quotidiens Face à face Pragmatisme Rythme pérenne Payer sa dette Simple VS parfait Equipe motivée Manifeste agile Equipe autogérée
12 principes Valeur ajoutée Accepter le changement Livrer régulièrement Echanges quotidiens Face à face Pragmatisme Rythme pérenne Payer sa dette Simple VS parfait Equipe motivée Manifeste agile Equipe autogérée Amélioration continue
4 valeurs 12 principes Valeur ajoutée Accepter le changement Livrer régulièrement Echanges quotidiens Face à face Pragmatisme Rythme pérenne Payer sa dette Simple VS parfait Equipe motivée Manifeste agile Equipe autogérée Amélioration continue
4 valeurs Personnes et interactions > outils et processus 12 principes Valeur ajoutée Accepter le changement Livrer régulièrement Echanges quotidiens Face à face Pragmatisme Rythme pérenne Payer sa dette Simple VS parfait Equipe motivée Manifeste agile Equipe autogérée Amélioration continue
4 valeurs Personnes et interactions > outils et processus Logiciel fonctionnel > documentation 12 principes Valeur ajoutée Accepter le changement Livrer régulièrement Echanges quotidiens Face à face Pragmatisme Rythme pérenne Payer sa dette Simple VS parfait Equipe motivée Manifeste agile Equipe autogérée Amélioration continue
4 valeurs Personnes et interactions > outils et processus Logiciel fonctionnel > documentation Collaboration client > négociation contractuelle 12 principes Valeur ajoutée Accepter le changement Livrer régulièrement Echanges quotidiens Face à face Pragmatisme Rythme pérenne Payer sa dette Simple VS parfait Equipe motivée Manifeste agile Equipe autogérée Amélioration continue
4 valeurs Personnes et interactions > outils et processus Logiciel fonctionnel > documentation Collaboration client > négociation contractuelle Adaptation au changement > suivi d un plan 12 principes Valeur ajoutée Accepter le changement Livrer régulièrement Echanges quotidiens Face à face Pragmatisme Rythme pérenne Payer sa dette Simple VS parfait Equipe motivée Manifeste agile Equipe autogérée Amélioration continue
Concepts à retenir * Itérations * Client au cœur du projet * Equipe auto organisée * Amélioration continue
Plusieurs candidats * Scrum > Auto organisation * XP > Binômage * Lean > Chasse au gaspillage * Crystal clear > Petites équipes
Scrum Concepts, acteurs et fonctionnement
Concepts Vue d avion Sprint 0 Sprint 1 Sprint 2 Sprint 3 Sprint n+1 Release * Un sprint 0 pour ordonnancer les fonctionnalités * Itérations de 2 à 4 semaines * Une succession d itérations donne lieu à une release * Un sprint supplémentaire (plus court) pour finaliser les corrections * Une livraison à la fin de chaque sprint
Concepts Acteurs Le product owner * L équipe *** Le scrum master ** * Le product owner n a pas l obligation d être dégarni avec des lunettes ** Le scrum master peut être une femme (c est toujours plus sympa) *** L équipe peut être uniquement constituée de gens normaux (ça marche aussi)
Concepts - Droits Le Product Owner Participer aux daily scrums meetings Féliciter, encourager les membres de l équipe Être informé et avoir une bonne visibilité Comprendre ce qu est la dette technique ou une technical story Bénéficier d une délégation de la maîtrise d ouvrage ou du comité de pilotage Obtenir des estimations de l équipe Modifier le product backlog et les priorités Obtenir des résultats tangibles L équipe Négocier les changements, le périmètre, les priorités Connaitre la vision Obtenir des clarifications sur les spécifications Disposer des moyens adéquats Droit à l erreur Définir son processus / ses outils Accéder facilement au product owner Régler la dette technique ou réaliser des technical stories Equipe dédiée, sans préemption Lab day / Free day entre les sprints Explorer, investiguer Participer à la démo Source: Coacher une équipe agile, Valérie Messager
Concepts - Devoirs Le Product Owner Partager la vision du produit Être disponible pour l équipe Participer aux réunions de planification Être le représentant des utilisateurs Apporter des réponses, prendre des décisions Créer le product backlog priorisé, le mettre à jour tout au long du projet Livrer des user stories «ready» Préciser ses critères d acceptation «done» Valider le produit L équipe Être transparent Définir la notion de «ready» (user story) Respecter ses engagements Livrer des users stories respectant la définition du «done» Estimer le product backlog Entraide entre les membres Source: Coacher une équipe agile, Valérie Messager
Concepts Les stories Titre - 3 à 10 mots Téléchargement des documents de formation. Type User story Technical story Description En tant que [rôle utilisateur] je peux [but] car j ai besoin de [raison] En tant que Romain, je peux télécharger les documents car je souhaite m en servir pour former mes paires. Les user stories sont une liste de sujets à aborder avec l équipe durant la sprint définition. Critères d acceptation Peux / Ne peux pas faire Je peux choisir les documents auxquels je souhaite accéder. Je ne peux pas partager le lien d accès aux fichiers. Je ne peux pas accéder aux fichiers plusieurs fois sans resoumettre le formulaire. Si je suis connecté les données de mon profil sont automatiquement remplies.
Concepts Les backlogs Product backlog User story #98 User story #12 Technical story #145 Technical story #218 Valeur ajoutée Sprint backlog User story #124 Technical story #78 User story #98 User story #21 Technical story #187 * Le backlog est préparé en avance de phase * Toutes les stories ont une définition de «terminé» * Les stories devraient être triée par priorité de valeur ajoutée * L équipe a le droit de glisser des technical stories
Concepts Déroulement d un sprint 1 2 3 4 Sprint définition (0,5-1j) Développement (8j) Démonstration (0,5j) Rétrospective (0,5j) 1 Constitution du backlog de sprint, dimensionnement des stories, engagement sur nombre de points de complexité 2 Implémentation des user stories et technical stories, discussions régulières via le scrum quotidien (Qu as-tu fait hier / demain / points bloquants) 3 Présentation des fonctionnalités implémentées durant le sprint & collecte des retours 4 Analyse du sprint écoulé, identification blocages & réussites, pistes d améliorations
Rituels - la sprint définition 1 Sprint définition (0,5-1j) * Les stories sont découpées en taches * Les arbitrages sont faits * Les stories sont dimensionnées grâce au «Planning poker» * L équipe défini sont engagement pour le sprint en s appuyant sur sa vélocité
Rituels - le scrum quotidien 2 Développement (8j) * L équipe implémente les stories par ordre de priorité * Chaque membre choisi les stories qu il s affecte * Tous les jours l équipe se réunie afin d identifier les points de blocage * Des taches doivent se fermer tous les jours
Rituels - la démonstration 3 Démo (0,5j) * Des membres extérieurs peuvent être invités * Chaque membre de l équipe présente son travail * On ne présente que des choses terminées * On collecte les retours et les demandes d ajustement
Rituels - la rétrospective 4 Rétro (0,5j) * Collecte de la vélocité * Passage en revue du sprint écoulé * Occasion de donner la parole à chacun * Amélioration du travail de l équipe
Métriques Vélocité Le burnup (Complexité cumulée) 45 40 35 30 25 20 15 10 5 0 D1 D2 D3 D4 D5 D6 D7 Commitment Stories closed Idéal Le burndown (Complexité reste à faire) 45 40 35 30 25 20 15 10 5 0 D1 D2 D3 D4 D5 D6 D7 Reste à faire Engagement Idéal
Métriques Répartition de l effort 35 Cumulative Flow Chart 30 5 Points de complexité 4 25 20 7 4 2 15 6 4 3 1 24 10 2 4 0 4 15 13 5 11 7 7 5 0 0 D1 D2 D3 D4 D5 D6 D7 Jours Terminé En cours A tester
Outils Suivi avancement Stories A faire En cours A tester Terminé Documentation API Utilisateurs Tableau de taches
Et Drupal? A quoi sert-il dans tout ça?
Drupal est un CMS * Fonctionnalités natives * Gestion des utilisateurs, révisions, taxonomie, types de contenu, RDF * Nouvelles fonctionnalités en un clic * +24K modules sur drupal.org
mais aussi un CMF * Des APIs ** Form API, Entity API, Field API, Batch API * Capacités d extensibilité natives ** Principes de hooks * Modules custom pour adapter * Et les modules externes d APIs ** Services, Commerce
La meilleure mise en œuvre? * Montrez ce qu il est possible de faire * Collectez des retours * Prenez en compte * Montrez à nouveau Itérer!
Scrum + Drupal =
Quelques inconvénients tout de même * Nécessite un PO assez disponible et avec un pouvoir de décision * Accompagnement pour une transition depuis le cycle en V * Besoin d une équipe composée de personnes proactives * Taille d équipe +/- 6 * Appropriation du sprint sur une phase courte * Nouveau = réticences * Testabilité
mais que d avantages * Des retours sur le produit en cours de production * Maîtrise du budget * Concentration des efforts sur les fonctionnalités à valeur ajoutée * Equipe auto gérée = meilleure ambiance * Rythme soutenable grâce au suivi de la vélocité
Sources d inspiration * http://blog.institut-agile.fr/ * http://www.areyouagile.com * http://news.humancoders.com/t/agile * Agile games
ROTI Perdu mon temps Appris un peu C était génial!
Merci! Des questions? Happyculture.coop Développement / Accompagnement agile #Drupagora 06/12/2013
Crédits http://www.sxc.hu/photo/1382441 http://www.iconfinder.com