Quels sont les incontournables de la définition de prêt (Definition of Ready / DoR)?

Bonjour la communauté,

Je suis dans une organisation qui cherche à faire un passage vers l’agilité parce que nous pensons réellement que ça serait la bonne solution, mais au final, nous avons vraiment beaucoup de contraintes qui nous empêchent de « tout casser » et de faire un passage drastique. Si bien que nous essayons plutôt la méthode douce et d’intégrer des éléments et des méthodes tranquillement, une à la fois et à notre rythme.

Enfin bref, nous en sommes à intégrer la fameuse définition de prêt (DoR) et je suis en charge de faire une première version, un point de départ, mais nous n’avons pas grand chose à l’interne sur quoi se baser. J’ai pas mal écouté toutes les vidéos de Scrum Life sur le dossier, j’ai aussi télécharger les D.O.R KARDS, mais même s’il est mieux de la « laisser émerger », ça serait quand même bien de profiter de l’expérience de la communauté. Et donc, j’aimerais avoir des exemples plus concrets des éléments qui sont vraiment essentiels à une bonne DoR.

Selon vous, quels sont vos incontournables de la définition de prêt (Definition of Ready / DoR) ?

P.S.: J’ai aussi posé la même question pour la DoD pour les intéressés.

Pour prendre un pas de recul, il me semble que l’incontournable de la transformation agile, c’est de savoir quels problèmes on souhaite résoudre dans l’organisation actuelle, et en quoi chaque action qu’on prend va aider à les résoudre.

Je commencerais donc par le commencement :

  • Quel(s) problème(s) souhaitez-vous résoudre en mettant en place une DoR (ou une DoD) ?
  • Quels sont les autres problèmes que vous souhaitez résoudre dans l’organisation ?
  • Les problèmes qui vous donnent envie d’implémenter une DoD/DoR sont-ils suffisamment importants par rapport aux autres problèmes que vous avez listés ?

Si la réponse à cette dernière question est non, alors recentrez-vous sur les problèmes plus importants.

Si la réponse est oui, prenez chaque problème et réfléchissez à comment vous pouvez essayer de le régler, en piochant dans les outils de l’agilité… ou pas. Les premières actions devraient venir naturellement… mais elles ne vous orienteront pas nécessairement vers une DoR.

Par exemple, si le problème c’est « le PO met parfois 3 jours à répondre aux questions de l’équipe », vous pouvez toujours essayer d’augmenter dans la DoR les exigences sur les détails fournis dans les tickets, mais ce n’est probablement pas la meilleure action à prendre.

Bref, pour vos produits comme pour votre organisation interne, commencez par le problème plutôt que par la solution :wink:

2 « J'aime »

Je suis d’accord avec la réponses de Laurent, et j’irai même un peu plus loin : le DoR est un anti-pattern Agile (et je pense que son absence du Scrum Guide n’est pas anodine)
La plupart du temps, c’est utilisé comme contrat (sous forme de checklist) qui transfère la responsabilité d’un PBI du PO vers la Dev Team.
Comme ça plus de problème :

  • Si tout se passe bien : surtout pas besoin de se parler pendant le sprint pour poser des questions/discuter du besoin
  • Si tout se passe mal, c’est parce que la definition of Ready n’était pas bien respectée/à modifier

Pour moi c’est un inhibiteur à la discussion et à la co-construction.

J’avais le cas pas plus tard que vendredi avec une équipe que j’accompagne au lancement. En rétrospective de sprint 3, un « carton rouge » d’un des développeurs émerge sur la non utilisation des checklist DoR et DoD (co-construite par l’équipe, 10-15 éléments dans chaque). « Solution proposée » : se forcer à les alimenter.
Mon questionnement a été : quels problèmes essayez-vous de résoudre ? Y a-t-il des problèmes constatés en cours de sprint sur des éléments sur lesquels il n’y avait pas assez de détails et qui ont causé l’impossibilité de les terminer en cours de sprint ?
La réponse était non. => If it ain’t broken, don’t fix it ! : continuez à ne pas utiliser votre checklist !
L’outcome de la réunion de co-création du DoR (ce qu’il fallait savoir pour démarrer sur un sujet) était bien plus important que l’output (la checklist).
Comme Laurent, je trouve que la DoR est trop souvent utilisé pour se blinder des éventuelles défaillances du PO (on est dans de la recherche de coupable préventif !).

Voir : YDS: What is the Definition of Ready in Scrum? - YouTube

Ah bon ? :grinning:

1 « J'aime »

Oh que oui. La D.O.R. est un retour vers le waterfall, une listes d’excuse pour ne pas commencer.

