Meetup Scrum Caretakers

Scrum Caretakers Meetup. A case of Scrum and organizational design in practice

Lundi 6 juillet 2020, Gunther Verheyen et Fabio Panzavolta, ont eu le plaisir de partager leur experience de la mise en pratique d’une transformation organisationnelle implicite. La simplicité de Scrum permet d’escalader des montagnes, il suffit de travailler dur et éliminer les obstacle un à un…

Téléchargez l’étude de cas ici.

Le livre « 97 Things Every Scrum Practitioner Should Know » écrit par Gunther Verheyen avec la contribution de Fabio Panzavolta : chapitre 88 – A case of Scrum and Organizational Design in Practice.

Est-ce professionnel de finir le Sprint à 21h ?

Est-ce professionnel de finir le Sprint à 21h ?

sprint goal non atteint

RESSOURCES

Temps de lecture estimé : 10 minutes

Résumé

Parfois, certaines actions semblent bonnes à court terme, mais masquent en réalité des dysfonctionnements lourds. Faire des heures supplémentaires en situation de stress n’est pas un remède viable à long terme et ne doit pas être vu comme une solution professionnelle, mais un signal d’alarme à entendre courageusement.

Contexte

Nous sommes jeudi soir, la veille de la fin du Sprint. Il est prévu par le Product Owner que l’incrément qui va être inspecté demain soit mis en production à l’issue de la Sprint Review. La dernière mise en production a été réalisée plusieurs Sprints plus tôt. Le Scrum Master constate que “L’équipe reste jusqu’à 21 h la veille de la mise en production, elle est très engagée et professionnelle !” En êtes-vous certain ? Est-ce un comportement que vous souhaitez valoriser et voir reproduit régulièrement ? Ce comportement est-il vraiment aligné avec le rythme soutenable prôné par le Manifeste Agile et les valeurs de Scrum ?

Symptômes

Jeudi matin, la mise en production espérée le lendemain est très incertaine, d’autant plus que de nombreux travaux sont encore en cours.

Pourtant, aucune alerte ni action corrective n’a été levée au sein de l’équipe de développement ou avec le Product Owner pendant le Sprint.

Tous ces travaux représentent un risque important vis-à-vis de l’atteinte du Sprint Goal et de la réussite du Sprint.

En outre, les procédures de mise en production sont complexes et demandent l’intervention d’autres équipes opérationnelles qui ont les compétences, outils ou habilitations requises pour réaliser les installations sur les serveurs de production.

Enfin, l’entreprise attend beaucoup de cette nouvelle mise en production. La dernière a eu lieu il y a plusieurs Sprints, et l’équipe ressent une forte pression liée à l’importance de cette nouvelle mise en production.

Le risque et les enjeux sont ressentis par tous comme étant tellement élevés que l’échec n’est plus une option acceptable pour l’organisation.

Le niveau de stress est très élevé, l’équipe de développement sait déjà qu’une journée infernale s’annonce.

L’équipe marche sur une corde raide, elle ne travaille plus en confiance, dans le respect d’un rythme de travail soutenable, elle s’épuise physiquement et psychiquement, les risques d’erreurs croissent, la motivation baisse.

Causes

Une grande force de Scrum est d’être un formidable outil de gestion de risques.
Dans un environnement complexe, une approche empirique telle que Scrum est un outil parfaitement approprié : la part d’incertitude est si importante que nous avons plus de chance de réussir par l’exploration, l’analyse et la réaction que par la conception et le suivi d’un plan rigide.

Pour parvenir à cela, nous avons besoin des 3 piliers de l’empirisme que sont :

  • La Transparence,
  • L’Inspection
  • L’Adaptation.

Mais l’empirisme fonctionne à condition de travailler dans un contexte où l’adaptation est possible, c’est-à-dire qu’il est possible que les résultats ne soient pas ceux escomptés et que des décisions soient prises pour mettre en place des adaptations pertinentes.

En clair : vous avez le droit à l’erreur, car le risque lié à une erreur probable est acceptable.

Il est malheureusement fréquent que Scrum soit mis en place dans des organisations qui n’ont pas pleinement intégré ce que signifient les notions fondamentales d’empirisme et de complexité.

Scrum est mis en place sans changement d’état d’esprit ni changement de comportements :

