septembre 2011Monthly :

Forecast vs. Commitment ?

Une fois n’est pas coutume, voici un titre en anglais qui me semble dans l’air du temps suite aux mises à jour du Scrum guide cet été.

Parmi les points qui sont clefs à mon avis dans cette mise à jour il y a l’introduction de la notion de prévision faite au début de l’itération. Cela en a interpellé certains qui aimaient bien se raccrocher à cette idée répandue que « ok on fait du Scrum et on ne fixe pas un plan à 6 mois, mais, les gars, quand même, pour ces 3 semaines qui commencent, c’est quoi votre engagement, combien pouvez-vous prendre ? ».

Hmm…

Cette remarque m’inspire deux penseés…

1. … à propos des itérations en cascades :

Peut être avez-vous rencontré des équipes, moi beaucoup, qui reproduisent un processus de développement en cascade dans chaque itération. La plupart ont bien fait leur devoir et bien compris que chaque itération devait livrer un incrément terminé. Ils reproduisent alors à l’intérieur de chaque itération le processus en place pour livrer quelque chose de terminé, soit souvent un processus en cascade. Cela me semble une déduction logique.

Ce que je trouve décevant dans cette approche c’est que, certes l’horizon de planification est passé de plusieurs mois à une itération, mais le modèle mental est resté le même : une demande d’engagement forte sur le triplet date+budget+scope. Rien n’a en fait changé en profondeur dans notre compréhension du caractère émergent de l’activité créatrice du développement logiciel.

Cette interprétation erronée amène d’ailleurs des équipes à s’épuiser rapidement après quelques itérations. C’est écrit d’avance pour ces équipes qui reproduisent à chaque itération le stress de ce type d’engagement.

2. … et à propos de la qualité :

Malheureusement la qualité des logiciels construits dans cet état d’esprit ne s’améliore pas sensiblement dans cette situation. On continue à construire des fonctionnalités inutiles. On continue à avoir de nombreuses anomalies.

Dans un précédent billet, j’avais partagé cette idée de mettre la qualité au coeur de notre engagement. J’ai d’ailleurs eu la chance de mettre en place ces idées chez un client depuis. Ca marche ! Aujourd’hui la nouvelle version du Scrum guide me conforte dans cette idée. L’ensemble des engagements de l’équipe de développement se simplifie et du même coup se concentre :
  • engagement de transparence
  • engagement de respecter la définition de terminé
  • engagement de concentration sur l’objectif du sprint
Il ne s’agit donc pas de substituer un engagement de sprint par une prévision de sprint mais bien de préciser que l’engagement de qualité est au service de l’atteinte d’objectifs itératifs. C’est un message puissant pour les équipes : il est plus utile d’avoir un engagement sur la qualité que d’avoir un engagement sur un contenu.
J’utilisais depuis quelques temps déjà le terme « sélection » pour décrire l’ensemble de PBI que l’équipe sélectionne en planning. Le terme « prévision » est plus puissant car il reconnaît l’incertitude de nos connaissances et ouvre la porte à l’émergence.
« Nous prévoyons d’atteindre cet objectif en construisant ces 3 fonctionnalités. La priorité est l’objectif. Si nous découvrons en cours de route une meilleure idée pour l’atteindre, nous la suivrons. »

Les programmes de certification Scrum, comment ça marche ?

Au début de l’été, Eric et moi avons eu le plaisir d’être les invités du Visual Studio Talk Show, un podcast en français sur l’architecture logicielle animé par Mario Cardinal et Guy Barette. Cet enregistrement fut l’occasion de partager ma vision des programmes de certification offerts par l’Alliance Scrum et Scrum.org et de parler plus spécifiquement du programme de formation et certification Professional Scrum Developer pour Java.

J’ai été pendant 4 ans un Certified Scrum Trainer de l’Alliance Scrum. Pendant ces 4 ans, j’ai travaillé avec Ken Schwaber et enseigné Scrum à des centaines de personnes. L’année dernière, j’ai poursuivi l’aventure Scrum avec Ken en joignant Scrum.org après avoir été le premier formateur certifié par Ken pour donner le cours Professional Scrum Master (qui s’appelait encore à l’époque Scrum In Depth). Je partage dans ce podcast les différences de mission, de focus et d’approche de la certification que j’ai constatées entre les deux organisations.

La mission de Scrum.org est d’améliorer la profession du développement logiciel, afin que les clients adorent travailler avec nous et que nous soyons fiers de notre travail. En ligne avec cette mission, nous proposons un programme de formation et de certification pour les équipes de développement. J’ai développé avec l’aide de Marc-André Thibodeau, un développeur Java comme on en rencontre peu, ce programme Professional Scrum Developer Java en utilisant des outils et technologies libres. Offert en version 3 jours ou 5 jours, ce programme de formation offre une expérience intensive unique à une équipe qui veut apprendre à livrer sprint après sprint du logiciel de qualité qui enchantera ses clients. Dans le podcat, Eric et moi partageons les éléments distinctifs du programme Professional Scrum Developer Java et l’emphase particulière qui est mise sur l’automatisation des tests à tous les niveaux.