{"id":1268,"date":"2019-09-05T16:15:10","date_gmt":"2019-09-05T14:15:10","guid":{"rendered":"http:\/\/www.lafabriquedecode.com\/blog\/?p=1268"},"modified":"2019-09-05T16:15:10","modified_gmt":"2019-09-05T14:15:10","slug":"vol-au-dessus-service-informatique","status":"publish","type":"post","link":"http:\/\/www.lafabriquedecode.com\/blog\/2019\/09\/vol-au-dessus-service-informatique\/","title":{"rendered":"Apart\u00e9 &#8211; Vol au dessus d&rsquo;un service informatique"},"content":{"rendered":"<p>Voil\u00e0 quelques ann\u00e9es j&rsquo;\u00e9tais en poste dans une entreprise qui avait command\u00e9 un audit \u00e0 un cabinet d&rsquo;expert afin de proc\u00e9der \u00e0 une r\u00e9organisation. Le but \u00e9tait fort louable : am\u00e9liorer les flux d&rsquo;information entre les services pour que les projets informatiques soient livr\u00e9s \u00e0 temps, conformes aux sp\u00e9cifications et sans bugs. A cette occasion, j&rsquo;avais r\u00e9dig\u00e9 un petit m\u00e9mo \u00e0 l&rsquo;intention des auditeurs&#8230;Il est finalement rest\u00e9 sur un disque dur et je ne suis retomb\u00e9 dessus que tout r\u00e9cemment.<\/p>\n<p>Vous reconna\u00eetrez certainement des mauvaises habitudes qui ont cours dans votre entreprise car ces maux l\u00e0 sont h\u00e9las g\u00e9n\u00e9riques !<\/p>\n<h1>Chronique d&rsquo;un \u00e9chec annonc\u00e9<\/h1>\n<p>Tout d&rsquo;abord j&rsquo;\u00e9voquais dans ce document le pass\u00e9 du service&#8230;j&rsquo;aurais pu tout aussi bien parler de <strong>PASSIF<\/strong> !<\/p>\n<ul>\n<li>L&rsquo;\u00e9quipe pr\u00e9c\u00e9dente, compos\u00e9e de 2 \u00e0 3 personnes, avait d\u00e9velopp\u00e9 \u00e0 la h\u00e2te un site truff\u00e9 de bugs, elle avait \u00e9t\u00e9 int\u00e9gralement remerci\u00e9e par la direction et nous avions \u00e9t\u00e9 recrut\u00e9s pour colmater les br\u00e8ches et \u00e9teindre les incendies (XSS, injections SQL, mots de passes en clair et j&rsquo;en passe) qui se d\u00e9claraient sur le site au fur et \u00e0 mesure que nous d\u00e9couvrions le code \u00e9crit (rien n&rsquo;\u00e9tait document\u00e9).<\/li>\n<li>Les d\u00e9lais de d\u00e9veloppement \u00e9taient sous-estim\u00e9s pour faire plaisir aux services concern\u00e9s. On appelle \u00e7a \u00ab\u00a0vendre du r\u00eave\u00a0\u00bb. Le r\u00eave est vite d\u00e9\u00e7u.<\/li>\n<\/ul>\n<p>La cons\u00e9quence de tout \u00e7a a \u00e9t\u00e9 la totale absence de cr\u00e9dibilit\u00e9 des d\u00e9veloppeurs qui passaient grosso modo pour un ramassis de fumistes incomp\u00e9tents. Parfois un \u00ab\u00a0Pourquoi \u00e7a prend si longtemps ? La pr\u00e9c\u00e9dente \u00e9quipe le faisait en 10 secondes !\u00a0\u00bb fusait, signifiant que le chemin \u00e9tait encore long vers la compr\u00e9hension du fonctionnement normal d&rsquo;un service informatique. Il fallait alors r\u00e9pondre calmement \u00ab\u00a0Certes, mais vous avez vu ce que \u00e7a a donn\u00e9 !\u00a0\u00bb pour obtenir un silence g\u00ean\u00e9 et contrit.<\/p>\n<h1>Les origines de la d\u00e9motivation ou comment saborder un service en quelques le\u00e7ons<\/h1>\n<ul>\n<li>Le <strong>pair programming<\/strong> \u00e9tait la r\u00e8gle, les bin\u00f4mes changeaient toutes les deux semaines&#8230;trop court !<\/li>\n<li>Embauch\u00e9s pour faire du Symfony 2, les d\u00e9veloppeurs se retrouvaient \u00e0 corriger des bugs en PHP pur ou des requ\u00eates SQL \u00e0 longueur de journ\u00e9e. \u00ab\u00a0Bient\u00f4t vous passerez sur des nouveaux projets !\u00a0\u00bb. Mais oui&#8230;<\/li>\n<li>\u00ab\u00a0Il est urgent d&rsquo;attendre\u00a0\u00bb \u00e9tait la r\u00e8gle: \u00ab\u00a0Attendez l&rsquo;arriv\u00e9e du nouveau DSI !\u00a0\u00bb, \u00ab\u00a0Attendez la r\u00e9org&rsquo; !\u00a0\u00bb&#8230;Le feu ravageait le front, les projets naviguaient \u00e0 vue et il fallait attendre sans cesse.<\/li>\n<li>Les ambitions mais surtout les comp\u00e9tences des d\u00e9veloppeurs \u00e9taient pour le moins vari\u00e9es&#8230;certains refusaient de se remettre en question techniquement et livraient du <strong>junk code<\/strong> par bennes enti\u00e8res, ces <strong>trashers<\/strong> herm\u00e9tiques \u00e0 l&rsquo;\u00e9volution nuisaient grandement \u00e0 la qualit\u00e9 du code produit et les bons en avaient marre de payer pour les dilettantes&#8230;<\/li>\n<li>Certains d\u00e9veloppeurs ont tent\u00e9 d&rsquo;introduire le TDD, SCRUM, les tests unitaires et fonctionnels. On leur a gentiment fait comprendre que c&rsquo;\u00e9tait sympa tout \u00e7a mais qu&rsquo;on avait pas le temps pour le moment. Mais promis plus tard on s&rsquo;y int\u00e9ressera&#8230; <\/li>\n<\/ul>\n<h1>Chacun sa place<\/h1>\n<ul>\n<li>Pourquoi le marketing continue de venir voir en douce les d\u00e9veloppeurs alors que des chefs de projets ont \u00e9t\u00e9 embauch\u00e9s ?<\/li>\n<li>Pourquoi les specs sont-elles encore dict\u00e9es \u00e0 la machine \u00e0 caf\u00e9, sur un coin de table ou entre deux portes alors que des process ont \u00e9t\u00e9 mis en place, souvent apr\u00e8s de longues n\u00e9gociations avec toutes les parties concern\u00e9es ? L&rsquo;impatience, le syndrome du gamin frustr\u00e9 qui n&rsquo;a pas ce qu&rsquo;il veut dans la seconde&#8230;<\/li>\n<li>Les 320 allers-retours entre le marketing et le service info d\u00e9motive les d\u00e9veloppeurs, qui sont bien incapables de dire quelle t\u00e2che ils auront \u00e0 effectuer le lendemain, ni m\u00eame si le projet sera poursuivi ou abandonn\u00e9 (combien de dizaines de milliers d&rsquo;euros ont \u00e9t\u00e9 foutus \u00e0 la poubelle parce que finalement \u00ab\u00a0ce projet n&rsquo;est plus prioritaire\u00a0\u00bb ?)<\/li>\n<li>Les demandeurs pensent QUANTIT\u00c9, les d\u00e9veloppeurs aimeraient faire de la QUALIT\u00c9 ! Ils se sentiraient bien mieux et auraient davantage envie de s&rsquo;impliquer !<\/li>\n<\/ul>\n<h1>Vous reprendrez bien du GIGO (Garbage In, Garbage Out) ?<\/h1>\n<p>Traduction fran\u00e7aise : On ne r\u00e9colte que ce que l&rsquo;on s\u00e8me ! Des sp\u00e9cifications floues donnent du code bancal et donc difficile \u00e0 maintenir et encore plus \u00e0 faire \u00e9voluer. On ne perd pas son temps en r\u00e9digeant une demande claire, on perd 10 fois plus de temps quand il faut r\u00e9usiner un plat de spaghetti que m\u00eame Chuck Norris ne saurait d\u00e9m\u00ealer.<\/p>\n<p>Quelques portes ouvertes \u00e0 enfoncer :<\/p>\n<ul>\n<li>Coder c&rsquo;est cool, tester c&rsquo;est encore mieux ! Il nous est arriv\u00e9 de tester en Prod ! Pourquoi ?<\/li>\n<li>Mal sp\u00e9cifier c&rsquo;est faire perdre du temps et donc de l&rsquo;argent \u00e0 sa bo\u00eete ! C&rsquo;est provoquer de nombreux aller-retours qui font passer chaque service pour un ramassis de clowns<\/li>\n<li>Le changement est bien mieux encaiss\u00e9 par les d\u00e9veloppeurs quand il n&rsquo;a pas lieu 10 fois par jour !<\/li>\n<li>Un interlocuteur et pas 25 ! Pourquoi Tic vient 5 minutes apr\u00e8s Tac dire tout le contraire de ce sur quoi nous nous sommes mis d&rsquo;accord apr\u00e8s d&rsquo;\u00e2pres n\u00e9gociations ?<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Voil\u00e0 quelques ann\u00e9es j&rsquo;\u00e9tais en poste dans une entreprise qui avait command\u00e9 un audit \u00e0 un cabinet d&rsquo;expert afin de proc\u00e9der \u00e0 une r\u00e9organisation. Le but \u00e9tait fort louable : am\u00e9liorer les flux d&rsquo;information entre les services pour que les projets informatiques soient livr\u00e9s \u00e0 temps, conformes aux sp\u00e9cifications et sans bugs. A cette occasion, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[40,29],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.6.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Apart\u00e9 - Vol au dessus d&#039;un service informatique - La Fabrique de code - Tech blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.lafabriquedecode.com\/blog\/2019\/09\/vol-au-dessus-service-informatique\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apart\u00e9 - Vol au dessus d&#039;un service informatique - La Fabrique de code - Tech blog\" \/>\n<meta property=\"og:description\" content=\"Voil\u00e0 quelques ann\u00e9es j&rsquo;\u00e9tais en poste dans une entreprise qui avait command\u00e9 un audit \u00e0 un cabinet d&rsquo;expert afin de proc\u00e9der \u00e0 une r\u00e9organisation. Le but \u00e9tait fort louable : am\u00e9liorer les flux d&rsquo;information entre les services pour que les projets informatiques soient livr\u00e9s \u00e0 temps, conformes aux sp\u00e9cifications et sans bugs. A cette occasion, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.lafabriquedecode.com\/blog\/2019\/09\/vol-au-dessus-service-informatique\/\" \/>\n<meta property=\"og:site_name\" content=\"La Fabrique de code - Tech blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-09-05T14:15:10+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary\" \/>\n<meta name=\"twitter:creator\" content=\"@LaFabrique2Code\" \/>\n<meta name=\"twitter:site\" content=\"@LaFabrique2Code\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/2019\/09\/vol-au-dessus-service-informatique\/\",\"url\":\"http:\/\/www.lafabriquedecode.com\/blog\/2019\/09\/vol-au-dessus-service-informatique\/\",\"name\":\"Apart\u00e9 - Vol au dessus d'un service informatique - La Fabrique de code - Tech blog\",\"isPartOf\":{\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#website\"},\"datePublished\":\"2019-09-05T14:15:10+00:00\",\"dateModified\":\"2019-09-05T14:15:10+00:00\",\"author\":{\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/83863c048b82fd9ccf6407bddd241162\"},\"breadcrumb\":{\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/2019\/09\/vol-au-dessus-service-informatique\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.lafabriquedecode.com\/blog\/2019\/09\/vol-au-dessus-service-informatique\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/2019\/09\/vol-au-dessus-service-informatique\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"http:\/\/www.lafabriquedecode.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apart\u00e9 &#8211; Vol au dessus d&rsquo;un service informatique\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#website\",\"url\":\"http:\/\/www.lafabriquedecode.com\/blog\/\",\"name\":\"La Fabrique de code - Tech blog\",\"description\":\"PHP objet, MySQL, Design Patterns, OOP...et plus !\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/www.lafabriquedecode.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/83863c048b82fd9ccf6407bddd241162\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/0.gravatar.com\/avatar\/fc2e1de7c8a1871b50ff9c6a6f8682a2?s=96&d=retro&r=g\",\"contentUrl\":\"http:\/\/0.gravatar.com\/avatar\/fc2e1de7c8a1871b50ff9c6a6f8682a2?s=96&d=retro&r=g\",\"caption\":\"admin\"},\"url\":\"http:\/\/www.lafabriquedecode.com\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apart\u00e9 - Vol au dessus d'un service informatique - La Fabrique de code - Tech blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/www.lafabriquedecode.com\/blog\/2019\/09\/vol-au-dessus-service-informatique\/","og_locale":"fr_FR","og_type":"article","og_title":"Apart\u00e9 - Vol au dessus d'un service informatique - La Fabrique de code - Tech blog","og_description":"Voil\u00e0 quelques ann\u00e9es j&rsquo;\u00e9tais en poste dans une entreprise qui avait command\u00e9 un audit \u00e0 un cabinet d&rsquo;expert afin de proc\u00e9der \u00e0 une r\u00e9organisation. Le but \u00e9tait fort louable : am\u00e9liorer les flux d&rsquo;information entre les services pour que les projets informatiques soient livr\u00e9s \u00e0 temps, conformes aux sp\u00e9cifications et sans bugs. A cette occasion, [&hellip;]","og_url":"http:\/\/www.lafabriquedecode.com\/blog\/2019\/09\/vol-au-dessus-service-informatique\/","og_site_name":"La Fabrique de code - Tech blog","article_published_time":"2019-09-05T14:15:10+00:00","author":"admin","twitter_card":"summary","twitter_creator":"@LaFabrique2Code","twitter_site":"@LaFabrique2Code","twitter_misc":{"\u00c9crit par":"admin","Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/www.lafabriquedecode.com\/blog\/2019\/09\/vol-au-dessus-service-informatique\/","url":"http:\/\/www.lafabriquedecode.com\/blog\/2019\/09\/vol-au-dessus-service-informatique\/","name":"Apart\u00e9 - Vol au dessus d'un service informatique - La Fabrique de code - Tech blog","isPartOf":{"@id":"http:\/\/www.lafabriquedecode.com\/blog\/#website"},"datePublished":"2019-09-05T14:15:10+00:00","dateModified":"2019-09-05T14:15:10+00:00","author":{"@id":"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/83863c048b82fd9ccf6407bddd241162"},"breadcrumb":{"@id":"http:\/\/www.lafabriquedecode.com\/blog\/2019\/09\/vol-au-dessus-service-informatique\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.lafabriquedecode.com\/blog\/2019\/09\/vol-au-dessus-service-informatique\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/www.lafabriquedecode.com\/blog\/2019\/09\/vol-au-dessus-service-informatique\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"http:\/\/www.lafabriquedecode.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Apart\u00e9 &#8211; Vol au dessus d&rsquo;un service informatique"}]},{"@type":"WebSite","@id":"http:\/\/www.lafabriquedecode.com\/blog\/#website","url":"http:\/\/www.lafabriquedecode.com\/blog\/","name":"La Fabrique de code - Tech blog","description":"PHP objet, MySQL, Design Patterns, OOP...et plus !","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.lafabriquedecode.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/83863c048b82fd9ccf6407bddd241162","name":"admin","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/image\/","url":"http:\/\/0.gravatar.com\/avatar\/fc2e1de7c8a1871b50ff9c6a6f8682a2?s=96&d=retro&r=g","contentUrl":"http:\/\/0.gravatar.com\/avatar\/fc2e1de7c8a1871b50ff9c6a6f8682a2?s=96&d=retro&r=g","caption":"admin"},"url":"http:\/\/www.lafabriquedecode.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/posts\/1268"}],"collection":[{"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/comments?post=1268"}],"version-history":[{"count":5,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/posts\/1268\/revisions"}],"predecessor-version":[{"id":1273,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/posts\/1268\/revisions\/1273"}],"wp:attachment":[{"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/media?parent=1268"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/categories?post=1268"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/tags?post=1268"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}