on travaille “comme d’habitude”, on essaye au mieux de respecter le plan de livraison initialement prévu (respect des délais et des périmètres initialement prévus), mais en utilisant un nouveau jargon.

Ainsi, le Product Owner continue de prévoir des grosses livraisons peu fréquentes, ce qui affecte la transparence et restreint les opportunités d’inspection. L’horizon de risque acceptable pour fonctionner de manière empirique est alors largement dépassé. On ne “gère” plus les risques, on espère, on croise les doigts, on brûle des cierges et on fait tout pour que le plan soit respecté comme prévu.

Le travail est poussé vers l’équipe sans que l’organisation ne respecte la capacité et la responsabilité de l’équipe ou sans que l’équipe n’ait le courage de refuser de se laisser imposer plus de travail que de raison.
Il est également fréquent que les membres de l’équipe de développement travaillent en parallèle sur de trop nombreux Product Backlog items. L’équipe n’est pas focalisée sur l’atteinte du Sprint Goal, mais sur l’occupation des “ressources”.

De ce fait l’implémentation des Product Backlog items débute tôt dans le Sprint, mais ils sont déclarés “finis” très tardivement, et l’intégration de l’ensemble des travaux se termine dans la douleur jusqu’au jeudi soir 21 h !

L’équipe n’arrive pas à réduire les risques à cause de ce manque de focalisation pour terminer régulièrement et fréquemment les Product Backlog items, un par un au fil du Sprint. Parmi les causes possibles, on peut retrouver une insuffisance de collaboration entre les membres de l’équipe.

Cette insuffisance peut être accentuée par un manque de polyvalence (profils en “I” plus que profils en “T” car chacun a son domaine d’expertise et ne peut ou ne veut pas contribuer sur un autre domaine) ; un manque de compétence ou d’outils pour atteindre une Définition de Terminé permettant une mise en production simple ; des dépendances avec d’autres équipes qui empêchent notre équipe d’être suffisamment autonome pour implémenter et déployer des incréments seule et rapidement.

Tout cela laisse planer les risques comme une épée de Damoclès au dessus de la tête de l’équipe jusqu’à la toute fin du Sprint.

Remèdes possibles

Gunther Verheyen nous aide à comprendre ce qui signifie la notion d’engagement dans le contexte de Scrum :

“L’engagement concerne le dévouement et s’applique aux actions et à l’intensité de l’effort. Il ne s’agit pas du résultat final, car cela en soi est souvent incertain et imprévisible pour des défis complexes dans des circonstances complexes.”

Une équipe Scrum qui se déclare à la fois professionnelle et engagée doit donc limiter l’accumulation des risques en faisant les efforts pour se focaliser et collaborer à faire le travail différemment.

L’équipe doit exploiter l’empirisme pour travailler dans un périmètre de risque tolérable, ce qui signifie qu’au quotidien, en particulier grâce au Daily Scrum, l’équipe de développement doit inspecter le travail restant à accomplir pour atteindre le Sprint Goal et agir dès qu’elle considère, de manière professionnelle, que les risques s’accroissent au lieu de diminuer.

Par exemple, si l’équipe se rend compte que l’implémentation d’un Product Backlog item est plus difficile que prévu, le Sprint Backlog est impacté. Cela peut conduire l’équipe de développement à considérer maintenant que l’implémentation d’un autre Product Backlog item est fortement compromise, sauf à sacrifier la qualité, ce qui n’est pas une option acceptable de la part d’une équipe Scrum professionnelle.

L’équipe Scrum pourra alors agir avec ouverture, courage et professionnalisme et décider d’adapter le Sprint Backlog tout en préservant le Sprint Goal.

Cette adaptation peut se faire en décidant de revoir le découpage des Product Backlog items en isolant les fonctionnalités qui assurent l’atteinte du Sprint Goal et en laissant de côté pour des Sprints ultérieurs des fonctionnalités moins importantes. Mais l’adaptation peut se faire également en organisant le travail de l’équipe de développement différemment, en mettant en place du binômage, du mob programming, de la formation ou du mentoring pour faciliter la polyvalence, l’autonomie et la focalisation de l’équipe.

Ainsi, la gestion des risques est un sujet de préoccupation quotidien et n’est plus un sujet qui se rappelle douloureusement à l’équipe Scrum uniquement la veille de la fin du Sprint ou d’une mise en production.

