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 ?
26. 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
27. 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)
Artusamak
28. Concepts - Droits
Le Product Owner
L’équipe
Participer 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
Source: Coacher une équipe agile, Valérie Messager
Artusamak
29. Concepts - Devoirs
Le Product Owner
L’équipe
Partager 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
Source: Coacher une équipe agile, Valérie Messager
Artusamak
30. 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.
Artusamak
31. *
*
*
*
User story #98
User story #12
Technical story #145
Technical story #218
Sprint backlog
Valeur ajoutée
Product backlog
Concepts – Les backlogs
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
Artusamak
32. Concepts – Déroulement d’un sprint
1
2
3
Sprint définition
Développement
Démonstration
Rétrospective
(0,5-1j)
(8j)
(0,5j)
(0,5j)
4
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
1
Artusamak
33. 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é
Artusamak
34. 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
Artusamak
35. 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
Artusamak
36. 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
Artusamak
37. Métriques – Vélocité
Le burndown (Complexité reste à faire)
Le burnup (Complexité cumulée)
45
45
40
40
35
35
30
30
25
25
20
20
15
15
10
10
5
5
0
0
D1
D2
D3
Commitment
D4
D5
Stories closed
D6
Idéal
D7
D1
D2
D3
Reste à faire
D4
D5
Engagement
D6
D7
Idéal
Artusamak
38. Métriques – Répartition de l’effort
Cumulative Flow Chart
35
5
Points de complexité
30
4
25
7
20
4
15
6
3
10
2
0
11
0 0
D1
D2
24
1
4
5
2
4
5
7
4
13
15
7
D3
D4
D5
D6
D7
Jours
Terminé
En cours
A tester
Artusamak
39. Outils – Suivi avancement
Stories
Documentation
API Utilisateurs
A faire
En cours
A tester
Terminé
Tableau de
taches
Artusamak
41. 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
42. … 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
43. La meilleure mise en œuvre ?
* Montrez ce qu’il est possible de faire
* Collectez des retours
* Prenez en compte
* Montrez à nouveau
Itérer !
Artusamak
45. 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
46. …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