{"id":394,"date":"2009-09-01T10:36:40","date_gmt":"2009-09-01T08:36:40","guid":{"rendered":"http:\/\/www.do-as-i-say.com\/notes\/?p=394"},"modified":"2012-12-06T08:22:29","modified_gmt":"2012-12-06T06:22:29","slug":"le-mythe-de-la-parallelisation","status":"publish","type":"post","link":"https:\/\/www.do-as-i-say.com\/notes\/2009\/09\/le-mythe-de-la-parallelisation\/","title":{"rendered":"Le mythe de la parall\u00e9lisation"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-442\" style=\"border: 1px solid black;\" title=\"Les parall\u00e8les \u00e7a peut se croiser\" src=\"http:\/\/www.do-as-i-say.com\/notes\/wp-content\/uploads\/courbure-150x150.jpg\" alt=\"Les parall\u00e8les \u00e7a peut se croiser\" width=\"128\" height=\"128\" srcset=\"https:\/\/www.do-as-i-say.com\/notes\/wp-content\/uploads\/courbure-150x150.jpg 150w, https:\/\/www.do-as-i-say.com\/notes\/wp-content\/uploads\/courbure.jpg 220w\" sizes=\"auto, (max-width: 128px) 100vw, 128px\" \/>Le monde du travail et du service est depuis des temps imm\u00e9moriaux divis\u00e9 en deux cat\u00e9gories distinctes,  structurantes mais non exclusives : les <em>clients<\/em> et les <em>prestataires<\/em>. Dans la pub, et souvent le web par extension, on dit les <em>annonceurs<\/em> et les <em>agences<\/em>, et \u00e7a revient \u00e0 peu pr\u00e8s au m\u00eame.<\/p>\n<p>Quand vous faites partie du second groupe, ou quand vous travaillez dans le d\u00e9veloppement d&rsquo;applications, vous apprenez rapidement qu&rsquo;il existe, au-del\u00e0 de l&rsquo;heure, du jour, de la semaine, une unit\u00e9 de mesure capitale : le <strong>jour-homme. <\/strong><\/p>\n<p><strong><!--more--><\/strong><\/p>\n<p>Je me dis depuis quelque temps qu&rsquo;on pourrait m\u00eame ent\u00e9riner un nouveau mot : le \u00ab\u00a0jourhomme\u00a0\u00bb, que la r\u00e9forme de l&rsquo;ortografe transformerait en \u00ab\u00a0jourome\u00a0\u00bb, et \u00e7a serait sympa. Sans parler bien s\u00fbr du <em>jourfemme <\/em>qui devra exister imp\u00e9rativement. Mais je m&rsquo;\u00e9gare.<\/p>\n<p>Comme son nom l&rsquo;indique presque, le jour-homme correspond au travail d&rsquo;une personne pendant une journ\u00e9e. Ca fait beaucoup rire nos amis anglo-saxons de nous voir utiliser une telle mesure qui passe sous silence toute discussion \u00e9ventuelle sur la valeur du r\u00e9f\u00e9rent&#8230; Il nous faut alors leur expliquer  que par chez nous, la dur\u00e9e \u00ab\u00a0officielle\u00a0\u00bb d&rsquo;une journ\u00e9e de travail est de 8 heures, m\u00eame s&rsquo;il s&rsquo;agit en fait d&rsquo;une dur\u00e9e admise comme standard &#8211; avec toutes les \u00e9lasticit\u00e9s bien commodes que \u00e7a implique, et qui permettent de faire au besoin rentrer deux \u00ab\u00a0jours\u00a0\u00bb en une journ\u00e9e (ben oui, il suffit de travailler de 8h \u00e0 minuit, fastoche).<\/p>\n<p>Quand on estime une charge de travail, on la chiffre donc en jours-homme.<br \/>\nEn g\u00e9n\u00e9ral, on colle \u00e7a apr\u00e8s dans un calendrier (avec ou sans l&rsquo;aide de certains logiciels pas lourds du tout dont le nom commence par \u00ab\u00a0pro\u00a0\u00bb et se termine par \u00ab\u00a0ject\u00a0\u00bb), et \u00e7a nous donne un planning, autrement dit une repr\u00e9sentation dans le temps de la vie des vraies gens, week-end et autres jours ch\u00f4m\u00e9s inutiles pris en compte.<br \/>\nIl est \u00e9tonnant de remarquer \u00e0 quelle vitesse on finit \u00e0 force de faire cet exercice par penser en multiples de 5, et par assimiler 1 mois au chiffre 20 (ce qui est par ailleurs souvent inexact, mais bon, \u00e0 la louchasse, c&rsquo;est \u00e7a). On met en g\u00e9n\u00e9ral plus de temps \u00e0 int\u00e9grer comme un r\u00e9flexe le calcul inconscient de marges de s\u00e9curit\u00e9 cons\u00e9quentes (de 20 \u00e0 50%).<\/p>\n<p>Toujours est-il qu&rsquo;\u00e0 l&rsquo;arriv\u00e9e, on pr\u00e9sente au client un planning, dans lequel il ne regarde en g\u00e9n\u00e9ral qu&rsquo;une seule date, celle de la <em>livraison. <\/em>C&rsquo;est le moment o\u00f9 il fait des grands yeux, voire devient livide, voire s&rsquo;\u00e9nerve, voire tout \u00e7a en m\u00eame temps ou dans un ordre al\u00e9atoire.<\/p>\n<p>Mais, tenez-vous bien, <em>\u00e7a n&rsquo;est pas grave<\/em>. Pourquoi ? Tout simplement parce qu&rsquo;on va pouvoir <strong>optimiser<\/strong><sup>[<a href=\"https:\/\/www.do-as-i-say.com\/notes\/2009\/09\/le-mythe-de-la-parallelisation\/#footnote_0_394\" id=\"identifier_0_394\" class=\"footnote-link footnote-identifier-link\" title=\"Note : quand un client dit \u00ab\u00a0optimiser\u00a0\u00bb, il veut en fait dire \u00ab\u00a0faire plus et\/ou plus vite et\/ou moins cher\u00a0\u00bb ; en g\u00e9n\u00e9ral les trois.\">1<\/a>]<\/sup> le planning. Et c&rsquo;est quoi la solution magique pour <em>optimiser le planning<\/em> ?<\/p>\n<p>Oui, vous avez trouv\u00e9 : <strong>la parall\u00e9lisation<\/strong>.<\/p>\n<p>La parall\u00e9lisation, c&rsquo;est cette bonne id\u00e9e qui consiste \u00e0 dire qu&rsquo;on va mettre plusieurs gars sur le coup (ou filles, hein, enfin si seulement on en avait dans l&rsquo;\u00e9quipe de d\u00e9veloppement), et que paf par magie \u00e7a va lin\u00e9airement diviser le temps de production par le nombre de ressources affect\u00e9es. En gros (si vous \u00eates un peu malcomprenant), s&rsquo;il y a 60 jours-homme, en mettant deux d\u00e9veloppeurs, \u00e7a va \u00eatre fait en 30 jours.<\/p>\n<p>Jusque l\u00e0, je n&rsquo;aurais presque rien \u00e0 dire. C&rsquo;est presque vrai, c&rsquo;est m\u00eame presque malin, voire presque r\u00e9aliste. Sauf que vous connaissez les gens : il leur en faut toujours plus (les coquins). Donc vas-y que jte mets 4 d\u00e9veloppeurs et c&rsquo;est <span style=\"text-decoration: line-through;\">torch\u00e9<\/span> fait en 15 jours ! Vous voyez venir l&rsquo;\u00e9cueil (enfin, j&rsquo;esp\u00e8re, c&rsquo;est pas faute d&rsquo;\u00eatre lourdement didactique) : tant qu&rsquo;on y est, mettons 60 d\u00e9veloppeurs, et ce soir c&rsquo;est pli\u00e9<sup>[<a href=\"https:\/\/www.do-as-i-say.com\/notes\/2009\/09\/le-mythe-de-la-parallelisation\/#footnote_1_394\" id=\"identifier_1_394\" class=\"footnote-link footnote-identifier-link\" title=\"Et si on aime les visions absurdes, pourquoi ne pas imaginer 600 d\u00e9veloppeurs en batterie, et en m\u00eame pas une heure, hop, emball\u00e9 c&rsquo;est pes\u00e9.\">2<\/a>]<\/sup>.<\/p>\n<p>Sans parler de l&rsquo;incongruit\u00e9 en termes d&rsquo;\u00e9cosyst\u00e8me (essayez de regrouper 60 d\u00e9veloppeurs et vous comprendrez), on a \u00e9videmment oubli\u00e9 un d\u00e9tail dans cette \u00e9quation, trois fois rien, un mot innocent : <strong>la r\u00e9-a-li-t\u00e9.<\/strong><\/p>\n<p>Eh oui. <em>Dans la r\u00e9alit\u00e9<\/em>, r\u00e9partir la charge induit tr\u00e8s vite des \u00ab\u00a0co\u00fbts\u00a0\u00bb collat\u00e9raux, notamment en coordination du travail. S&rsquo;il est souvent envisageable de s\u00e9parer les t\u00e2ches en plusieurs lots, il n&rsquo;est pas dit qu&rsquo;ils puissent \u00eatre, d&rsquo;un point de vue logique, tous r\u00e9alis\u00e9s en parall\u00e8le.<\/p>\n<p>C&rsquo;est chiant, la r\u00e9alit\u00e9, \u00e7a marche pas toujours comme les maths ; par exemple, un lapin plus un lapin, pour peu qu&rsquo;ils soient de sexe diff\u00e9rent, \u00e7a a vite des chances de faire plus de deux lapins. Vous me direz : ah mais il s&rsquo;est pass\u00e9 quelque chose.\u00a0 Mais justement, ce qui est caract\u00e9ristique de la r\u00e9alit\u00e9, c&rsquo;est qu&rsquo;il s&rsquo;y <em>passe des choses<\/em>, et qu&rsquo;il y a des <em>contraintes <\/em>qu&rsquo;on ne peut pas r\u00e9duire, m\u00eame si on est tr\u00e8s bon en maths<sup>[<a href=\"https:\/\/www.do-as-i-say.com\/notes\/2009\/09\/le-mythe-de-la-parallelisation\/#footnote_2_394\" id=\"identifier_2_394\" class=\"footnote-link footnote-identifier-link\" title=\" En fait, l&rsquo;alg\u00e8bre est un type de discours sur la r\u00e9alit\u00e9 qui fonctionne bien, tant qu&rsquo;on est dans le bon cadre. Ce qui importe est toujours de savoir d&rsquo;o\u00f9 on parle. Ainsi, vous pensez que des parall\u00e8les ne peuvent pas se croiser ? Dans un plan, c&rsquo;est tout \u00e0 fait exact &#8211; mais sur une sph\u00e8re, non.\">3<\/a>]<\/sup>.<\/p>\n<p>J&rsquo;aime bien recourir \u00e0 une image qui fait en g\u00e9n\u00e9ral son petit effet. Elle n&rsquo;est pas de moi, je crois l&rsquo;avoir trouv\u00e9e quelque part dans un machin imprim\u00e9, un livre, l\u00e0, mais je ne retrouve pas la r\u00e9f\u00e9rence, et Google est curieusement un peu muet sur le sujet. En la sortant au bon moment, le r\u00e9sultat est garanti :<\/p>\n<blockquote><p>Si on met 9 femmes enceintes en parall\u00e8le, on n&rsquo;aura pas un enfant en 1 mois.<\/p><\/blockquote>\n<p>Si vous <a href=\"\/notes\/2009\/08\/le-carreleur-et-le-developpeur\/\">faites bien vos devoirs<\/a>, vous ne devez toutefois pas prendre cette superbe saillie pour argent comptant, et <strong>questionner l&rsquo;analogie<\/strong> (n&rsquo;est-ce pas). En d&rsquo;autres termes, demander si d\u00e9velopper une application, c&rsquo;est comme faire un b\u00e9b\u00e9 (je vous passerai toutes les bonnes blagues auxquelles \u00e7a peut me faire penser, sinon on va y passer l&rsquo;hiver).<\/p>\n<p>Soyons prudent sans faire de la langue de bois : oui, il y a dans les processus de d\u00e9veloppement des <em>\u00e9tapes<\/em>, qui ne peuvent que s&rsquo;encha\u00eener et donc pas avoir lieu en m\u00eame temps. Il faut pour cette raison ne pas h\u00e9siter \u00e0 affirmer que :<\/p>\n<ul>\n<li>le temps n\u00e9cessaire n&rsquo;est pas lin\u00e9airement divisible par le nombre de ressources affect\u00e9es ;<\/li>\n<li>l&rsquo;augmentation du nombre de ressources accroit de mani\u00e8re exponentielle les t\u00e2ches de coordination, et tend pour cette raison tr\u00e8s\u00a0 rapidement \u00e0 annuler le gain de temps nominal (voire \u00e0 l&rsquo;inverser, c&rsquo;est-\u00e0-dire \u00e0 faire perdre plus de temps qu&rsquo;on en gagne).<\/li>\n<\/ul>\n<p>Selon les m\u00e9tiers et les projets, le point de la courbe o\u00f9 la tendance s&rsquo;inverse est plus ou moins vite atteint, mais d&rsquo;exp\u00e9rience on constate qu&rsquo;il l&rsquo;est toujours plus vite que ce qui serait n\u00e9cessaire pour satisfaire des plannings irr\u00e9alistes. Et le plus difficile, c&rsquo;est de le faire comprendre aux \u00ab\u00a0d\u00e9cideurs\u00a0\u00bb (car les coupables ne sont pas toujours les clients, si si&#8230;)<\/p>\n<p>D&rsquo;o\u00f9 les 9 femmes. \u00c7a n&rsquo;est pas magique, mais \u00e7a peut avoir son poids dans une argumentation.<\/p>\n________________________________________________\r\n<br\/><ol class=\"footnotes\"><li id=\"footnote_0_394\" class=\"footnote\">Note : quand un client dit \u00ab\u00a0optimiser\u00a0\u00bb, il veut en fait dire \u00ab\u00a0faire plus et\/ou plus vite et\/ou moins cher\u00a0\u00bb ; en g\u00e9n\u00e9ral les trois. [<a href=\"https:\/\/www.do-as-i-say.com\/notes\/2009\/09\/le-mythe-de-la-parallelisation\/#identifier_0_394\" class=\"footnote-link footnote-back-link\">&#8617;<\/a>]<\/li><li id=\"footnote_1_394\" class=\"footnote\">Et si on aime les visions absurdes, pourquoi ne pas imaginer 600 d\u00e9veloppeurs en batterie, et en m\u00eame pas une heure, hop, emball\u00e9 c&rsquo;est pes\u00e9. [<a href=\"https:\/\/www.do-as-i-say.com\/notes\/2009\/09\/le-mythe-de-la-parallelisation\/#identifier_1_394\" class=\"footnote-link footnote-back-link\">&#8617;<\/a>]<\/li><li id=\"footnote_2_394\" class=\"footnote\"> En fait, l&rsquo;alg\u00e8bre est un type de discours sur la r\u00e9alit\u00e9 qui fonctionne bien, tant qu&rsquo;on est dans le bon cadre. Ce qui importe est toujours de savoir <em>d&rsquo;o\u00f9 on parle<\/em>. Ainsi, vous pensez que des parall\u00e8les ne peuvent pas se croiser ? Dans un plan, c&rsquo;est tout \u00e0 fait exact &#8211; mais sur une sph\u00e8re, non. [<a href=\"https:\/\/www.do-as-i-say.com\/notes\/2009\/09\/le-mythe-de-la-parallelisation\/#identifier_2_394\" class=\"footnote-link footnote-back-link\">&#8617;<\/a>]<\/li><\/ol>","protected":false},"excerpt":{"rendered":"<p>Le monde du travail et du service est depuis des temps imm\u00e9moriaux divis\u00e9 en deux cat\u00e9gories distinctes, structurantes mais non exclusives : les clients et les prestataires. Dans la pub, et souvent le web par extension, on dit les annonceurs et les agences, et \u00e7a revient \u00e0 peu pr\u00e8s au m\u00eame. Quand vous faites partie [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[13,17,39,22,40,41],"class_list":["post-394","post","type-post","status-publish","format-standard","hentry","category-projet","tag-analogie","tag-application-web","tag-jour-homme","tag-methodologie","tag-parallelisation","tag-realite"],"_links":{"self":[{"href":"https:\/\/www.do-as-i-say.com\/notes\/wp-json\/wp\/v2\/posts\/394","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.do-as-i-say.com\/notes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.do-as-i-say.com\/notes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.do-as-i-say.com\/notes\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.do-as-i-say.com\/notes\/wp-json\/wp\/v2\/comments?post=394"}],"version-history":[{"count":65,"href":"https:\/\/www.do-as-i-say.com\/notes\/wp-json\/wp\/v2\/posts\/394\/revisions"}],"predecessor-version":[{"id":451,"href":"https:\/\/www.do-as-i-say.com\/notes\/wp-json\/wp\/v2\/posts\/394\/revisions\/451"}],"wp:attachment":[{"href":"https:\/\/www.do-as-i-say.com\/notes\/wp-json\/wp\/v2\/media?parent=394"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.do-as-i-say.com\/notes\/wp-json\/wp\/v2\/categories?post=394"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.do-as-i-say.com\/notes\/wp-json\/wp\/v2\/tags?post=394"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}