De son côté, le Product Owner devrait rechercher à limiter autant que possible la taille des livraisons idéalement dès qu’un incrément est prêt, plusieurs fois par Sprint. Et bien sûr, le Scrum Master est là pour rendre tous ces problèmes transparents pour que l’équipe mette en place les adaptations pertinentes.

Conclusion

Une utilisation professionnelle de Scrum doit se traduire par le respect et la mise en oeuvre de l’ensemble des valeurs et principes de l’agilité.

En particulier, des produits à forte valeur ajoutée doivent être livrés rapidement et régulièrement, sans jamais abaisser les critères de qualité, dans le respect d’un rythme de travail soutenable pour tous.

Charge à chacun d’agir en professionnel responsable et d’avoir le courage de transformer ses manières de travailler afin d’obtenir tous les bénéfices de l’Agilité. Cela peut nous inviter à remettre en cause nos modèles mentaux si l’on veut obtenir des changements pérennes.

Et vous, qu’allez-vous avoir le courage de faire différemment maintenant ?

Different

Améliorer la prédictibilité

Améliorer la prédictibilité

Different

RESSOURCES

Temps de lecture estimé : 10 minutes

Résumé

Améliorer la prédictibilité est important pour notre organisation personnelle et nos parties prenantes.

Dans l’article, Scrum et efficacité personnelle, j’ai partagé mon expérience d’utilisation de certains principes de Scrum pour être plus efficace personnellement.

Le but étant de démontrer qu’il est possible de travailler autrement et être plus serein. Dans cet article, je partage des idées pour améliorer la prédictibilité du travail que je suis en mesure de faire chaque semaine (la durée de mes Sprints personnels).

Améliorer la prédictibilité – travailler différemment !  Si vous appliquez cette manière de faire à vous-mêmes, vous comprendrez quelle est l’état d’esprit à avoir dans un contexte complexe et comment l’empirisme vous aide à devenir meilleurs, individuellement ou en équipe. Scrum est décrit dans le Scrum Guide, les idées suivantes utilisent certains principes de l’empirisme et de Scrum.

QU’EST-CE QUE J’AI APPRIS DES SPRINTS PASSÉS

L’analyse des données récoltés au cours des semaines passées m’a permis d’apprendre à :

  • Découper plus finement mes activités
  • Trouver des axes d’amélioration
  • Mieux comprendre ma capacité à faire

Améliorer la prédictibilité

Découper plus finement mes activités

Je n’ai jamais passé du temps à réfléchir à toutes les activités indispensable pour écrire un article du blog, d’habitude dès que j’ai une idée, j’écris et je publie l’article.

Parfois je ne finis pas, car je commence à faire autre chose.  Pour changer cette situation, la première chose que j’ai faite a été simplement d’écrire un élément dans mon Product Backlog personnel : « Idée blog : Scrum et efficacité personnelle ».

J’ai créé une checklist dans la fiche, en pensant à tout ce que je fais quand j’écris un article : écrire l’article en français, relire l’article en français, chercher les images pour l’article, poster l’article sur le blog en français, traduire l’article en anglais, etc… à la fin, au total, j’ai créé une vingtaine de tâches.

C’est assez révélateur de la complexité de l’activité, le voir matérialisé est assez impressionnant.

Exemple item backlog Detail item backlog

Je me suis rendu compte que je pouvais découper en trois éléments distincts tout le travail décrit dans la checklist.

J’ai finalement crée trois éléments distincts cohérents et bien séparés. Le découpage plus fin amène à des avantages indéniables :

  1. Je peux publier un article en français en Sprint X, et en anglais le Sprint X+1 (avant je publiais tout en une seule fois, après deux semaines de travail). En résumé je peux créer de la valeur (j’espère) et obtenir un feedback plus rapidement.
  2. Je peux varier le travail de chaque Sprint, en ajoutant différents éléments et pas passer une semaine à travailler uniquement sur un billet de blog
  3. J’améliore ma capacité à estimer la quantité de travail à faire en un Sprint
  4. J’automatise, délègue ou élimine une partie du travail pour lequel je n’ai pas de valeur ajouté.
Items backlog

Améliorer la prédictibilité

Trouver des axes d’amélioration

En analysant le travail fait à la fin de chaque Sprint, il est possible de se rendre compte du travail qui peu être automatisé. J’ai remarqué que je passais pas mal de temps à fournir des créneaux de disponibilité à mes prospect, clients ou collègues.

