agilité - drupal et scrum sont faits pour s'entendre

50
Artusamak Pourquoi j’aime Scrum Pourquoi Scrum et Drupal sont faits pour s’entendre Scrum + Drupal = Julien Dubois Happyculture.coop

Upload: artusamak

Post on 30-Jun-2015

1.131 views

Category:

Technology


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

Page 1: 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

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

Artusamak

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

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

Artusamak

Les méthodes agilesUn acte fondateur

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

Manifeste agile

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

Manifeste agile

12 principes

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

Manifeste agile

12 principes

Valeur ajoutée

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

Manifeste agile

12 principes

Valeur ajoutée

Accepter le changement

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

Manifeste agile

12 principes

Valeur ajoutée

Accepter le changement

Livrer régulièrement

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

Manifeste agile

12 principes

Valeur ajoutée

Accepter le changement

Livrer régulièrement

Echanges quotidiens

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

Manifeste agile

12 principes

Valeur ajoutée

Accepter le changement

Livrer régulièrement

Echanges quotidiens

Face à face

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

Manifeste agile

12 principes

Valeur ajoutée

Accepter le changement

Livrer régulièrement

Echanges quotidiens

Face à face

Pragmatisme

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

Manifeste agile

12 principes

Valeur ajoutée

Accepter le changement

Livrer régulièrement

Echanges quotidiens

Face à face

Pragmatisme

Rythme pérenne

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Artusamak

Concepts à retenir

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

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

Artusamak

Plusieurs candidats

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

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

Artusamak

ScrumConcepts, acteurs et fonctionnement

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

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

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

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)

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Artusamak

Stories A faire En cours A tester Terminé

Tableau detaches

Outils – Suivi avancement

Documentation API Utilisateurs

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

Artusamak

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

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

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

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

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…

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

Artusamak

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

Itérer !

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

Artusamak

Scrum + Drupal =

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

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é

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

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é

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

Artusamak

Sources d’inspiration

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

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

Artusamak

ROTI

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

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

Merci ! Des questions ?

Artusamak

Happyculture.coop

#Drupagora – 06/12/2013

Développement / Accompagnement agile

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

Artusamak

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