Agilité - Drupal et Scrum sont faits pour s'entendre

Post on 30-Jun-2015

1.131 views 0 download

description

D'un coté des méthodes agiles de plus en plus utilisées, de l'autre un CMS qui se déploie massivement et dépasse le cadre de son périmètre initial de CMS. Au cours de cette présentation nous allons voir ce que sont ces méthodes agiles, en quoi elles divergent de la gestion de projet dite "traditionnelle". Nous ferons un focus sur Scrum et son utilisation dans le cadre d'un projet Drupal. - Votre dernier projet en cycle en V a échoué et vous avez envie d'essayer autre chose ? - Vous ne savez pas ce que sont les méthodes agiles et/ou Scrum ? - Vous vous demandez comment tirer partie des capacités de prototypage de Drupal ?

Transcript of Agilité - Drupal et Scrum sont faits pour s'entendre

Artusamak

Pourquoi j’aime ScrumPourquoi Scrum et Drupal sont faits pour s’entendre

Scrum + Drupal = Julien Dubois

Happyculture.coop

Artusamak

De quoi allons-nous parler ?1. Que sont les méthodes agiles ?2. Présentation de Scrum3. Et Drupal ?4. Scrum + Drupal =

Artusamak

Les méthodes agilesUn acte fondateur

Manifeste agile

Manifeste agile

12 principes

Manifeste agile

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

Equipe autogéré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

Equipe autogérée

Amélioration continue

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

Equipe autogérée

Amélioration continue

4 valeurs

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

Equipe autogérée

Amélioration continue

4 valeurs

Personnes et interactions  > outils et processus

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

Equipe autogérée

Amélioration continue

4 valeurs

Personnes et interactions  > outils et processus

Logiciel fonctionnel > documentation

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

Equipe autogérée

Amélioration continue

4 valeurs

Personnes et interactions  > outils et processus

Logiciel fonctionnel > documentation

Collaboration client > négociation contractuelle

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

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

Artusamak

Concepts à retenir

* Itérations* Client au cœur du projet* Equipe auto organisée* Amélioration continue

Artusamak

Plusieurs candidats

* Scrum > Auto organisation* XP > Binômage * Lean > Chasse au gaspillage* Crystal clear > Petites équipes

Artusamak

ScrumConcepts, acteurs et fonctionnement

Artusamak

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

Artusamak

Concepts – Acteurs

Le product owner *

Le scrum master **

L’équipe ***

* 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)

Artusamak

Concepts - Droits

Source: Coacher une équipe agile, Valérie Messager 

Le Product Owner L’équipeParticiper aux daily scrums meetings Négocier les changements, le périmètre, les priorités

Féliciter, encourager les membres de l’équipe Connaitre la vision

Être informé et avoir une bonne visibilité Obtenir des clarifications sur les spécifications

Comprendre ce qu’est la dette technique ou une technical story

Disposer des moyens adéquats

Bénéficier d’une délégation de la maîtrise d’ouvrage ou du comité de pilotage

Droit à l’erreur

Obtenir des estimations de l’équipe Définir son processus / ses outils

Modifier le product backlog et les priorités Accéder facilement au product owner

Obtenir des résultats tangibles 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

ArtusamakSource: Coacher une équipe agile, Valérie Messager 

Le Product Owner L’équipePartager la vision du produit Être transparent

Être disponible pour l’équipe Définir la notion de « ready » (user story)

Participer aux réunions de planification Respecter ses engagements

Être le représentant des utilisateurs Livrer des users stories respectant la définition du « done »

Apporter des réponses, prendre des décisions Estimer le product backlog

Créer le product backlog priorisé, le mettre à jour tout au long du projet

Entraide entre les membres

Livrer des user stories « ready »

Préciser ses critères d’acceptation « done »

Valider le produit

Concepts - Devoirs

Artusamak

Concepts – Les stories

Les user stories sont une liste de sujets à aborder avec l’équipe durant la

sprint définition.

Titre - 3 à 10 motsTéléchargement des documents de formation.

TypeUser 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.

Critères d’acceptation – Peux / Ne peux pas faireJe 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.

Artusamak

Concepts – Les backlogs

* 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

User story #98 User story #12 Technical story #145 Technical story #218

User story #124 Technical story #78 User story #98 User story #21 Technical story #187 …

Pro

duc

t b

ackl

og

Sp

rint

bac

klo

g

Val

eur

ajo

utée

Artusamak

Concepts – Déroulement d’un sprint

Sprint définition(0,5-1j)

Développement(8j)

Démonstration(0,5j)

Rétrospective(0,5j)

Constitution du backlog de sprint, dimensionnement des stories, engagement sur nombre de points de complexité

Implémentation des user stories et technical stories, discussions régulières via le scrum quotidien (Qu’as-tu fait hier / demain / points bloquants)

Présentation des fonctionnalités implémentées durant le sprint & collecte des retours

Analyse du sprint écoulé, identification blocages & réussites, pistes d’améliorations

1 2 3 4

1

2

3

4

Artusamak

Rituels - la sprint définition

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é

1

Artusamak

Rituels - le scrum quotidien

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

2

Artusamak

Rituels - la démonstration

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

3

Artusamak

Rituels - la rétrospective

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

4

Artusamak

Métriques – Vélocité

0

5

10

15

20

25

30

35

40

45

D1 D2 D3 D4 D5 D6 D7

Le burnup (Complexité cumulée)

Commitment Stories closed Idéal

0

5

10

15

20

25

30

35

40

45

D1 D2 D3 D4 D5 D6 D7

Le burndown (Complexité reste à faire)

Reste à faire Engagement Idéal

Artusamak

Métriques – Répartition de l’effort

0

57

1113

15

24

7

44

1

42

4

0

2

3

6

47

5

0

5

10

15

20

25

30

35

D1 D2 D3 D4 D5 D6 D7

Po

ints

de

com

ple

xité

Jours

Cumulative Flow Chart

Terminé En cours A tester

Artusamak

Stories A faire En cours A tester Terminé

Tableau detaches

Outils – Suivi avancement

Documentation API Utilisateurs

Artusamak

Et Drupal ?A quoi sert-il dans tout ça ?

Artusamak

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

Artusamak

… 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…

Artusamak

La meilleure mise en œuvre ?* Montrez ce qu’il est possible de faire* Collectez des retours* Prenez en compte* Montrez à nouveau

Itérer !

Artusamak

Scrum + Drupal =

Artusamak

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é

Artusamak

…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é

Artusamak

Sources d’inspiration

* http://blog.institut-agile.fr/* http://www.areyouagile.com* http://news.humancoders.com/t/agile* Agile games

Artusamak

ROTI

Perdu mon temps Appris un peu C’était génial !

Merci ! Des questions ?

Artusamak

Happyculture.coop

#Drupagora – 06/12/2013

Développement / Accompagnement agile

Artusamak

Créditshttp://www.sxc.hu/photo/1382441http://www.iconfinder.com