{"id":82739,"date":"2018-12-11T21:16:00","date_gmt":"2018-12-12T02:16:00","guid":{"rendered":"https:\/\/www.applause.com\/blog\/developpement-agile-faire-pousser\/"},"modified":"2025-07-21T11:22:01","modified_gmt":"2025-07-21T15:22:01","slug":"developpement-agile-faire-pousser","status":"publish","type":"post","link":"https:\/\/www.applause.com\/fr\/blog\/developpement-agile-faire-pousser\/","title":{"rendered":"D\u00e9veloppement Agile : faire pousser le logiciel plut\u00f4t que le construire"},"content":{"rendered":"<div class=\"et_pb_section_0 et_pb_section et_section_regular et_flex_section preset--module--divi-section--31615dad-3f88-477f-a866-c2b40c889be5\"><div class=\"et_pb_row_0 et_pb_row et_flex_row\"><div class=\"et_pb_column_0 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone et_flex_column_24_24_phoneWide et_flex_column_24_24_tabletWide et_flex_column_24_24_widescreen et_flex_column_24_24_ultraWide\"><div class=\"et_pb_text_0 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module preset--group--divi-text--divi-font-body--default preset--group--divi-text--divi-font-header--h1y3ko5--default preset--group--divi-text--divi-font-body--h19rs5u--default preset--group--divi-text--divi-font-body--h1yjkjr--default preset--module--divi-text--4564d33f-bb24-4931-8445-a739e42249ca\"><div class=\"et_pb_text_inner\"><h1>D\u00e9veloppement Agile : faire pousser le logiciel plut\u00f4t que le construire<\/h1>\n<p>On compare souvent la cr\u00e9ation d\u2019un logiciel \u00e0 un processus de construction, par exemple \u00e0 la construction d\u2019une maison. Je vous propose d\u2019explorer une autre analogie bien plus appropri\u00e9e : celle de faire pousser, comme on fait pousser une plante ou un arbre.<\/p>\n<p>La construction de logiciel est un terme utilis\u00e9 tr\u00e8s couramment par de nombreux outils comme les compilateurs ou les cha\u00eenes d\u2019int\u00e9gration et de livraison continue. La reproductibilit\u00e9 est au coeur de ces outils : en l\u2019absence de changement, ils doivent imp\u00e9rativement g\u00e9n\u00e9rer le m\u00eame r\u00e9sultat. On parle d\u2019ailleurs d\u2019usine logicielle.<\/p>\n<p>Il ne faut cependant pas confondre ces outils avec le processus de d\u00e9veloppement, que l\u2019on peut aussi appeler travail d\u2019architecture ou encore conception logicielle.\u00a0<strong>Pour le coup, le processus de d\u00e9veloppement agile partage plus de points communs avec l\u2019action de faire pousser une plante qu\u2019avec celle de construire une maison.<\/strong><\/p>\n<p>En effet, parler de construction correspond tout \u00e0 fait \u00e0 l\u2019approche traditionnelle en cascade ou en cycle en V :<\/p>\n<ul>\n<li>On d\u00e9finit en amont ce qui sera construit, et comment cela sera construit<\/li>\n<li>On proc\u00e8de \u00e9tape par \u00e9tape, en se concentrant sur des composants et en laissant l\u2019int\u00e9gration pour la fin<\/li>\n<li>Globalement, cela fonctionne parce que le sujet est tr\u00e8s bien connu et hautement reproductible<\/li>\n<\/ul>\n<p>\u00c0 l\u2019oppos\u00e9, le d\u00e9veloppement logiciel n\u00e9cessite g\u00e9n\u00e9ralement des m\u00e9thodes Agile ou a minima des m\u00e9thodes de d\u00e9veloppement incr\u00e9mental et it\u00e9ratif. Dans ce cas-l\u00e0, faire pousser correspond beaucoup mieux :<\/p>\n<ul>\n<li>On ne sait pas avant de commencer \u00e0 quoi ressemblera le r\u00e9sultat final ; tout le processus de d\u00e9veloppement s\u2019adaptera en cours de route<\/li>\n<li>On va essayer de faire fonctionner le plus t\u00f4t possible un sc\u00e9nario de bout en bout afin de pouvoir collecter rapidement des retours<\/li>\n<li>Globalement, cela fonctionne parce que le processus accepte et prend en compte le fait que l\u2019on ne sait pas o\u00f9 l\u2019on va<\/li>\n<\/ul>\n<figure><picture title=\"equipe-developpement-agile-adopte-approche-faire-pousser\"><source srcset=\"https:\/\/www.applause.com\/wp-content\/uploads\/equipe-agile-projets-developpement-logiciel.jpg.webp\" type=\"image\/webp\" \/><img decoding=\"async\" src=\"https:\/\/www.applause.com\/wp-content\/uploads\/equipe-agile-projets-developpement-logiciel.jpg\" alt=\"equipe-developpement-agile-adopte-approche-faire-pousser\" \/><\/picture><\/figure>\n<h3><strong>Construire VS. faire pousser : une question de\u00a0<em>mindset<\/em><\/strong><\/h3>\n<p>Au quotidien, on peut parler de\u00a0<em>mindset\u00a0<\/em>: la diff\u00e9rence entre construire et faire pousser est tr\u00e8s profonde.<\/p>\n<h4><strong>Retarder la prise de d\u00e9cision<\/strong><\/h4>\n<p>Dans une approche o\u00f9 l\u2019on construit un logiciel, l\u2019id\u00e9e est de d\u00e9finir le maximum de facteurs le plus t\u00f4t possible. \u00c0 l\u2019inverse, dans une approche o\u00f9 l\u2019on fait pousser le logiciel, on va plut\u00f4t essayer de prendre le maximum de d\u00e9cisions le plus tard possible.<\/p>\n<p>Cette diff\u00e9rence fondamentale se refl\u00e8te dans tous les corps de m\u00e9tiers :<\/p>\n<h4><strong>1. Le d\u00e9veloppeur<\/strong><\/h4>\n<p>Le d\u00e9veloppeur, plut\u00f4t que de concevoir une architecture principalement destin\u00e9e \u00e0 r\u00e9pondre au besoin connu d\u00e8s le d\u00e9but du projet, va favoriser une architecture qui pourra \u00e9voluer au fil du temps et s\u2019accommoder de changements de besoin.<\/p>\n<p>C\u2019est ainsi qu\u2019il va favoriser des grands principes comme YAGNI (<em>You Aren\u2019t Gonna Need It<\/em>\u00a0\u2013 \u201cVous n\u2019en n\u2019aurez pas besoin\u201d) qui consiste \u00e0 ne coder que le strict minimum pour le besoin connu aujourd\u2019hui, ou encore le Design \u00c9mergent, o\u00f9 l\u2019architecture est con\u00e7ue au fil de l\u2019eau via l\u2019\u00e9mergence des solutions plut\u00f4t qu\u2019en pr\u00e9voyant en amont \u00e0 quoi pourrait ressembler l\u2019architecture.<\/p>\n<p>Plus globalement, c\u2019est bien la capacit\u00e9 d\u2019adaptation du code qui prime avant tout. Il n\u2019est pas utile de pr\u00e9voir des points d\u2019extension partout dans le code (car YAGNI !) mais il est essentiel de pouvoir remplacer individuellement chaque morceau de code pour faire face aux besoins futurs.<\/p>\n<p>Cons\u00e9quence directe : les changements radicaux et fr\u00e9quents de direction du produit peuvent \u00eatre pris en compte sans que cela ne soit un cauchemar pour le d\u00e9veloppeur. Tout est fait pour pouvoir suivre les \u00e9volutions du besoin.<\/p>\n<blockquote class=\"blog-quote \">\n<div class=\"quote-container\">\n<p class=\"quote-text\">Dans une approche o\u00f9 l\u2019on fait pousser le logiciel, le d\u00e9veloppeur va favoriser une architecture qui pourra \u00e9voluer au fil du temps et s\u2019accommoder de changements de besoin.<\/p>\n<\/div>\n<\/blockquote>\n<h4><strong>2. Le Product Owner \/ Product Manager<\/strong><\/h4>\n<p>De la m\u00eame mani\u00e8re, le Product Owner (ou le Product Manager selon votre organisation) va adapter sa mani\u00e8re de travailler. Plut\u00f4t que d\u2019imaginer une solution hypoth\u00e9tiquement id\u00e9ale d\u00e8s le d\u00e9but du projet, il va partir sur une solution minimale qui permet de sonder le besoin (le fameux MVP) puis it\u00e9rer dessus \u00e0 partir des retours continus des utilisateurs.<\/p>\n<p>Au quotidien, le PO\/PM va concevoir des fonctionnalit\u00e9s les plus petites possibles et les tester avant de les faire \u00e9voluer \u2014 les faire pousser.<\/p>\n<p>Le mot d\u2019ordre est bien de se dire \u201cvous ne savez rien\u201d :\u00a0<strong>la seule v\u00e9rit\u00e9 est entre les mains des utilisateurs<\/strong>. Il faut donc trouver le moyen de toucher ces utilisateurs le plus vite possible \u2013 tout comme une graine va essayer de capter le soleil au plus vite avant de se renforcer et r\u00e9ellement grandir. Sans retour utilisateur, vous travaillez dans le vide : vous utilisez votre \u00e9nergie limit\u00e9e pour aller dans une direction qui ne sert peut-\u00eatre \u00e0 rien.<\/p>\n<figure><picture><source srcset=\"https:\/\/www.applause.com\/wp-content\/uploads\/jardinage-faire-pousser-plante.jpg.webp\" type=\"image\/webp\" \/><img decoding=\"async\" src=\"https:\/\/www.applause.com\/wp-content\/uploads\/jardinage-faire-pousser-plante.jpg\" alt=\"personne tenant une plante\" \/><\/picture><\/figure>\n<h3><strong>Cette approche s\u2019applique-t-elle \u00e0 tous les cas de figure?<\/strong><\/h3>\n<p>Vous vous demandez peut-\u00eatre si cette approche ne s\u2019applique qu\u2019au d\u00e9veloppement de site web et autres applications destin\u00e9es \u00e0 nos ordinateurs et t\u00e9l\u00e9phones.<\/p>\n<p>Pour r\u00e9pondre \u00e0 cette question, regardons de plus pr\u00e8s ce qui se cache derri\u00e8re le mot logiciel\u2026<\/p>\n<h4><strong>Le logiciel, omnipr\u00e9sent dans notre quotidien<\/strong><\/h4>\n<p>Vous avez certainement d\u00e9j\u00e0 entendu cette c\u00e9l\u00e8bre phrase :\u00a0<em>\u201cSoftware is eating the world\u201d<\/em><\/p>\n<p>\u00c0 chaque ann\u00e9e qui passe, cette phrase continue d\u2019\u00eatre toujours plus vraie : le logiciel est partout. Aujourd\u2019hui, tous les appareils \u00e9lectriques sont pilot\u00e9s par un microprocesseur et du logiciel. Les appareils qui autrefois n\u2019\u00e9taient que m\u00e9caniques sont d\u00e9sormais remplac\u00e9s par des bijoux de technologie avec en leur coeur du logiciel.<\/p>\n<p>Il y a une excellente raison \u00e0 cela : \u00e9crire du logiciel est devenu nettement moins co\u00fbteux, justement parce que cela permet une flexibilit\u00e9 sans pr\u00e9c\u00e9dent. M\u00eame si une fois en production le code ne changera jamais \u2014 en termes techniques : le firmware de l\u2019appareil ne sera jamais mis \u00e0 jour \u2014 le co\u00fbt du d\u00e9veloppement de la logique de l\u2019appareil avant sa mise en production se retrouve r\u00e9duit drastiquement par l\u2019utilisation de logiciel.<\/p>\n<p>Sans l\u2019ombre d\u2019un doute, faire pousser du logiciel plut\u00f4t que de le construire s\u2019applique \u00e0 toutes les sortes de logiciels, et pas uniquement ceux destin\u00e9s \u00e0 nos ordinateurs et t\u00e9l\u00e9phones.<\/p>\n<hr \/>\n<p><strong><em>Apprenez-en plus sur le\u00a0<a role=\"link\">testing agile<\/a><\/em><\/strong><\/p>\n<hr \/>\n<h4><strong>Une r\u00e9volution : la g\u00e9n\u00e9ralisation de la flexibilit\u00e9 du logiciel<\/strong><\/h4>\n<p>Et cela ne s\u2019arr\u00eate pas l\u00e0 ! Depuis longtemps la CAD (<em>computer-assisted design<\/em>) ou CAO en fran\u00e7ais (conception assist\u00e9e par ordinateur) permettent de concevoir un objet physique sous une forme num\u00e9rique, et donc de pouvoir it\u00e9rer dessus rapidement et \u00e0 faible co\u00fbt. Plus r\u00e9cent, l\u2019impression 3D permet de continuer cette approche et de la mener encore bien plus loin : faire des prototypes, collecter des retours utilisateurs et it\u00e9rer est devenu abordable et accessible.<\/p>\n<p>Rappelons d\u2019o\u00f9 vient la distinction entre soft- et hard- ware : il est facile de changer le logiciel (<em>software<\/em>) contrairement au mat\u00e9riel (<em>hardware<\/em>). Finalement, gr\u00e2ce \u00e0 l\u2019impression 3D, le mat\u00e9riel devient du software, qu\u2019on peut changer facilement.<\/p>\n<p>Dit autrement, les approches de d\u00e9veloppement \u00e0 l\u2019origine adapt\u00e9es au logiciel sont d\u00e9sormais naturellement adapt\u00e9es \u00e0 la conception d\u2019objets physiques : il ne fait aucun doute que d\u00e9sormais il faut privil\u00e9gier l\u2019approche de faire pousser plut\u00f4t que celle de construire.<\/p>\n<figure><picture><source srcset=\"https:\/\/www.applause.com\/wp-content\/uploads\/plantes-qui-poussent.jpg.webp\" type=\"image\/webp\" \/><img decoding=\"async\" src=\"https:\/\/www.applause.com\/wp-content\/uploads\/plantes-qui-poussent.jpg\" alt=\"rang\u00e9es de plantes\" \/><\/picture><\/figure>\n<h3><strong>Conclusion : favorisez l\u2019adaptation plut\u00f4t que le suivi d\u2019un plan<\/strong><\/h3>\n<p>Finalement, faire pousser le logiciel revient \u00e0 adapter le processus de d\u00e9veloppement \u00e0 la nature m\u00eame de celui-ci : versatile, flexible, facile \u00e0 mettre \u00e0 jour. Cet \u00e9tat d\u2019esprit est primordial et se retrouve dans la fa\u00e7on de travailler de chaque membre de l\u2019\u00e9quipe : au lieu de d\u00e9finir tous les param\u00e8tres d\u00e8s le d\u00e9but, on favorise l\u2019\u00e9volution et l\u2019adaptation au fil du temps.<\/p>\n<p><strong>Comment s\u2019y prendre en pratique ?<\/strong>\u00a0<a role=\"link\" href=\"https:\/\/www.applause.com\/fr\/blog\/developpement-agile-faire-pousser\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Le second article se concentre sur la mise en place concr\u00e8te dans vos projets et produits.<\/strong><\/a><\/p>\n<\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>La comparaison entre le d\u00e9veloppement logiciel et le r\u00e8gne biologique est \u00e9difiante.<\/p>\n","protected":false},"author":42,"featured_media":133895,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[281],"tags":[983],"resource-industry":[],"resource-solution":[],"resources\/types":[1242],"class_list":["post-82739","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-non-classifiee","tag-agile","resource-type-blogues"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.applause.com\/fr\/wp-json\/wp\/v2\/posts\/82739","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.applause.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.applause.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.applause.com\/fr\/wp-json\/wp\/v2\/users\/42"}],"replies":[{"embeddable":true,"href":"https:\/\/www.applause.com\/fr\/wp-json\/wp\/v2\/comments?post=82739"}],"version-history":[{"count":0,"href":"https:\/\/www.applause.com\/fr\/wp-json\/wp\/v2\/posts\/82739\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.applause.com\/fr\/wp-json\/wp\/v2\/media\/133895"}],"wp:attachment":[{"href":"https:\/\/www.applause.com\/fr\/wp-json\/wp\/v2\/media?parent=82739"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.applause.com\/fr\/wp-json\/wp\/v2\/categories?post=82739"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.applause.com\/fr\/wp-json\/wp\/v2\/tags?post=82739"},{"taxonomy":"resource-industry","embeddable":true,"href":"https:\/\/www.applause.com\/fr\/wp-json\/wp\/v2\/resource-industry?post=82739"},{"taxonomy":"resource-solution","embeddable":true,"href":"https:\/\/www.applause.com\/fr\/wp-json\/wp\/v2\/resource-solution?post=82739"},{"taxonomy":"resource-type","embeddable":true,"href":"https:\/\/www.applause.com\/fr\/wp-json\/wp\/v2\/resources\/types?post=82739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}