<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Do as i say, not as i do &#187; réalité</title>
	<atom:link href="http://www.do-as-i-say.com/notes/tag/realite/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.do-as-i-say.com/notes</link>
	<description>Car dire ça n&#039;est pas toujours faire, mais ça ne coûte rien</description>
	<lastBuildDate>Mon, 26 Apr 2010 11:40:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Le mythe de la parallélisation</title>
		<link>http://www.do-as-i-say.com/notes/2009/09/le-mythe-de-la-parallelisation/</link>
		<comments>http://www.do-as-i-say.com/notes/2009/09/le-mythe-de-la-parallelisation/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 08:36:40 +0000</pubDate>
		<dc:creator>LaurentLC</dc:creator>
				<category><![CDATA[1. La vie c'est comme de la gestion de projet]]></category>
		<category><![CDATA[analogie]]></category>
		<category><![CDATA[application web]]></category>
		<category><![CDATA[jour-homme]]></category>
		<category><![CDATA[méthodologie]]></category>
		<category><![CDATA[parallélisation]]></category>
		<category><![CDATA[réalité]]></category>

		<guid isPermaLink="false">http://www.do-as-i-say.com/notes/?p=394</guid>
		<description><![CDATA[Le monde du travail et du service est depuis des temps immémoriaux divisé en deux catégories 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 ça revient à peu près au même.
Quand vous faites partie [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-442" style="border: 1px solid black;" title="Les parallèles ça peut se croiser" src="http://www.do-as-i-say.com/notes/wp-content/uploads/courbure-150x150.jpg" alt="Les parallèles ça peut se croiser" width="128" height="128" />Le monde du travail et du service est depuis des temps immémoriaux divisé en deux catégories 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 ça revient à peu près au même.</p>
<p>Quand vous faites partie du second groupe, ou quand vous travaillez dans le développement d&#8217;applications, vous apprenez rapidement qu&#8217;il existe, au-delà de l&#8217;heure, du jour, de la semaine, une unité de mesure capitale : le <strong>jour-homme. </strong></p>
<p><strong><span id="more-394"></span></strong></p>
<p>Je me dis depuis quelque temps qu&#8217;on pourrait même entériner un nouveau mot : le &laquo;&nbsp;jourhomme&nbsp;&raquo;, que la réforme de l&#8217;ortografe transformerait en &laquo;&nbsp;jourome&nbsp;&raquo;, et ça serait sympa. Sans parler bien sûr du <em>jourfemme </em>qui devra exister impérativement. Mais je m&#8217;égare.</p>
<p>Comme son nom l&#8217;indique presque, le jour-homme correspond au travail d&#8217;une personne pendant une journée. Ca fait beaucoup rire nos amis anglo-saxons de nous voir utiliser une telle mesure qui passe sous silence toute discussion éventuelle sur la valeur du référent&#8230; Il nous faut alors leur expliquer  que par chez nous, la durée &laquo;&nbsp;officielle&nbsp;&raquo; d&#8217;une journée de travail est de 8 heures, même s&#8217;il s&#8217;agit en fait d&#8217;une durée admise comme standard &#8211; avec toutes les élasticités bien commodes que ça implique, et qui permettent de faire au besoin rentrer deux &laquo;&nbsp;jours&nbsp;&raquo; en une journée (ben oui, il suffit de travailler de 8h à minuit, fastoche).</p>
<p>Quand on estime une charge de travail, on la chiffre donc en jours-homme.<br />
En général, on colle ça après dans un calendrier (avec ou sans l&#8217;aide de certains logiciels pas lourds du tout dont le nom commence par &laquo;&nbsp;pro&nbsp;&raquo; et se termine par &laquo;&nbsp;ject&nbsp;&raquo;), et ça nous donne un planning, autrement dit une représentation dans le temps de la vie des vraies gens, week-end et autres jours chômés inutiles pris en compte.<br />
Il est étonnant de remarquer à quelle vitesse on finit à 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, à la louchasse, c&#8217;est ça). On met en général plus de temps à intégrer comme un réflexe le calcul inconscient de marges de sécurité conséquentes (de 20 à 50%).</p>
<p>Toujours est-il qu&#8217;à l&#8217;arrivée, on présente au client un planning, dans lequel il ne regarde en général qu&#8217;une seule date, celle de la <em>livraison. </em>C&#8217;est le moment où il fait des grands yeux, voire devient livide, voire s&#8217;énerve, voire tout ça en même temps ou dans un ordre aléatoire.</p>
<p>Mais, tenez-vous bien, <em>ça n&#8217;est pas grave</em>. Pourquoi ? Tout simplement parce qu&#8217;on va pouvoir <strong>optimiser</strong> le planning. Et c&#8217;est quoi la solution magique pour <em>optimiser le planning</em> ?</p>
<p>Oui, vous avez trouvé : <strong>la parallélisation</strong>.</p>
<p>La parallélisation, c&#8217;est cette bonne idée qui consiste à dire qu&#8217;on va mettre plusieurs gars sur le coup (ou filles, hein, enfin si seulement on en avait dans l&#8217;équipe de développement), et que paf par magie ça va linéairement diviser le temps de production par le nombre de ressources affectées. En gros (si vous êtes un peu malcomprenant), s&#8217;il y a 60 jours-homme, en mettant deux développeurs, ça va être fait en 30 jours.</p>
<p>Jusque là, je n&#8217;aurais presque rien à dire. C&#8217;est presque vrai, c&#8217;est même presque malin, voire presque réaliste. Sauf que vous connaissez les gens : il leur en faut toujours plus (les coquins). Donc vas-y que jte mets 4 développeurs et c&#8217;est <span style="text-decoration: line-through;">torché</span> fait en 15 jours ! Vous voyez venir l&#8217;écueil (enfin, j&#8217;espère, c&#8217;est pas faute d&#8217;être lourdement didactique) : tant qu&#8217;on y est, mettons 60 développeurs, et ce soir c&#8217;est plié.</p>
<p>Sans parler de l&#8217;incongruité en termes d&#8217;écosystème (essayez de regrouper 60 développeurs et vous comprendrez), on a évidemment oublié un détail dans cette équation, trois fois rien, un mot innocent : <strong>la ré-a-li-té.</strong></p>
<p>Eh oui. <em>Dans la réalité</em>, répartir la charge induit très vite des &laquo;&nbsp;coûts&nbsp;&raquo; collatéraux, notamment en coordination du travail. S&#8217;il est souvent envisageable de séparer les tâches en plusieurs lots, il n&#8217;est pas dit qu&#8217;ils puissent être, d&#8217;un point de vue logique, tous réalisés en parallèle.</p>
<p>C&#8217;est chiant, la réalité, ça marche pas toujours comme les maths ; par exemple, un lapin plus un lapin, pour peu qu&#8217;ils soient de sexe différent, ça a vite des chances de faire plus de deux lapins. Vous me direz : ah mais il s&#8217;est passé quelque chose.  Mais justement, ce qui est caractéristique de la réalité, c&#8217;est qu&#8217;il s&#8217;y <em>passe des choses</em>, et qu&#8217;il y a des <em>contraintes </em>qu&#8217;on ne peut pas réduire, même si on est très bon en maths.</p>
<p>J&#8217;aime bien recourir à une image qui fait en général son petit effet. Elle n&#8217;est pas de moi, je crois l&#8217;avoir trouvée quelque part dans un machin imprimé, un livre, là, mais je ne retrouve pas la référence, et Google est curieusement un peu muet sur le sujet. En la sortant au bon moment, le résultat est garanti :</p>
<blockquote><p>Si on met 9 femmes enceintes en parallèle, on n&#8217;aura pas un enfant en 1 mois.</p></blockquote>
<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&#8217;analogie</strong> (n&#8217;est-ce pas). En d&#8217;autres termes, demander si développer une application, c&#8217;est comme faire un bébé (je vous passerai toutes les bonnes blagues auxquelles ça peut me faire penser, sinon on va y passer l&#8217;hiver).</p>
<p>Soyons prudent sans faire de la langue de bois : oui, il y a dans les processus de développement des <em>étapes</em>, qui ne peuvent que s&#8217;enchaîner et donc pas avoir lieu en même temps. Il faut pour cette raison ne pas hésiter à affirmer que :</p>
<ul>
<li>le temps nécessaire n&#8217;est pas linéairement divisible par le nombre de ressources affectées ;</li>
<li>l&#8217;augmentation du nombre de ressources accroit de manière exponentielle les tâches de coordination, et tend pour cette raison très  rapidement à annuler le gain de temps nominal (voire à l&#8217;inverser, c&#8217;est-à-dire à faire perdre plus de temps qu&#8217;on en gagne).</li>
</ul>
<p>Selon les métiers et les projets, le point de la courbe où la tendance s&#8217;inverse est plus ou moins vite atteint, mais d&#8217;expérience on constate qu&#8217;il l&#8217;est toujours plus vite que ce qui serait nécessaire pour satisfaire des plannings irréalistes. Et le plus difficile, c&#8217;est de le faire comprendre aux &laquo;&nbsp;décideurs&nbsp;&raquo; (car les coupables ne sont pas toujours les clients, si si&#8230;)</p>
<p>D&#8217;où les 9 femmes. Ça n&#8217;est pas magique, mais ça peut avoir son poids dans une argumentation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.do-as-i-say.com/notes/2009/09/le-mythe-de-la-parallelisation/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