Un jour, on verra des D.O.R. avec le contenu de la D.O.D. comme ça il n’y a plus rien à faire pendant le sprint.

Au pire la D.O.R. C’est « avez-vous tous confiance entre vous (po-sm-dev) pour commencer ? »

Messieurs, ne jetez pas le bébé avec l’eau du bain. Tout le monde n’a pas le même degré de compréhension, communication, collaboration… Sinon, autant dire que la DoR est le signe que l’équipe est mauvaise parce que les points exprimés ne sont pas naturellement atteint à chaque incrément.

1 « J'aime »

La DoR va de pair avec la confiance de l’équipe souvent, le respect du travail des personnes et la sécurité psychologique plus globalement.

Quand les gens ont peur et pas confiance, ils se bordent comme ils peuvent.

Sans droit à l’erreur pour l’équipe => parapluie DoR => pas d’apprentissage par l’erreur => anti-pattern agile

1 « J'aime »

Ok. @nicobiot @Moosh @jp.deluard

Vous me confirmez donc qu’aucun de vous ne bosse ou ne bossera à l’avenir avec une DoR ?

@Samuel_Abiassi DoR ou DoD ?
Pour la DoR je confirme que je l’écarte au maximum même si je comprends qu’il y a des exigences indispensables pour embarquer des sujets. Les réunions de refinement ont quand même pour moi vocation à discuter en équipe de ce qui est nécessaire ou pas pour pouvoir développer une nouvelle feature.
Pour la DoD, on se situe globalement au moment de la mise en production, il est nécessaire d’être transparent sur ce qui a été fait au niveau de l’incrément. On est sur des sujets techniques (tests, release, doc etc.) et même si une DoD finit par être intégré par l’équipe dans les pratiques, il est bon d’avoir une liste des conditions nécessaires à assurer la qualité.

Donc la DoR, je souhaite bosser le moins possible avec, et je pense que quand une équipe est « bien », elle a confiance, autonomie et maitrise elle se contrefout d’une DoR
La DoD, si et je pense que c’est un marqueur de qualité de l’équipe, je pense que c’est aussi d’une certaine façon une marque de fierté, en montrant, « voyez, on livre pas de la merde technique, on a transformé votre besoin en solution et EN PLUS, on respecte cette charte de bonnes pratiques et vous pouvez vérifier »

La DoR, on la fait en fait sans la rendre visible dans toutes les équipes.

J’aime pas les DoR. Quand je les utilise ça ralentit le flow. Bien souvent, c’est pris comme une obligation à faire à chaque fois et un contrat plutôt qu’une négociation.

Y a quand même pas de problème à dire que :

  • L’équipe de développement et le Product Owner ont discuté en face-à-face (ou visio :wink: ) de l’item
  • Au moins 1 test a été spécifié
  • L’équipe de développement a accepté de la prendre

Tant que c’est pris comme des principes et pas des règles immuables… Et c’est tellement souvent inversé malheureusement, la DoD on s’en fiche et la DoR on la suit bêtement… Quelle erreur !

Pour moi :
DoD → Règles d’équipe et de l’organisation, qui doit être suivi
DoR → Principes à suivre

1 « J'aime »

Et donc il est bon d’avoir une liste de conditions nécessaire à assurer la qualité de ce que l’équipe de développement fourni, mais pas à assurer la qualité de ce qu’un PBI représente ?

Plusieurs questions:

  • En quoi cela a ralentit le flow dans tes expériences vécus ?
  • Tous les PBI qui ont été embarqué par tes équipes étaient-ils donc prêt à être développés ? Si la réponse est non, quels ont été les conséquences d’un PBI embarqué et non « ready » ?
  • Qu’en est il des dépendances externes (validation d’un service légal, d’une entité tierce, de la livraison d’une update d’un service tierce utilisé pour le développement) ? Avec quel marqueur déterminez vous si le PBI est prêt à être commencé ?
  • Ca amène à beaucoup trop de discussions et à des pertes de temps plutôt que de parfois « juste faire ». Plus la DoR est grosse, plus ça augmente le WIP des tickets prêt, plus ton flow est lent. Et les entreprises, quand une DoR existe, adorent l’augmenter (je l’ai vécu à chaque fois, 100% du temps. Donc c’est mon expérience.)
  • Le problème, c’est d’être « prêt à développer » pour moi. Bien trop d’items étaient pris alors qu’on découvre tellement de choses pendant un développement. C’est inné au développement informatique. « Paralysis by Analysis » → On préfère faire une grosse étude plutôt que de faire un truc simple d’abord.
  • La plupart du temps, on se rend compte des dépendances externes en faisant. Mais quand elles existent et sont visibles, ça semble totalement évident de les rendre visible, c’est la logique du Indépendant de INVEST : si c’est dépendant, on rend visible et on essaie de supprimer cette dépendance au plus vite.
  • Le marqueur est simple : le PO et l’équipe de dev sont ok pour que ce soit pris dans le delivery. C’est à leur responsabilité de vérifier les dépendances d’un côté comme de l’autre, le discovery existe pour ça.

