{"id":7549,"date":"2023-11-20T22:00:00","date_gmt":"2023-11-20T21:00:00","guid":{"rendered":"https:\/\/www.iterates.be\/?p=7549"},"modified":"2026-01-23T14:36:12","modified_gmt":"2026-01-23T13:36:12","slug":"maitriser-les-user-stories-avec-agile-et-la-methodologie-invest","status":"publish","type":"post","link":"https:\/\/www.iterates.be\/fr\/maitriser-les-user-stories-avec-agile-et-la-methodologie-invest\/","title":{"rendered":"Ma\u00eetriser les User Stories avec Agile et la m\u00e9thodologie INVEST"},"content":{"rendered":"<div class=\"vgblk-rw-wrapper limit-wrapper\">Si vous vous int\u00e9ressez au d\u00e9veloppement de logiciels, vous avez entendu parler des &#8220;user stories&#8221; ou \u201cUS\u201d. Elles sont au c\u0153ur de la <a href=\"https:\/\/www.atlassian.com\/agile#:~:text=What%20is%20the%20Agile%20methodology,planning%2C%20executing%2C%20and%20evaluating.\"><strong>m\u00e9thode Agile<\/strong><\/a> et elles sont une super fa\u00e7on de se concentrer sur les besoins de l&#8217;utilisateur final.<\/p>\n<p>Mais attention, une user story peut rapidement \u00eatre mal r\u00e9dig\u00e9e. Pour \u00eatre vraiment efficaces, elles doivent suivre certaines r\u00e8gles, que l&#8217;on retrouve dans l&#8217;acronyme INVEST, imagin\u00e9 par Bill Wake.<\/p>\n<p>Alors dans cet article, on va d\u00e9composer tout \u00e7a et ainsi vous montrer comment ce principe peut rendre vos user stories encore meilleures et donner un vrai coup de boost \u00e0 votre projet.<\/p>\n<p>Alors, pr\u00eat \u00e0 faire passer vos user stories au niveau sup\u00e9rieur ?<\/p>\n<h2>C&#8217;est quoi une &#8220;user story&#8221; ?<\/h2>\n<p>\/*! elementor &#8211; v3.13.3 &#8211; 28-05-2023 *\/<br \/>\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=&#8221;.svg&#8221;]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/www.iterates.be\/wp-content\/uploads\/2023\/11\/Capture-decran-2023-11-14-143724.png\" alt=\"\" width=\"715\" height=\"399\" \/><\/p>\n<p>Une user story, aussi appel\u00e9 backlog item, est un support utilis\u00e9 dans le d\u00e9veloppement de logiciels qui capture une description d&#8217;une fonctionnalit\u00e9 souhait\u00e9e du point de vue de l&#8217;utilisateur final.<\/p>\n<p>Elle aide les \u00e9quipes de d\u00e9veloppement \u00e0 comprendre les besoins et les d\u00e9sirs de l&#8217;utilisateur en les formalisant concr\u00e8tement, et \u00e0 concevoir des solutions qui r\u00e9pondent \u00e0 ces attentes.<\/p>\n<p>Une user story est toujours introduite de la mani\u00e8re suivante :<\/p>\n<p>&#8220;<strong>En tant que<\/strong> [type d&#8217;utilisateur(s)],<\/p>\n<p><strong>Je veux<\/strong> [une certaine fonctionnalit\u00e9]<\/p>\n<p><strong>Afin de<\/strong> [un certain b\u00e9n\u00e9fice]&#8221;.<\/p>\n<p>Par exemple, une user story pour une application d\u2019e-commerce pr\u00e9sentera le besoin de l\u2019utilisateur comme-ci :<\/p>\n<p>&#8220;<strong>En tant que<\/strong> client, <strong>je veux<\/strong> \u00eatre capable de filtrer les produits par cat\u00e9gorie <strong>afin de<\/strong> trouver plus facilement les produits que je cherche.&#8221;<\/p>\n<p>Simple et efficace, non ?<\/p>\n<p>Une fois le besoin exprim\u00e9 de cette mani\u00e8re, l\u2019analyste fonctionnel ou business analyste, va compl\u00e9ter la User Story en y ajoutant des r\u00e8gles fonctionnelles et les contraintes que doit respecter le d\u00e9veloppement qui va \u00eatre r\u00e9alis\u00e9 pour couvrir ce besoin.<\/p>\n<p>Une user story est un moyen de favoriser la communication. Elle permet aux d\u00e9veloppeurs de se mettre \u00e0 la place des utilisateurs lorsqu&#8217;ils cr\u00e9ent des logiciels.<\/p>\n<p>C&#8217;est un \u00e9l\u00e9ment central de nombreuses m\u00e9thodologies de d\u00e9veloppement Agile, comme <a href=\"https:\/\/www.scrum.org\/\">Scrum<\/a>, et <a href=\"https:\/\/www.agilealliance.org\/glossary\/xp\/#:~:text=Extreme%20Programming%20(XP)%20is%20an,engineering%20practices%20for%20software%20development.\">Extreme Programming<\/a> (XP).<\/p>\n<h2>Que signifie INVEST ?<\/h2>\n<p>L&#8217;acronyme INVEST, qui est utilis\u00e9 pour d\u00e9crire les caract\u00e9ristiques d&#8217;une bonne user story dans une m\u00e9thode Agile. Cela permet d&#8217;apporter de la valeur \u00e0 la cr\u00e9ation du projet.<\/p>\n<p>INVEST est un acronyme qui signifie :<\/p>\n<p>I \u2013 Independent<\/p>\n<p>N \u2013 Negotiable<\/p>\n<p>V \u2013 Valuable<\/p>\n<p>E \u2013 Estimable<\/p>\n<p>S \u2013 Size appropriately<\/p>\n<p>T \u2013 Testable<\/p>\n<p>Petit tour d\u2019horizon pour comprendre l\u2019importance et la port\u00e9e de chacun de ces \u00e9l\u00e9ments :<\/p>\n<h2>Independent (&#8220;ind\u00e9pendante&#8221;)<\/h2>\n<p>Chaque user story doit \u00eatre ind\u00e9pendante, c&#8217;est-\u00e0-dire qu&#8217;elle ne doit pas d\u00e9pendre d&#8217;une autre user story pour avoir de la valeur.<\/p>\n<p>Cela facilite la planification, car les stories doivent pouvoir \u00eatre d\u00e9velopp\u00e9es dans n&#8217;importe quel ordre. Un d\u00e9veloppeur ne doit pas attendre le travail d\u2019un autre d\u00e9veloppeur pour d\u00e9velopper une nouvelle US.<\/p>\n<h2>Negociable (&#8220;n\u00e9gociable&#8221;)<\/h2>\n<p>Une user story n&#8217;est pas un contrat, mais plut\u00f4t une invitation \u00e0 une conversation. Elle doit \u00eatre flexible et ouverte \u00e0 la discussion et \u00e0 l&#8217;adaptation. L\u2019Analyste Fonctionnel ou le Product Owner pr\u00e9sente toujours chaque US aux d\u00e9veloppeurs, qui propose leurs id\u00e9es pour simplifier et am\u00e9liorer la User Story pour r\u00e9pondre le plus simplement possible au besoin. C\u2019est toujours la valeur ajout\u00e9e qui est au centre de la conversation.<\/p>\n<h2>Valuable (&#8220;valeur&#8221;)<\/h2>\n<p>Chaque user story doit apporter de la valeur \u00e0 l&#8217;utilisateur final ou au client. Si ce n&#8217;est pas le cas, il faut se demander si cette story est n\u00e9cessaire.<\/p>\n<p>Chaque US doit maximiser la valeur apport\u00e9e \u00e0 l\u2019utilisateur. C\u2019est cette notion de valeur qui va permettre au Product Owner de prendre la d\u00e9cision de l&#8217;ordonnancement des User Stories dans le backlog, qui est le listing des US par priorit\u00e9 de d\u00e9veloppement sur lequel se base l\u2019ensemble de l\u2019\u00e9quipe Agile.<\/p>\n<h2>Estimable<\/h2>\n<p>L\u2019\u00e9quipe de d\u00e9veloppement doit \u00eatre en mesure d&#8217;estimer la \u201ctaille\u201d d&#8217;une user story, g\u00e9n\u00e9ralement en termes de temps ou de ressources n\u00e9cessaires pour la mettre en \u0153uvre.<\/p>\n<p>Si une user story n&#8217;est pas estimable, cela peut indiquer qu&#8217;elle est trop grande et qu&#8217;elle doit \u00eatre d\u00e9compos\u00e9e en plusieurs stories plus petites.<\/p>\n<p>En cas de s\u00e9paration de l\u2019US, la plus grande difficult\u00e9 est toujours de garder le caract\u00e8re ind\u00e9pendant des user stories entre elles. C\u2019est le r\u00f4le du Product Owner d\u2019arbitrer ce choix au mieux. Souvent, r\u00e9duire la taille de l\u2019US est plus important, au d\u00e9triment de l\u2019ind\u00e9pendance des US entre elles.<\/p>\n<h2>Small (&#8220;suffisament petit&#8221;)<\/h2>\n<p>Les d\u00e9veloppements en m\u00e9thodologies Agile Scrum sont rythm\u00e9s en Sprint de quelques semaines, p\u00e9riode pendant laquelle l\u2019\u00e9quipe d\u00e9veloppement et de test doit d\u00e9livrer une quantit\u00e9 de user stories d\u00e9finie \u00e0 l\u2019avance.<\/p>\n<p>C\u2019est pourquoi, les user stories doivent \u00eatre assez petites pour pouvoir \u00eatre r\u00e9alis\u00e9es en une it\u00e9ration (sprint). Si elles sont trop grandes, elles doivent \u00eatre d\u00e9compos\u00e9es en plusieurs stories plus petites.<\/p>\n<h2>Testable<\/h2>\n<p>Il doit \u00eatre possible de tester une user story pour v\u00e9rifier qu&#8217;elle a \u00e9t\u00e9 correctement mise en \u0153uvre. Si une story n&#8217;est pas testable, cela peut indiquer qu&#8217;elle n&#8217;est pas suffisamment claire ou sp\u00e9cifique.<\/p>\n<h2>Origine<\/h2>\n<p>L&#8217;acronyme INVEST a \u00e9t\u00e9 cr\u00e9\u00e9 par Bill Wake, un coach en d\u00e9veloppement de logiciels, comme un moyen de rappeler les caract\u00e9ristiques d&#8217;une bonne user story dans le d\u00e9veloppement Agile. Il a pr\u00e9sent\u00e9 cet acronyme pour la premi\u00e8re fois dans un article de 2003 intitul\u00e9 &#8220;<a href=\"https:\/\/xp123.com\/articles\/invest-in-good-stories-and-smart-tasks\/\">INVEST in Good Stories, and SMART Tasks<\/a>&#8220;.<\/p>\n<p>La m\u00e9thode Agile elle-m\u00eame a \u00e9t\u00e9 formalis\u00e9e pour la premi\u00e8re fois en 2001, lorsque 17 d\u00e9veloppeurs de logiciels se sont r\u00e9unis pour cr\u00e9er le Manifeste Agile, un ensemble de principes destin\u00e9s \u00e0 am\u00e9liorer les processus de d\u00e9veloppement de logiciels.<\/p>\n<p>Les user stories, en tant qu&#8217;\u00e9l\u00e9ment cl\u00e9 de plusieurs m\u00e9thodologies Agile, comme Scrum et Extreme Programming (XP), sont devenues une pratique courante dans le d\u00e9veloppement de logiciels peu de temps apr\u00e8s.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.iterates.be\/wp-content\/uploads\/2023\/11\/Capture-decran-2023-11-14-143813.png\" alt=\"\" width=\"259\" height=\"250\" \/><\/p>\n<h2>Conclusion<\/h2>\n<p>Une user story bien construite offre une perspective pr\u00e9cieuse sur les besoins et les d\u00e9sirs de l&#8217;utilisateur final.<\/p>\n<p>En utilisant INVEST, vous pouvez vous assurer que vos user stories seront ind\u00e9pendantes, n\u00e9gociables, source de valeur pour l\u2019utilisateur, estimables, de taille appropri\u00e9e et testables.<\/p>\n<p>Pour en savoir plus sur le d\u00e9veloppement de projet gr\u00e2ce \u00e0 la m\u00e9thode agile, <a href=\"https:\/\/www.iterates.be\/fr\/guide-ultime-pour-comprendre-linternet-des-objets\/\">n&#8217;h\u00e9sitez pas \u00e0 lire notre article pr\u00e9c\u00e9dent<\/a>.<\/p>\n<p>Si vous souhaitez d\u00e9velopper un projet avec des d\u00e9veloppeurs comp\u00e9tents, sachez que <a href=\"https:\/\/www.iterates.be\/fr\/\">iterates<\/a> utilise cette m\u00e9thode et peut vous aider.<\/p>\n<p><a role=\"button\" href=\"https:\/\/cal.com\/rodolphebalay\/it-project-meeting-iterates?duration=30&amp;date=2023-11-14&amp;month=2023-11\"><br \/>\nContact us<br \/>\n<\/a><\/div>\n<p><!-- .vgblk-rw-wrapper --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si vous vous int\u00e9ressez au d\u00e9veloppement de logiciels, vous avez entendu parler des &#8220;user stories&#8221; ou \u201cUS\u201d. Elles sont au c\u0153ur de la m\u00e9thode Agile et elles sont une super fa\u00e7on de se concentrer sur les besoins de l&#8217;utilisateur final. Mais attention, une user story peut rapidement \u00eatre mal r\u00e9dig\u00e9e. Pour \u00eatre vraiment efficaces, elles&#8230;<\/p>\n","protected":false},"author":1,"featured_media":988305,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1243],"tags":[],"class_list":["post-7549","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-conseils-it"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.iterates.be\/fr\/wp-json\/wp\/v2\/posts\/7549","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.iterates.be\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iterates.be\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iterates.be\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iterates.be\/fr\/wp-json\/wp\/v2\/comments?post=7549"}],"version-history":[{"count":0,"href":"https:\/\/www.iterates.be\/fr\/wp-json\/wp\/v2\/posts\/7549\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.iterates.be\/fr\/wp-json\/wp\/v2\/media\/988305"}],"wp:attachment":[{"href":"https:\/\/www.iterates.be\/fr\/wp-json\/wp\/v2\/media?parent=7549"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iterates.be\/fr\/wp-json\/wp\/v2\/categories?post=7549"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iterates.be\/fr\/wp-json\/wp\/v2\/tags?post=7549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}