Une action concrète d’amélioration a été l’implémentation de la prise de RDV automatisée (Planifier un entretien avec Fabio). Une chose en moins à gérer et qui m’aide beaucoup.

Améliorer la prédictibilité

Mieux comprendre ma capacité à faire

En découpant mes activités plus finement, comme nous l’avons vu précédemment, j’ai pu améliorer la compréhension de ma capacité à faire en un Sprint.

Je sais aussi prévoir dans quelle semaine je m’occuperai d’un nouvel élément du Product Backlog. Évidemment plus on positionne l’élément loin dans le temps, moins les prévisions seront précises.

Exemple : cette semaine,  j’ai reçu l’article d’un collègue pour relecture. Je peux prévoir que pour la fin de la semaine prochaine j’aurais fait le travail.

Cela implique que:

  1. vous êtes concentrés sur l’objectif du Sprint en cours
  2. vous savez ce qui est important pour vous. La collaboration et l’entraide est important pour moi, cette demande entre directement en haut du Product Backlog. Une demande administrative se trouvera plutôt au fond du Product Backlog.

Pour terminer avec la prédictibilité, il est très utile de compter le nombre d’éléments du Product Backlog que vous êtes capables de terminer à chaque Sprint.

Nombre Items 1 Nombre Items 2

Au fil du temps, en gagnant de l’expérience dans le découpage fin de vos activités et en automatisant d’autres, vous aurez une meilleure capacité de prévisions.

Voici un exemple de mes derniers Sprints (Velocity = nombre d’éléments du Product Backlog terminés à la fin du Sprint).

 

Sprint Sprint Goal Velocity
1 Understand French training requirements 28
2 Prepare Virtual PSPO training 24
3 Test Virtual PSPO training 25
4 Run Virtual PSPO training 14
5 Improve Virtual PSPO training from experience 13
6 Write first XXX whitepaper revision 19
7 Complete XXX whitepaper 11
Mes derniers Sprints, avec le Sprint Goal correspondant et la quantité d’éléments de Product Backlog terminés (Velocity)

Les données relatives à la vélocité me sont utiles pour améliorer les prévisions. Au début du Sprint 7, je connaissais la moyenne de mes trois meilleurs Sprints (25 éléments), celle de mes trois pires Sprints (15 éléments) et la moyenne la plus probable (20 éléments). 

En connaissant le nombre total d’éléments dans mon Product Backlog, je peux réaliser ce qu’on appelle un Burndown Chart, une manière de visualiser le travail fait et celui restant à faire (voir mon burndown personnel).

AMELIORER LA PRÉDICTIBILITÉ - Burnout Personnel
Burnout Personnel

Le Sprint 7 a révélé que, en réalité, j’ai encore beaucoup à apprendre de ma capacité à faire. En effet j’ai pu terminer uniquement 11 éléments du Product Backlog et toutes les données statistiques doivent être revues. C’est la preuve qu’il est utile de procéder ainsi.

Remarque : la vélocité est une donnée empirique, constatée à la fin du Sprint. Elle ne donne pas d’indication sur la valuer crée. Une vélocité faible, n’est pas forcement une information negative. Vous pouvez lire l’article « Velocity in Scrum, actually » pour approfondir ce sujet

Quand j’aurais mieux appris à faire mes prévisions, je pourrais aussi avoir une meilleure prédictibilité.

Conclusions

Après avoir vu dans le premier article, Scrum et efficacité personnelle, comment organiser son travail en Sprints, nous avons exploré comment utiliser les données recueillis pour améliorer notre prédictibilité.

Vous comprenez comment cela fonctionne au niveau personnel, attention vous ne pratiquez pas Scrum, mais les principes applicables dans un contexte complexe, comme peuvent l’être nos vies, parfois.

Au sein d’une Scrum Team, utilisez-vous les données empiriques pour vous améliorer ? Quelles actions concrètes et mesurables avez-vous implémenté récemment ? Le découpage du Product Backlog en éléments plus fins quels résultats a donné ?

J’espère que, grâce à ces articles, vous obtenez une meilleure organisation personnelle et une meilleure prédictibilité. Si quelqu’un vous dit qu’il faut travailler plus, aidez cette personne à comprendre qu’en réalité il faut travailler différemment, vous savez comment maintenant !