Je précise : je bosse avec des équipes ou je forme des équipes au discovery, et pas juste au recueil de besoin. Dans le discovery, c’est justement le but de dérisquer avant de passer au delivery. Feasability (du domaine des ingénieurs, qui doivent vérifier les dépendances techniques), Usability, Value, Business viability (c’est ici qu’on regarde les dépendances extérieures business, et c’est à la responsabilité du Product Manager = Product Owner).
Ca ne s’applique pas à l’agilité à faible vitesse, celle des grands groupes, de SAFe, des marchés qui sont stables, etc… Pour ça, faites des grosses études, c’est du domaine du « compliqué », c’est utile pour ça, pas de problème ! :smiley:

Hum… Donc il existerait un état entre le prêt et le pas prêt pour un PBI ? Qu’est qu’un PBI en WIP sinon un PBI pas « ready » ?

Je suis tout à fait d’accord avec cette partie. Si une équipe de développement défini que « prêt à développer » est X, ce n’est pas Z.

Tout à fait. Et à ce propos (mais c’est un autre sujet), une bonne pratique est d’annuler le sprint si on se rend compte de cela à mi-sprint.

Mais quand elles existent et sont visibles, ça semble totalement évident de les rendre visible, c’est la logique du Indépendant de INVEST : si c’est dépendant, on rend visible et on essaie de supprimer cette dépendance au plus vite.

Du coup, par quel autre moyen qu’en rendant un PBI « ready for development » tu documenterais cet état ?

Ok, donc on a ici une responsabilité sans aucun autre formalisme que « allez, faisons confiance au PO » ?

Le DOD correspond à la qualité des items développés dans le produit
Le DOR correspond à la qualité de l’écriture des items

De mon point de vue le DOR est un outil comme un autre :

  • Si il répond à un pb, il est donc bien utilisé et est nécessaire.
  • Si il ne répond pas à un pb et ralenti ou dégrade l’avancement du projet, il est donc mal utilisé et donc à éviter.

Une chose n’est pas bonne ou mauvaise en soit, c’est l’utilisation qu’on en fait qui l’est.

Ensuite vient la notion de priorité, si le DOR est priorisé par rapport au fait que l’équipe n’a plus de matière à développer, il y a surement un pb. Il ne faut pas qu’un sujet mal traité devienne bloquant pour l’avancement du projet, exemple : les items ne correspondent pas au DOR du coup on embarque rien dans le sprint.
Scrum reste avant tout une méthode qui permet l’avancement optimal du développement d’un produit tout en optimisant l’énergie dépensée par les développeurs.

J’utilise le DOR quand le manque de qualité d’écriture des items dégrade l’avancement du développement du produit.
Ce DOR est très rarement bloquant, mais à l’atout de remonter des alertes sur le fait qu’il manque des informations pour avancer correctement. Cela permet de mettre en place des actions pour améliorer le processus. Les éléments du DOR ne sont pas applicable a tous les items, dans ce cas ne pas les appliquer. Il faut rester pragmatique.

3 « J'aime »

Si on en arrive là, n’est ce pas la responsabilité entière de l’équipe au complet que d’aider le PO à rendre les PBI ready ? Ca ferait un super objectif de sprint ça: « Faire en sorte de dégager assez de PBI ready pour les 3 prochains sprints » par exemple.

1 « J'aime »

Et donc il est bon d’avoir une liste de conditions nécessaire à assurer la qualité de ce que l’équipe de développement fourni, mais pas à assurer la qualité de ce qu’un PBI représente ?

Oui

Je comprends totalement ton point de vue Samuel, mais pour moi on est vraiment sur 2 choses différentes.

D’un côté avec la DoR j’ai l’impression que l’on a le verrou pour accéder au travail de l’équipe, comme un contrat qui dirait « Vous n’avez pas fat un travail à la hauteur de nos attentes nous ne travaillerons pas pour vous ». Ca me semble vraiment matérialiser le silo. La paroi étanche entre les équipes (métier et technique).
Alors qu’avec la DoD on n’a pas une contrainte externe mais plutôt le cachet validant le fait que l’équipe valide elle-même la qualité du livrable. Il ne faut pas oublier que la « bande-passante » de l’équipe dépend aussi de la DoD. Si la DoD est énorme, l’output sera moins important mais surement très qualitatif.

