{"id":288,"date":"2023-01-18T22:48:19","date_gmt":"2023-01-18T21:48:19","guid":{"rendered":"https:\/\/blog.twentyeight.be\/fr\/?p=288"},"modified":"2023-01-20T13:42:13","modified_gmt":"2023-01-20T12:42:13","slug":"quest-ce-que-la-velocite","status":"publish","type":"post","link":"https:\/\/blog.twentyeight.be\/fr\/2023\/01\/18\/quest-ce-que-la-velocite\/","title":{"rendered":"Qu&rsquo;est-ce que la v\u00e9locit\u00e9"},"content":{"rendered":"\n<div class=\"wp-block-uagb-advanced-heading uagb-block-3a06cff9\"><h2 class=\"uagb-heading-text\">La v\u00e9locit\u00e9, c&rsquo;est \u00ab\u00a0l&rsquo;effort\u00a0\u00bb moyen qu&rsquo;est capable de r\u00e9aliser une \u00e9quipe sur une p\u00e9riode donn\u00e9e.<br>(Une quantit\u00e9 de sprint par exemple).<br>Cet effort peut \u00eatre exprim\u00e9 au moyen de <a href=\"https:\/\/blog.twentyeight.be\/fr\/2022\/12\/21\/les-estimations\/\">story points<\/a> <\/h2><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Exemple de calcul<\/h2>\n\n\n\n<p>Voici quelques donn\u00e9es n\u00e9cessaires \u00e0 la compr\u00e9hension d&rsquo;un calcule de v\u00e9locit\u00e9.<br>Comme tu le constates, il y a une grande diff\u00e9rence entre les sprints 8 &amp; 9 et les autres.<br>De temps \u00e0 autre, il arrive que l&rsquo;\u00e9quipe ne finisse pas tout ce qu&rsquo;il y avait dans le sprint, je t&rsquo;invite \u00e0 lire l&rsquo;article <a href=\"https:\/\/blog.twentyeight.be\/fr\/2022\/12\/16\/le-sprint-est-fini-et-il-reste-des-tickets\/\" data-type=\"post\" data-id=\"83\">Le sprint est fini, et il reste des tickets<\/a><br>Les points br\u00fbl\u00e9s correspondent \u00e0 l&rsquo;addition des SP des items r\u00e9alis\u00e9s. R\u00e9pondant \u00e0 la Definition of Done (DoD)<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Sprint<\/td><td>Points brul\u00e9 dans le sprint<\/td><\/tr><tr><td>Sprint 7<\/td><td>25<\/td><\/tr><tr><td>Sprint 8<\/td><td>11<\/td><\/tr><tr><td>Sprint 9<\/td><td>37<\/td><\/tr><tr><td>Sprint 10<\/td><td>24<\/td><\/tr><tr><td>Sprint 11<\/td><td>26<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Donn\u00e9e n\u00e9cessaire \u00e0 un calcul de v\u00e9locit\u00e9<\/figcaption><\/figure>\n\n\n<figure class=\"wp-block-post-featured-image\"><img loading=\"lazy\" decoding=\"async\" width=\"926\" height=\"645\" src=\"https:\/\/blog.twentyeight.be\/fr\/wp-content\/uploads\/sites\/2\/2023\/01\/graphique-_de_velocite.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Graphique de v\u00e9locit\u00e9 sur 5 sprint\" style=\"object-fit:cover;\" srcset=\"https:\/\/blog.twentyeight.be\/fr\/wp-content\/uploads\/sites\/2\/2023\/01\/graphique-_de_velocite.jpg 926w, https:\/\/blog.twentyeight.be\/fr\/wp-content\/uploads\/sites\/2\/2023\/01\/graphique-_de_velocite-300x209.jpg 300w, https:\/\/blog.twentyeight.be\/fr\/wp-content\/uploads\/sites\/2\/2023\/01\/graphique-_de_velocite-768x535.jpg 768w\" sizes=\"auto, (max-width: 926px) 100vw, 926px\" \/><\/figure>\n\n\n<p class=\"has-medium-font-size\">Nombre total de points pour les 5 sprints: <strong>123<\/strong><br>Nombre moyen par sprint \/ v\u00e9locit\u00e9: <strong>24,6<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Est-ce toujours fiable?<\/h2>\n\n\n\n<p>Pas n\u00e9cessairement, c&rsquo;est une excellente indication, mais certains facteurs vont influencer les chiffres.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Les jours de maladie \/ cong\u00e9<\/h3>\n\n\n\n<p>Si un d\u00e9veloppeur ne travaille pas et donc ne d\u00e9veloppe pas, il y a moins de choses qui sont r\u00e9alis\u00e9es au courant du sprint =&gt; moins de SP br\u00fbl\u00e9.<\/p>\n\n\n\n<p>Si nous fonctionnons en flux tendu (c&rsquo;est-\u00e0-dire que le temps entre la r\u00e9daction des tickets et leur apparition dans un sprint est relativement court), on pourrait \u00e9galement se retrouver avec moins de choses \u00e0 faire, ou des choses non encore bien d\u00e9crit et r\u00e9pondant \u00e0 la DoR. Dans ce cas, le travail de d\u00e9veloppement sera \u00e9galement impact\u00e9.<\/p>\n\n\n\n<p>Oui, mais bon, <em>tous les d\u00e9veloppeurs sont au moins une fois malades sur l&rsquo;ann\u00e9e, donc, on peut lisser cette donn\u00e9e.<\/em><br>Ce n&rsquo;est pas faux, mais ce n&rsquo;est pas tout \u00e0 fait vrais non plus, on reviendra sur cela plus loin dans l&rsquo;article.<\/p>\n\n\n\n<p class=\"has-small-font-size\">Au plus l&rsquo;\u00e9quipe est petite, au plus ce facteur aura d&rsquo;influence (100% pour une \u00e9quipe de 1 dev).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Les changements dans l&rsquo;\u00e9quipe<\/h3>\n\n\n\n<p>Alors ici, c&rsquo;est tr\u00e8s simple, si l&rsquo;\u00e9quipe n&rsquo;est pas stable depuis un certain temps, cette information n&rsquo;a absolument aucun sens, aucune fiabilit\u00e9, aucune valeur.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>En cas de nouveau venu, du temps \u00e0 consacrer \u00e0 son int\u00e9gration, \u00e0 la place du d\u00e9veloppement des tickets.<br>En th\u00e9orie, on reviendra \u00e0 la situation initiale et \u00e0 une augmentation apr\u00e8s un certain temps. Si ce n&rsquo;est pas le cas, il y a des questions \u00e0 se poser.<\/li>\n\n\n\n<li>Un membre de l&rsquo;\u00e9quipe part, il y a donc moins de \u00ab\u00a0force de travail\u00a0\u00bb disponible<\/li>\n<\/ul>\n\n\n\n<p class=\"has-small-font-size\">\u00c0 tous les coups, un changement dans l&rsquo;\u00e9quipe modifie la v\u00e9locit\u00e9.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">La sp\u00e9cialisation des membres de l&rsquo;\u00e9quipe<\/h3>\n\n\n\n<p>Une \u00e9quipe doit \u00eatre en mesure de r\u00e9aliser l\u2019enti\u00e8ret\u00e9 du produit, cependant, ses membres ont certaines sp\u00e9cialit\u00e9s. Il est tout \u00e0 fait envisageable dans un projet de d\u00e9veloppement d&rsquo;une application ou d&rsquo;un site qu&rsquo;un sprint contienne plus de demande front-end que back, dans ce cas, un sp\u00e9cialiste back-end peut se retrouver sans ticket dans sa sp\u00e9cialit\u00e9. Bien entendu, il ne va pas rester \u00e0 rien, mais il est certainement moins comp\u00e9tent dans les autres domaines.<br>PS c&rsquo;est probablement un bon moment pour r\u00e9gler un peu de dette technique (qui ne devrait pas exister) ou aider \u00e0 l&rsquo;analyse, ou optimiser du code &#8230;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Que peut-on faire avec cette information?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Pr\u00e9voir le nombre d&rsquo;item \u00e0 mettre dans un sprint<\/h3>\n\n\n\n<p>Cette mesure nous permet par addition des SP de savoir quelle quantit\u00e9 de tickets nous pouvons mettre dans le sprint.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Planifier<\/h3>\n\n\n\n<p>On peut faire un forcast, c&rsquo;est-\u00e0-dire qu&rsquo;on peut <strong>tenter <\/strong>de pr\u00e9dire, d&rsquo;<strong>estimer <\/strong>et donc de planifier quand une fonctionnalit\u00e9 aura \u00e9t\u00e9 d\u00e9velopp\u00e9e.<\/p>\n\n\n\n<p>Consid\u00e9rons qu&rsquo;en additionnant les story points des tickets n\u00e9cessaires \u00e0 la r\u00e9alisation d&rsquo;une fonctionnalit\u00e9, on arrive \u00e0 <strong>94<\/strong>. Nous savons que notre moyenne \/ v\u00e9locit\u00e9 est de <strong>24,6<\/strong><\/p>\n\n\n\n<p>94 \/ 24,6 = 3,82.<\/p>\n\n\n\n<p>Il nous faut donc 3,82 =&gt; <strong>4<\/strong> sprints pour r\u00e9aliser la fonctionnalit\u00e9.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quelle p\u00e9riode de temps devons-nous consid\u00e9rer?<\/h2>\n\n\n\n<p>On serait ais\u00e9ment tent\u00e9 de dire qu\u2019au plus la p\u00e9riode de r\u00e9f\u00e9rence est longue, au plus la mesure est fiable. Apr\u00e8s tout, on a plus de donn\u00e9es \u2026<\/p>\n\n\n\n<p>Et bien non, la v\u00e9locit\u00e9 va varier avec le temps. Nous avons d\u00e9j\u00e0 soulev\u00e9 le cas de l&rsquo;augmentation ou diminution du nombre de membres dans l&rsquo;\u00e9quipe, nous allons donc consid\u00e9rer que l&rsquo;\u00e9quipe reste stable.<\/p>\n\n\n\n<p>Il y a d&rsquo;autres ph\u00e9nom\u00e8nes qui feront varier cette information, par exemple, la mont\u00e9e en comp\u00e9tence technique des membres, la mani\u00e8re d&rsquo;\u00e9crire les tickets va \u00e9voluer avec le temps, id\u00e9alement devenir meilleure, les membres de l&rsquo;\u00e9quipe vont mieux se comprendre et l&rsquo;estimation deviendra plus pr\u00e9cise.<\/p>\n\n\n\n<p>On consid\u00e8re l&rsquo;information comme correcte apr\u00e8s 3 \u00e0 5 sprints. Sachant que cette valeur \u00e9volue l\u00e9g\u00e8rement au fil du temps, utiliser un forcast \u00e0 long terme n&rsquo;est pas id\u00e9ale. Au plus le calcule se fait dans le futur, au moins l&rsquo;information a de valeur.<\/p>\n\n\n\n<p>Donc, on ne peut pas facilement consid\u00e9rer la possible absence d&rsquo;un membre durant 4 semaines sur l&rsquo;ann\u00e9e ou m\u00eame un prorata<br><\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>Il est tentant de comparer les v\u00e9locit\u00e9s propres des \u00e9quipes, ou de faire un prorata par d\u00e9veloppeur.<br>H\u00e9 bien, cela ne fonctionne pas, car les estimations pour l&rsquo;\u00e9quipe A ne sont pas les estimations l&rsquo;\u00e9quipe B.<\/p><\/blockquote><\/figure>\n\n\n\n<p>La lecture de ces articles te sera certainement utile:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/blog.twentyeight.be\/fr\/2022\/12\/21\/on-va-estimer-a-quoi-devons-nous-faire-attention\/\" data-type=\"post\" data-id=\"138\">On va estimer, \u00e0 quoi devons-nous faire attention?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.twentyeight.be\/fr\/2022\/12\/16\/le-sprint-est-fini-et-il-reste-des-tickets\/\" data-type=\"post\" data-id=\"83\">Le sprint est fini, et il reste des tickets<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.twentyeight.be\/fr\/2022\/12\/21\/les-estimations\/\" data-type=\"post\" data-id=\"121\">Les estimations<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>La v\u00e9locit\u00e9, c&rsquo;est \u00ab\u00a0l&rsquo;effort\u00a0\u00bb moyen qu&rsquo;est capable de r\u00e9aliser une \u00e9quipe sur une p\u00e9riode donn\u00e9e.<br \/>\n(Une quantit\u00e9 de sprint par exemple).<br \/>\nCet effort peut \u00eatre exprim\u00e9 au moyen de story points <\/p>\n","protected":false},"author":1,"featured_media":330,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","footnotes":""},"categories":[10,4],"tags":[5,8],"class_list":["post-288","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-les-reponses","category-theorie","tag-scrum","tag-story-point"],"uagb_featured_image_src":{"full":["https:\/\/blog.twentyeight.be\/fr\/wp-content\/uploads\/sites\/2\/2023\/01\/graphique-_de_velocite.jpg",926,645,false],"thumbnail":["https:\/\/blog.twentyeight.be\/fr\/wp-content\/uploads\/sites\/2\/2023\/01\/graphique-_de_velocite-150x150.jpg",150,150,true],"medium":["https:\/\/blog.twentyeight.be\/fr\/wp-content\/uploads\/sites\/2\/2023\/01\/graphique-_de_velocite-300x209.jpg",300,209,true],"medium_large":["https:\/\/blog.twentyeight.be\/fr\/wp-content\/uploads\/sites\/2\/2023\/01\/graphique-_de_velocite-768x535.jpg",640,446,true],"large":["https:\/\/blog.twentyeight.be\/fr\/wp-content\/uploads\/sites\/2\/2023\/01\/graphique-_de_velocite.jpg",640,446,false],"1536x1536":["https:\/\/blog.twentyeight.be\/fr\/wp-content\/uploads\/sites\/2\/2023\/01\/graphique-_de_velocite.jpg",926,645,false],"2048x2048":["https:\/\/blog.twentyeight.be\/fr\/wp-content\/uploads\/sites\/2\/2023\/01\/graphique-_de_velocite.jpg",926,645,false]},"uagb_author_info":{"display_name":"pierre","author_link":"https:\/\/blog.twentyeight.be\/fr\/author\/pierre\/"},"uagb_comment_info":3,"uagb_excerpt":"La v\u00e9locit\u00e9, c'est \"l'effort\" moyen qu'est capable de r\u00e9aliser une \u00e9quipe sur une p\u00e9riode donn\u00e9e. (Une quantit\u00e9 de sprint par exemple). Cet effort peut \u00eatre exprim\u00e9 au moyen de story points","_links":{"self":[{"href":"https:\/\/blog.twentyeight.be\/fr\/wp-json\/wp\/v2\/posts\/288","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.twentyeight.be\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.twentyeight.be\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.twentyeight.be\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.twentyeight.be\/fr\/wp-json\/wp\/v2\/comments?post=288"}],"version-history":[{"count":15,"href":"https:\/\/blog.twentyeight.be\/fr\/wp-json\/wp\/v2\/posts\/288\/revisions"}],"predecessor-version":[{"id":331,"href":"https:\/\/blog.twentyeight.be\/fr\/wp-json\/wp\/v2\/posts\/288\/revisions\/331"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.twentyeight.be\/fr\/wp-json\/wp\/v2\/media\/330"}],"wp:attachment":[{"href":"https:\/\/blog.twentyeight.be\/fr\/wp-json\/wp\/v2\/media?parent=288"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.twentyeight.be\/fr\/wp-json\/wp\/v2\/categories?post=288"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.twentyeight.be\/fr\/wp-json\/wp\/v2\/tags?post=288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}