Je reprends le Scrum guide :

The Scrum Team turns a selection of the work into an Increment of value during a Sprint.

L’équipe est donc avant tout constituée pour transformer une partie du travail en incrément de valeur.
Le guide ne dit pas que le travail demandé soit explicit, implicit, prescriptif, ouvert, ou quoi que ce soit. En tout cas, les PBI qui peuvent être Faits dans un sprint sont donc jugés prêts à être sélectionné et réalisé :

Product Backlog items that can be Done by the Scrum Team within one Sprint are deemed ready for selection in a Sprint Planning event.

Donc l’équipe juge que c’est prêt, mais rien n’oblige à suivre une check list comme une DoR.
J’ai des cas encore très récents où sur certains PBI qui plaisent au développeur et avec une certaine liberté de conception et de recherche de solution, les devs se jettent dessus avec enthousiasme et alors la DoR ils s’en foutent comme leur première couche
Et puis quand les sujets à faire sont inintéressants ça part dans un revival de la DoR d’il y a 2 ans pour te dire qu’il manque des critères d’acceptation, une maquette, des cas de tests ou je ne sais quoi

Et pourtant :

The Scrum Team members have the courage to do the right thing, to work on tough problems.

Pour savoir si c’est Fait, avec un F majuscule, il faut par-contre être plus strict sur ce qui définit le Fait. D’où une liste de critères :

The Definition of Done is a formal description of the state of the Increment when it meets the quality measures required for the product.

J’en reviens au refinement qui doit servir de DoR en fait, mais en basant sur des échanges entre PO et devs, sur la collaboration et la communication :

Product Backlog refinement is the act of breaking down and further defining Product Backlog items into smaller more precise items. This is an ongoing activity to add details, such as a description, order, and size. Attributes often vary with the domain of work.

1 « J'aime »

Encore une fois, comment peut on « juger » quelque chose comme « prêt » si on ne sait pas ce que « prêt » veux dire ?

Non, c’est bien là tout le truc. C’est l’inverse. On ne peux raffiner un PBI que si on sait ce que « raffiner » veux dire dans le contexte de l’équipe. Une action ne peux fondamentalement pas être utilisée comme définition d’un état, ça n’a pas de sens.

Attention: en partant de là, si après coup on se rend compte que le PBI en question ne tiens clairement pas en un sprint, qu’est ce que ça veux dire pour l’équipe ? Si la fonctionnalité n’a que très peu d’utilité après une analyse du business plus poussée, qu’est ce que ça veux dire pour l’équipe ?

Quand j’ai bossé avec des DoR, c’étaient plutôt des béquilles qui masquaient des problèmes plus profonds.

Par exemple, on bossait sur un logiciel localisé en 4 langues, et notre DoD incluait le fait que la fonctionnalité devait être disponible dans les 4 langues.

C’était plutôt un bon principe : on s’assurait qu’à chaque fin de sprint on avait un produit « potentiellement livrable ».

Mais j’avais un peu de mal en tant que PO à gérer les demandes de traduction dans les temps, et donc l’équipe se retrouvait régulièrement bloquée à cause de moi.

On avait choisi de régler le problème en mettant dans la DoR que tous les textes localisés devaient être disponibles en début de sprint, mais ça forçait à beaucoup spécifier en amont, et ça ne gérait de toute façon pas les cas en coin sur lesquels on tombait immanquablement pendant le sprint.

Il aurait peut-être été plus malin de trouver un meilleur workflow pour la traduction, dans lequel je n’étais pas le goulot d’étranglement. C’est ce qu’on a fini par faire d’ailleurs.

Et aujourd’hui, je bosse avec des gens qui ont suffisamment d’expérience pour repérer ce qui va poser problème sans devoir se référer à une check-list.

Il me semble que le bénéfice de la DoR, un peu comme les estimations d’ailleurs, vient des discussions que son établissement nécessite. Ça oblige les gens à confronter leur point de vue sur ce qu’on doit faire ou pas en amont, mais une fois que l’alignement est obtenu, on peut limite jeter la DoR (ou l’estimation). Si on ne la jette pas, ça devient un contrat, et on tombe dans « tools and processes over people and interactions ».

Là je suis d’accord avec toi. Pas totalement, mais on se rapproche de ma vision des choses.

1 « J'aime »