<?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>Le Touilleur Express &#187; agile</title>
	<atom:link href="http://www.touilleur-express.fr/tag/agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.touilleur-express.fr</link>
	<description>Blog sur Java, le métier de développeur et la vie de freelance par Nicolas Martignole</description>
	<lastBuildDate>Wed, 08 Feb 2012 11:54:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Pour toi Mouton 2.0</title>
		<link>http://www.touilleur-express.fr/2011/02/13/pour-toi-mouton-2-0/</link>
		<comments>http://www.touilleur-express.fr/2011/02/13/pour-toi-mouton-2-0/#comments</comments>
		<pubDate>Sun, 13 Feb 2011 15:34:44 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Perso]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[humeur]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=4935</guid>
		<description><![CDATA[Cher Mouton 2.0
Merci pour ton excellent commentaire à la fin de l&#8217;article consacré au Software Craftsmanship. Je t&#8217;écris discrètement car je sais que tu es encore dans une réunion &#171;&#160;PowerPoint-Acronyme&#160;&#187; avec GrandChef. Qu&#8217;est-ce qu&#8217;il présente ce matin ? La Nouvelle Nouvelle Stratégie ? Les Objectifs Q1 2011 ? Ses photos de vacances ?
Courage, ce n&#8217;est qu&#8217;une heure de perdu. 6 personnes dans la salle, ah en fait c&#8217;est 6 heures de perdu pour l&#8217;entreprise. Bref passons, on est pas là pour parler de cela. Courage, on a envoyé une équipe ...]]></description>
			<content:encoded><![CDATA[<p>Cher Mouton 2.0</p>
<p>Merci pour ton excellent commentaire à la fin de l&#8217;article consacré <a href="http://www.touilleur-express.fr/2011/01/20/craftsmanship/">au Software Craftsmanship</a>. Je t&#8217;écris discrètement car je sais que tu es encore dans une réunion &laquo;&nbsp;<em>PowerPoint-Acronyme</em>&nbsp;&raquo; avec GrandChef. Qu&#8217;est-ce qu&#8217;il présente ce matin ? La Nouvelle Nouvelle Stratégie ? Les Objectifs Q1 2011 ? Ses photos de vacances ?<br />
Courage, ce n&#8217;est qu&#8217;une heure de perdu. 6 personnes dans la salle, ah en fait c&#8217;est 6 heures de perdu pour l&#8217;entreprise. Bref passons, on est pas là pour parler de cela. Courage, on a envoyé une équipe pour t&#8217;extraire.</p>
<p>Alors oui, j&#8217;ai cédé à l&#8217;effet mode en écrivant <a href="http://www.touilleur-express.fr/2011/01/20/craftsmanship/">un article sur Craftsmanship</a>. Standardisation versus Artisanat. Grégory pour qui j&#8217;ai beaucoup d&#8217;estime et qui a présenté un point de vue sur son blog, se positionne sur la vision &laquo;&nbsp;industrialisation&nbsp;&raquo; de notre métier. De mon côté, je suis plus intéressé par le côté &laquo;&nbsp;artisanal&nbsp;&raquo; de la chose&#8230; le développement informatique. Alors voyons ce que cela donne.</p>
<p>Si nous étions meilleurs, nous n&#8217;aurions pas ces débats. Nous pourrions en effet imaginer une industrie mieux organisée en parlant de notre métier. Une Industrie est une organisation qui met tout en oeuvre pour pouvoir réduire le temps de fabrication et la part d&#8217;aléatoire dans la construction d&#8217;un bien. Appliqué au développement logiciel, nous pensons Model Driven Architecture. Je ne suis pas convaincu par cette approche. Je la respecte, car je crois que des personnes très intelligentes y passent beaucoup de temps. Mais je ne peux m&#8217;empêcher de penser que c&#8217;est un moyen de déplacer le problème. Là où nous n&#8217;avions pas de bons développeurs Java, est-ce que nous aurons de bons analystes à même de modéliser une application ? Est-ce que la solution ne fait pas que déplacer le problème ? Je suis donc peu convaincu par ces solutions et par cette approche. Mais cela reste personnel. Je suis convaincu qu&#8217;il y a de bons projets réalisés grâce à l&#8217;approche MDA. Elle répond à un besoin précis, mais cette approche n&#8217;est pas nécessaire pour réussir un projet. </p>
<p>Nous nous rapprochons pourtant depuis 15 ans de l&#8217;industrialisation. Sur le projet où je travaille, nous utilisons <strong>une usine logicielle</strong>. Compilation, gestion du code source, audit de la qualité du code, gestion de tickets, gestion des exigences et des spécifications, un outil complet qui rend de grands services. Tu es d&#8217;accord avec moi, aujourd&#8217;hui un projet informatique sans gestionnaire de code source, ce n&#8217;est pas réaliste. Il en est de même pour l&#8217;intégration continue, la gestion des incidents et tout un ensemble de bonnes pratiques.</p>
<p>De ce côté là donc, nous pouvons dire que nous nous sommes industrialisés petit à petit. Nous sommes capable de construire rapidement une version de notre logiciel. C&#8217;est donc un contre-argument à ceux qui pensent que nous ne serions que des artisans. </p>
<p> S&#8217;il y a un endroit où cependant nous pouvons encore nous améliorer en 2011, c&#8217;est du côté de la mise en production et de la gestion de configuration (Application Lifecycle Managment). Nous verrons <a href="http://www.parisjug.org/">au 3ème anniversaire du ParisJUG</a> une petite présentation sur DevOps par Patrick Dubois. C&#8217;est un mouvement très pragmatique qui vise à réconcilier le développeur et la personne qui fait l&#8217;exploitation. Si tu as encore une réunion cet après-midi, je te conseille de lire <a href="http://www.touilleur-express.fr/2010/12/04/prod/">ce billet de ton blog favori</a>. Il y a donc encore un peu d&#8217;amélioration à espérer de ce côté là.</p>
<p>Ensuite quoi d&#8217;autre ? Ah le développement lui-même.<br />
Il y a 10 ans tout juste, dans une galaxie lointaine, des Jedis se sont réunis et ont lancé le Manifeste Agile. D&#8217;abord centré sur l&#8217;organisation d&#8217;une équipe avec <a href="http://fr.wikipedia.org/wiki/Extreme_programming">l&#8217;eXtreme Programming</a>, la sauce a ensuite coulé jusqu&#8217;à l&#8217;organisation du projet avec Scrum, puis maintenant l&#8217;entreprise avec Lean/Kanban et autre. </p>
<p><strong>Mais moi, simple développeur, ça change quoi ?</strong> </p>
<p>Merci, chaque matin un bonhomme me demande ce que j&#8217;ai fait la veille, ce que je vais faire aujourd&#8217;hui, puis il court bouger des post-its, comme on lui a expliqué. Par contre il n&#8217;est pas capable de me donner une vision à un mois, il est incapable d&#8217;expliquer ce que fait le logiciel dans son ensemble et il est incapable de gérer des clients qui ne veulent pas faire de l&#8217;Agile&#8230;</p>
<p>Alors arrêtons d&#8217;être &laquo;&nbsp;industrialisé&nbsp;&raquo; et regardons simplement comment nous travaillons. </p>
<p>Peu m&#8217;importe que le buzzword &laquo;&nbsp;Software Craftsmanship&nbsp;&raquo; soit encore un n-ième mot à la mode. Je vous rappelle que nous sommes pas mieux que ces filles qui s&#8217;extasient sur la collection des sacs en cuir automne-hiver 2011. Cela dit, il faut essayer de comprendre à chaque fois ce que les personnes placent comme intention et comme valeur derrière ces mots clés. </p>
<h3>Profession : développeur</h3>
<p>Pour terminer, je vais t&#8217;expliquer ma vision de notre métier. Je pense de moins en moins à marquer &laquo;&nbsp;Architecte&nbsp;&raquo; ou &laquo;&nbsp;Chef de projet&nbsp;&raquo; sur mon CV. Pourtant j&#8217;ai été CDP (note l&#8217;acronyme) pendant 3 ans. Mais j&#8217;ai arrêté. Car mon métier, c&#8217;est développeur. Pour gagner plus, il suffit de bosser plus comme dirait 1m68. Il suffit aussi de penser que sa passion peut être un moyen de gagner plus. Et là, je ne parle pas d&#8217;argent. Je parle de rencontre, de beaux projets, de qualité de vie, d&#8217;équipe, de présentation devant une audience et de communauté. </p>
<p>Etre développeur en 2011 c&#8217;est être ouvert aux autres, capable de réaliser un logiciel simplement et humblement. C&#8217;est être en mesure de travailler avec d&#8217;autres développeurs, sans qu&#8217;un &laquo;&nbsp;chef de&#8230;&nbsp;&raquo; soit nécessaire. Etre à l&#8217;opposé d&#8217;une vision industrielle de notre monde, tout en étant capable d&#8217;apporter des outils et de bonnes pratiques. C&#8217;est aussi comprendre que lorsque nous codons, nous réalisons une pièce unique. </p>
<p>Etre développeur, c&#8217;est aussi se rendre compte que nous avons le pouvoir de créer à peu de frais un logiciel. Regardez l&#8217;eXpress-Board : il y a 12 mois je n&#8217;avais rien. Quelques mois plus tard, des candidats et des recruteurs se rencontrent. Et tout ceci ne m&#8217;a pas coûté grand chose, quelque chose comme 2 mois de travail à temps plein. C&#8217;est rien dans une vie professionnelle. Je dis donc aux gars qui nous écoutent : lancez-vous, développez une application pour iPhone le soir, investissez-vous dans la communauté ou en donnant des cours aux étudiants : c&#8217;est comme cela que nous resterons des Développeurs et pas des poulets industrialisés, comme certains le pensent encore. </p>
<p>Allez, je te laisse. Courage pour ta réunion. N&#8217;oublie pas qu&#8217;il y a largement de quoi s&#8217;éclater et qu&#8217;il n&#8217;est pas si difficile de changer de boulot. Préparer son CV, le déposer au bon endroit, hop un coup de fil, tu vas en entretien. Là tu croises des gens qui s&#8217;éclatent. </p>
<p>Tu démissionnes et ensuite par contre, tu n&#8217;auras plus le temps de lire le Touilleur Express en réunion, car crois-moi, tu vas t&#8217;éclater. </p>
<p>A+</p>
<p>Nicolas</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2011/02/13/pour-toi-mouton-2-0/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Agile France 2010 &#8211; jour 2 &#8211; Régis Medina</title>
		<link>http://www.touilleur-express.fr/2010/06/14/agile-france-2010-jour-2-regis-medina/</link>
		<comments>http://www.touilleur-express.fr/2010/06/14/agile-france-2010-jour-2-regis-medina/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 18:42:07 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Perso]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=3843</guid>
		<description><![CDATA[La deuxième journée de la conférence Agile France 2010 commence par une Keynote d&#8217;Esther Derby. Il a fallut attendre une heure pour voir la première grosse présentation à ne pas louper : Satisfaire complètement son client avec le Problem Driven Development par Régis Medina. Cette visite guidée dans l&#8217;univers de Régis a été passionnante, je vous propose de suivre la session avec moi.
Quelques mots sur le speaker. Régis Medina est bien connu dans la communauté Agile Française. Coach Lean spécialisé dans l&#8217;accompagnement des équipes techniques, il découvre XP en 98, ...]]></description>
			<content:encoded><![CDATA[<p><em>La deuxième journée de la conférence Agile France 2010 commence par une Keynote d&#8217;Esther Derby. Il a fallut attendre une heure pour voir la première grosse présentation à ne pas louper : <strong>Satisfaire complètement son client avec le Problem Driven Development</strong> par Régis Medina. Cette visite guidée dans l&#8217;univers de Régis a été passionnante, je vous propose de suivre la session avec moi.</p>
<p>Quelques mots sur le speaker. <a href="http://www.regismedina.com/">Régis Medina</a> est bien connu dans la communauté Agile Française. Coach Lean spécialisé dans l&#8217;accompagnement des équipes techniques, il découvre XP en 98, il a co-écrit avec d&#8217;autres auteurs le livre &laquo;&nbsp;<a href="http://www.amazon.fr/Gestion-projet-Programming-Jean-Louis-B%C3%A9nard/dp/221211561X">Gestion de projet : eXtreme-Programming</a>&nbsp;&raquo; paru chez Eyrolles. C&#8217;est un orateur passionnant, qui propose une vision où le Lean et l&#8217;Agile sont mis en parallèles. Et accessoirement c&#8217;est un utilisateur d&#8217;IDEA IntelliJ, donc je +1 avec plaisir. </em></p>
<p><a href="http://www.touilleur-express.fr/wp-content/theiere.gif"><img src="http://www.touilleur-express.fr/wp-content/theiere-196x300.gif" alt="" title="theiere" width="196" height="300" class="alignright size-medium wp-image-3844" /></a>Arrêtons-nous un instant sur ce que nous produisons. Parfois, nous suivons à la lettre ce que demande le client. Peu importe la méthode de développement, ou de gestion de projet. Lorsque l&#8217;on regarde quelques temps plus tard certains projets, certains apparaissent comme dangereux. Regardez cette théière utilisé par Régis pour illustrer son idée, fruit du travail de Donald A.Norman. Sur le plan du cahier des charges, l&#8217;ensemble des besoins sont développés. Simplement, cet objet est inutile. Et combien de projets ou d&#8217;outils inutiles avons-nous croisé dans notre carrière ?</p>
<p>Régis Medina pose la question suivante : &laquo;&nbsp;<strong>Comment faire des logiciels en mesure de satisfaire pleinement les clients ?</strong>&laquo;&nbsp;.</p>
<p>A priori, la réponse serait de prendre une bonne méthode de développement, et une bonne méthode de gestion de projet. Prenons le cycle en V, qui anime les soirées d&#8217;hiver et qui permet de se chauffer grâce aux tonnes de documentations produites&#8230;<br />
Faire une spécification pour certains utilisateurs, c&#8217;est un peu découper le catalogue de la Redoute dans les pages Jouets. Certains utilisateurs, de peur de manquer, chargent à mort les spécifications fonctionnelles. Le fait de demander en amont aux clients, puis de spécifier de manière exhaustive leurs besoins, peut conduire parfois à une perte de temps, à un certain gâchis.</p>
<p>Les spécifications c&#8217;est fait. La conception ressemble ensuite à une équipe dans un sous-marin nucléaire. Impossible d&#8217;accéder à l&#8217;équipe de développement, c&#8217;est du cycle en V. Si tu veux leur parler, on te demandera d&nbsp;&raquo;écrire une spécification. Et de la donner aux développeurs avec une fourche.</p>
<p>Une fois le développement terminé tant bien que mal, souvent à l&#8217;arrache, vient le temps de la validation. Autant éteindre un feu avec un verre d&#8217;eau. Si la Validation se passe bien (ahahah) vous irez en production. Ne donnez pas votre vrai nom au gars qui fait la mise en prod. Il serait capable de venir vous casser la figure. Le déploiement&#8230; Régis utilise l&#8217;image d&#8217;une personne qui a peur.</p>
<p><strong>Alors arrive l&#8217;Agile</strong><br />
Après avoir dépeint un tableau noir de la situation, Régis passe à la page &laquo;&nbsp;Agile&nbsp;&raquo;. Premier principe : nous allons écouter le client et délivrer des incréments de logiciels qui fonctionne, petit à petit. Cela permet de lisser l&#8217;inconnu et de s&#8217;assurer que le logiciel fonctionne.</p>
<p>Régis explique cependant, qu&#8217;en appliquant trop à la lettre les demandes des clients, vous risqueriez de développer une théière avec un manche mal placé. Le client ne sait pas toujours exprimer correctement ses besoins. Et faire de l&#8217;Agile, faire du Scrum, ne veut pas dire &laquo;&nbsp;ne pas prévoir à 2 ou 3 mois&nbsp;&raquo; ou &laquo;&nbsp;ne pas faire de l&#8217;Architecture&nbsp;&raquo;. C&#8217;est un anti-pattern de Scrum, que de croire que l&#8217;Architecture émerge magiquement du développement (ça c&#8217;est de moi).</p>
<p>Le Client n&#8217;est pas concepteur de logiciel. Pourquoi lui demander d&#8217;apprendre l&#8217;UML pour exprimer son besoin ? Si vous commenciez par écouter, et par apprendre le domaine du client&#8230; Je sens que Régis est aussi un fan de DDD comme moi.</p>
<p>Alors vient souvent la phrase &laquo;&nbsp;<em>oui mais il faut un BON Product Owner</em>&laquo;&nbsp;. Cette phrase est à mon avis un moyen élégant de dire &laquo;&nbsp;<em>le client est un abruti, il en faut un plus intelligent</em>&laquo;&nbsp;.<br />
Je retourne la question : &laquo;&nbsp;<em>Oui mais il faut une BONNE équipe capable d&#8217;écouter le client</em>&laquo;&nbsp;.<br />
Cela va mieux dans ce sens là non ?</p>
<p>Régis explique l&#8217;importance de définir <strong>le domaine</strong> du client, de cadrer les frontières de son problème. Il recommande de travailler par exploration, de découvrir le domaine, les mots du clients, à s&#8217;approprier le vocabulaire et la connaissance de celui-ci. C&#8217;est du DDD non monsieur Medina ?</p>
<p>Et bien il poste un nouvel acronyme : <strong>PDL pour Problem Driven Development.</strong></p>
<p>Notre mission sera désormais de résoudre les problèmes des clients. Et de les résoudre complètement. Les tests vont piloter le développement. Nous, développeurs, sommes là pour comprendre, analyser et résoudre les problèmes du client.<br />
Pour cela, Régis propose d&#8217;appliquer deux des principes du Lean :<br />
 &#8211; Plan Do Check Adjust<br />
 &#8211; Aller sur le terrain (Gemba)</p>
<p>Demandez à aller voir le client, l&#8217;utilisateur qui sera 8h par jour avec votre logiciel. Regardez comment le client utilise votre logiciel, ou comment il utilise un logiciel similaire. Listez les problèmes qu&#8217;il rencontre, et tirez-en des leçons pour vraiment écouter le client.</p>
<p><strong>La voix du client</strong><br />
Prenons les 5 points suivants :<br />
1. Donne moi exactement ce que je veux<br />
2. Quand je le veux<br />
3. Où je le veux<br />
4. Soyez fiables<br />
5. Ne me faîtes pas perdre mon temps, je n&#8217;ai pas envie d&#8217;apprendre</p>
<p>Le point 1 apporte la valeur. Les points 2 à 5 seront du gachis pour le client s&#8217;ils ne sont pas respectés. Les 2 points les plus importants : le 1 et le 5 : donnez moi exactement ce que je veux et ne me faîtes pas perdre mon temps, je n&#8217;ai pas envie d&#8217;apprendre à utiliser votre logiciel. Le meilleur exemple ? Pensez à l&#8217;iphone. Avec une ergonomie et une puissance importante, vous allez à l&#8217;essentiel. Si seulement nos bonnes vieilles applications de gestion pouvaient s&#8217;en inspirer&#8230;</p>
<p>Le meilleur service finalement, c&#8217;est celui que l&#8217;on ne voit plus. Régis nous demande de réflechir à  tout ce qui est mis en oeuvre entre toi, lecteur qui lit cet article, et les byes stockés dans une base MySQL sur un serveur quelque part&#8230; sans parler d&#8217;électronique. Vous vous rendez compte du parcours de l&#8217;information ?</p>
<p>La démarche d&#8217;être très simple, très rapide et très efficace est aussi illustrée par Google. Lorsque vous arrivez, que vous tapez un mot, puis que vous partez sur une page de résultat, il s&#8217;écoule moins de 5 secondes&#8230; Quand on pense à tout ce qui se passe derrière, en amont, c&#8217;est assez impressionnant.</p>
<p>Régis propose donc de nous faire réfléchir aux meilleurs choix pour résoudre le plus efficacement possible le problème du client.</p>
<p><strong>Regarder la performance</strong><br />
On ne peut améliorer que ce que l&#8217;on mesure. Il faut des indicateurs, afin de se rendre compte de ses progrès ou non. Que ce soit le nombre d&#8217;utilisateurs, le nombre d&#8217;appel sur la hotline, ou le taux de pertes de paquets réseaux, il faut des indicateurs.</p>
<p><strong>Voir les problèmes</strong><br />
Un problème est l&#8217;écart entre l&#8217;indicateur et sa valeur actuelle. Gemba dans la démarche Lean, nous pousse à aller sur le terrain, pour comprendre ce qui cloche. Regardez l&#8217;utilisateur, la séquence d&#8217;utilisation, les stratégies d&#8217;évitement qu&#8217;il met en oeuvre pour résoudre un problème&#8230; c&#8217;est très intéressant. Comme dit Régis : &laquo;&nbsp;tant que l&#8217;on ne l&#8217;a pas vu&#8230; on ne l&#8217;a pas vu&#8230; c&#8217;est le problème&nbsp;&raquo;.</p>
<p>La courbe de connaissance entre vous, développeurs, et eux, les utilisateurs, est aussi très importante. Un développeur &laquo;&nbsp;sait&nbsp;&raquo; comment marche son logiciel, puisqu&#8217;il l&#8217;a codé. Quel est l&#8217;écart entre ce que sait le client et ce que vous savez ?  Quel est la taille du problème (cf plus haut) ?</p>
<p>Inversement, les développeurs parfois ne connaissent pas le métier fonctionnel. Cela donne des perles, comme des objets financiers implémentés avec des getter/setter, alors que l&#8217;objet lui-même, dans la vraie vie, EST IMMUABLE ! Je m&#8217;égare&#8230;</p>
<p><strong>Résoudre le problème</strong><br />
Résoudre c&#8217;est bien, mais il faut être proactif, et il faut penser en permanence à l&#8217;amélioraton du système. Pour cela, la technique du PDCA : Plan Do Check Adjust. Il faut voir les causes d&#8217;un problème, anticiper le résultat lorsque le souci sera corrigé, élaborer une contre-mesure en cas d&#8217;erreurs.</p>
<p><strong>En tirer de bonnes leçons</strong><br />
Ecoutez les clients, et mettez en place des ateliers d&#8217;apprentissage afin que les développeurs s&#8217;approprient le domaine du client. Pour travailler, faites des ateliers de prototype, des interviews, des sessions de brainstorming avec le client. Lorsque vous développerez votre prochain site Web avec Play! Framework, ou votre application de gestion sérieuse avec Play! Framework, pensez aux écrans, à l&#8217;idée que pour résoudre un problème, il faut aller vite.<br />
Imaginez Google ou l&#8217;interface de l&#8217;iphone développé par un gars qui n&#8217;aurait aucunes idées de votre besoin&#8230; ou qui ne chercherait pas à résoudre efficacement et rapidement vos problèmes&#8230;</p>
<p><strong>Conclusion</strong><br />
En conclusion, Régis nous rappelle les principes de la démarche Lean, et de sa possible mise en place dans les équipes de développement logiciel. Avec de grands principes, qui placent le client au centre des préoccupations, j&#8217;ai bien accroché. J&#8217;aime aussi cette vision où le développeur et ses frameworks n&#8217;est plus le plus important. C&#8217;est vrai que parfois, nous donnons l&#8217;image de gosses qui bidouillent avec une boîte de &laquo;&nbsp;Petit chimiste&nbsp;&raquo;, alors que l&#8217;on nous demande juste de faire une chose : résoudre les problèmes des clients simplement, le plus efficacement possible, et sans lui faire perdre son temps.</p>
<p>A méditer.</p>
<p>Merci <a href="http://www.regismedina.com/">à Régis</a>, en espérant avoir retranscris l&#8217;esprit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2010/06/14/agile-france-2010-jour-2-regis-medina/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Agile France 2010 &#8211; jour 1 &#8211; Pierre Piezzardi</title>
		<link>http://www.touilleur-express.fr/2010/06/02/agile-france-2010-jour-1-pierre-piezzardi/</link>
		<comments>http://www.touilleur-express.fr/2010/06/02/agile-france-2010-jour-1-pierre-piezzardi/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 19:58:16 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Perso]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=3813</guid>
		<description><![CDATA[Pierre Piezzardi d&#8217;Octo Technology a présenté &#171;&#160;Le Lean Managment peut-il transformer l&#8217;entreprise ?&#160;&#187;. La présentation nous a immergé pendant une heure dans la peau du décideur, dans le corps d&#8217;un manager qui observe son entreprise ou son service informatique. Très bonne présentation qui nous parle Lean, Agilité, Valeurs, Confiance&#8230; j&#8217;ai bien aimé.

La Direction Générale travaille avec la DSI, dont la mission est d&#8217;assurer la réalisation des projets informatiques de l&#8217;entreprise, dans un triangle constitué de la maîtrise des coûts, de la maîtrise des délais et bien sûr, de la qualité. ...]]></description>
			<content:encoded><![CDATA[<p><strong>Pierre Piezzardi <a href="http://www.octotechnology.com">d&#8217;Octo Technology</a> a présenté &laquo;&nbsp;<em>Le Lean Managment peut-il transformer l&#8217;entreprise </em>?&nbsp;&raquo;. La présentation nous a immergé pendant une heure dans la peau du décideur, dans le corps d&#8217;un manager qui observe son entreprise ou son service informatique. Très bonne présentation qui nous parle Lean, Agilité, Valeurs, Confiance&#8230; j&#8217;ai bien aimé.<br />
</strong></p>
<p>La Direction Générale travaille avec la DSI, dont la mission est d&#8217;assurer la réalisation des projets informatiques de l&#8217;entreprise, dans un triangle constitué de la maîtrise des coûts, de la maîtrise des délais et bien sûr, de la qualité. L&#8217;arrivée des méthodes Agiles a permis de maîtriser le temps. En divisant en petites itérations la réalisation d&#8217;un logiciel, l&#8217;incrémental itératif permet de réduire les risques, donc en partie les coûts. Lorsqu&#8217;une équipe de développement a la perspective de délivrer un logiciel fonctionnel toutes les 2 semaines, plutôt qu&#8217;à la fin d&#8217;un cycle de 3 mois, clairement c&#8217;est plus encourageant.</p>
<p>Pierre nous rappelle la situation dans les années 80. Des entreprises se sont informatisées. D&#8217;autres se sont informatisées <strong>ET</strong> se sont réorganisées. Celles qui ne se sont pas réorganisées souffrent, et n&#8217;ont pas tiré &laquo;&nbsp;<em><a href="http://www.alalettre.com/rabelais.php">la substantifique moelle</a></em>&nbsp;&raquo; de leur SI.</p>
<p> L&#8217;informatisation sans remise en question de l&#8217;organisation de l&#8217;entreprise ne fait qu&#8217;ajouter de la complexité. Le Lean propose des outils pour observer, mettre en place, mesurer, bref pour faire progresser.. J&#8217;y reviendrai lorsque je vous parlerai de la présentation de Régis Medina sur ce sujet, qui fut passionnante.</p>
<p>Les entreprises tendent parfois à créer des règles sur la base d&#8217;incidents. Lorsqu&#8217;un problème survient, une règle d&#8217;entreprise est établie. Par défaut, certaines entreprises interdissent tout, là où d&#8217;autres ont fait le choix d&#8217;ouvrir et de faire confiance aux gens. Pierre cite l&#8217;exemple de Wikipedia. Ce système repose sur l&#8217;observation que 99% des gens ne font pas n&#8217;importe quoi. Quant bien même un hurluberlu aurait l&#8217;envie de changer une page, vous pouvez être certain que l&#8217;erreur sera corrigée rapidement. Comment appliquer ce paradigme à l&#8217;entreprise ?</p>
<p>L&#8217;Agilité y contribue en donnant une autonomie et une responsabilité aux équipes. J&#8217;y reviendrai dans un prochain billet, puisque j&#8217;ai ensuite assisté à la présentation d&#8217;une organisation Agile avec 200 personnes chez un éditeur, dans la finance. Donner de la responsabilité au groupe entraine des changements en profondeur.</p>
<p>Lean rappelle l&#8217;importance de mettre des indicateurs en place. Appliqué à cette idée, l&#8217;évaluation de la performance individuelle devient obsolète et contre-productive. Il existe des systèmes comme les évaluations 360 pour prendre un feedback et reconnaître la performance de chacun. Pourquoi ne pas tenter cette approche ?</p>
<p>Pierre rappelle que le plus important est la performance globale. Comment ensuite délivrer de manière durable, et comment donner de l&#8217;autonomie ? Essayez ! Oui c&#8217;est aussi simple mais c&#8217;est vrai.</p>
<p>Le DSI saute et dit &laquo;&nbsp;Oui mais ils ne sont pas capables&nbsp;&raquo; : donnez-leur un manifeste, pour dire ce qu&#8217;ils peuvent faire, pour permettre. Retirez les obstacles pour qu&#8217;ils soient capables, aidez-les à concevoir rapidement des solutions en contribuant à la stabilité du système global. Permettre l&#8217;autonomie des équipes, en mettant des indicateurs pour pouvoir suivre l&#8217;évolution.</p>
<p>Un autre dit &laquo;&nbsp;Oui mais cela va être le foutoir&#8230;&nbsp;&raquo; : placez des standards simples. Il est important de donner des repères pour que l&#8217;entreprise réalise. Mais vous devez aussi rendre simple la possibilité de contribuer à ces standards. Repensez à Wikipedia. Pourquoi ne pas permettre aux équipes de contribuer ?</p>
<p>Un troisième dit &laquo;&nbsp;Oui mais&#8230; ils vont échouer&nbsp;&raquo; : donnez de l&#8217;autonomie, et surtout du sens. L&#8217;accomplissement personnel des développeurs, surtout dans les tranches 25-35 ans, passe par l&#8217;expression d&#8217;un sens. Chaque équipe doit avoir une phrase qui résume en 4 lignes ce qu&#8217;elle fait. A quel partie de l&#8217;entreprise contribue-t-elle ? Définir un sens pour l&#8217;équipe est primordial.</p>
<p>Les relations inter-équipes et l&#8217;évaluation doivent puiser dans les principes du Lean : la satisfaction du client est le plus important. Ne pas oublier que la raison d&#8217;être de votre produit, de votre logiciel, est de délivrer le plus rapidement possible de la valeur au client.</p>
<p>En conclusion, on peut essayer le pari de la confiance, l&#8217;idée de laisser ses équipes s&#8217;organiser en les aidant. La facilité d&#8217;utilisation des outils pour les clients est primordiale. La possibilité de contribuer aux standards de l&#8217;enterprise permet de ne pas oublier que l&#8217;informatique est avant tout une histoire d&#8217;homme.</p>
<p>Etre un individu est plus important qu&#8217;être un intitulé de poste.</p>
<p><strong>Conclusion et Rétrospective</strong><br />
J&#8217;ai apprécié le fil conducteur de la présentation, comme le fond et la forme. Les principes du Lean transpirent dans la présentation, mais on a parfois envie d&#8217;une explication &laquo;&nbsp;encore plus simple&nbsp;&raquo; justement.<br />
C&#8217;est une présentation du Lean Managment, qui nous amène à se demander s&#8217;il y a réellement une place pour l&#8217;entreprise classique, massivement hiérarchique. Pendant la présentation j&#8217;ai visualisé une structure monarchique de communication, où la communication se fait du haut vers le bas. L&#8217;arrivée d&#8217;Internet, le développement en méthodes Agiles et les attentes des développeurs sont autant de facteurs qui ébranlent cette approche, afin de construire des canaux de communications en étoile. L&#8217;individu est au centre, puis son équipe, puis les fournisseurs de services comme les RH/le support interne/l&#8217;équipe d&#8217;exploitation. Et la communication ne passe plus par le &laquo;&nbsp;chef de quelque chose&nbsp;&raquo;. Il est en effet temps de penser à un management différent.</p>
<p>Pierre,<br />
j&#8217;ai pas fait le coup de &laquo;&nbsp;<em>Philippe Manoeuvre</em>&nbsp;&raquo; mais là tu prenais un bleu, car il y avait du sens justement, ce que j&#8217;ai vraiment bien aimé.<br />
 <img src='http://www.touilleur-express.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2010/06/02/agile-france-2010-jour-1-pierre-piezzardi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conférence Agile France 2010, le 31 mai et 1er juin</title>
		<link>http://www.touilleur-express.fr/2010/03/12/conference-agile-france-2010-le-31-mai-et-1er-juin/</link>
		<comments>http://www.touilleur-express.fr/2010/03/12/conference-agile-france-2010-le-31-mai-et-1er-juin/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 09:44:35 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Perso]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=3309</guid>
		<description><![CDATA[
C&#8217;est reparti pour la conférence la plus intéressante de l&#8217;année sur l&#8217;Agilité. Comme l&#8217;an dernier, l&#8217;équipe d&#8217;organisation vous invite 2 jours à Paris, plus exactement à Vincennes, dans un cadre magnifique. Que vous soyez développeurs, chef de projets, maîtrise d&#8217;ouvrage ou plutôt maîtrise d&#8217;oeuvre, c&#8217;est votre conférence.
Cette conférence essentiellement francophone, est aussi le point de rendez-vous de nos voisins Suisses, Belges et Canadien comme l&#8217;an passé. Avec 280 personnes l&#8217;an passé, chaque session fut bien remplie. Les sponsors sont invités à se faire connaître pour aider l&#8217;équipe Agile France qui ...]]></description>
			<content:encoded><![CDATA[<p><img src="http://conf.agile-france.org/media/img/agileLogo2.png" alt="Agile France" border="0" align="left"/><br />
C&#8217;est reparti pour <strong>la conférence la plus intéressante de l&#8217;année sur l&#8217;Agilité</strong>. Comme l&#8217;an dernier, l&#8217;équipe d&#8217;organisation vous invite 2 jours à Paris, plus exactement à Vincennes, dans un cadre magnifique. Que vous soyez développeurs, chef de projets, maîtrise d&#8217;ouvrage ou plutôt maîtrise d&#8217;oeuvre, c&#8217;est votre conférence.</p>
<p>Cette conférence essentiellement francophone, est aussi le point de rendez-vous de nos voisins Suisses, Belges et Canadien comme l&#8217;an passé. Avec 280 personnes l&#8217;an passé, chaque session fut bien remplie. Les sponsors sont invités à se faire connaître pour aider l&#8217;équipe Agile France qui fait un travail remarquable.</p>
<p>Le site Agile France vous donnera tous les détails nécessaires :  <a href="http://conf.agile-france.org/">http://conf.agile-france.org/</a></p>
<p>Voici les articles publiés sur le Touilleur Express l&#8217;an dernier, afin de vous donner un avant-goût de ce qui vous attend :<br />
<a href="http://www.touilleur-express.fr/2009/05/27/xp-day-france-2009-journee-1/" target="new">XP Day France 2009 – journée 1</a> <em>publié  le 2009-05-27 00:22:41</em><br />
<a href="http://www.touilleur-express.fr/2009/05/27/xp-day-france-2009-jour-2/" target="new">XP Day France 2009 – jour 2</a> <em>publié  le 2009-05-27 20:03:05</em><br />
<a href="http://www.touilleur-express.fr/2009/05/29/xp-day-france-2009-scrum-est-il-dangereux/" target="new">XP Day France 2009, Scrum est-il dangereux ?</a> <em>publié  le 2009-05-29 21:50:38</em><br />
<a href="http://www.touilleur-express.fr/2009/05/31/xp-day-france-2009-jour-2-dans-la-peau-du-challenger-et-business-value-game/" target="new">XP Day France 2009 – jour 2, Dans la peau du Challenger et Business Value Game</a> <em>publié  le 2009-05-31 13:57:32</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2010/03/12/conference-agile-france-2010-le-31-mai-et-1er-juin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Agile Process Maturity Model APMM</title>
		<link>http://www.touilleur-express.fr/2009/03/22/the-agile-process-maturity-model-apmm/</link>
		<comments>http://www.touilleur-express.fr/2009/03/22/the-agile-process-maturity-model-apmm/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 17:46:48 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[scrum]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=929</guid>
		<description><![CDATA[Dimitri Baeli d&#8217;eXo Platform m&#8217;a fait suivre un article publié sur le site IBM DeveloperWork à propos d&#8217;APMM, The Agile Process Maturity Model. Dans cet article, Scott Ambler propose une échelle de classement des processus Agile afin d&#8217;aider à identifier selon votre organisation la solution la plus adaptée. Son point de vue est &#171;&#160;one does not fit all&#160;&#187;, une solution ne peut convenir à tout le monde, à l&#8217;ensemble des problèmes d&#8217;une organisation.
L&#8217;article original en anglais est disponible à cette adresse, la traduction reprend le contenu en essayant d&#8217;être le ...]]></description>
			<content:encoded><![CDATA[<p><i>Dimitri Baeli <a href="http://www.exoplatform.com">d&#8217;eXo Platform</a> m&#8217;a fait suivre un article publié sur le site IBM DeveloperWork à propos d&#8217;APMM, The Agile Process Maturity Model. Dans cet article, Scott Ambler propose une échelle de classement des processus Agile afin d&#8217;aider à identifier selon votre organisation la solution la plus adaptée. Son point de vue est &laquo;&nbsp;one does not fit all&nbsp;&raquo;, une solution ne peut convenir à tout le monde, à l&#8217;ensemble des problèmes d&#8217;une organisation.<br />
L&#8217;article original en anglais est disponible <a href="http://www.ibm.com/developerworks/blogs/page/ambler?tag=APMM">à cette adresse</a>, la traduction reprend le contenu en essayant d&#8217;être le plus fidèle possible. Je vous invite à lire la version en anglais pour suivre le sens précis des propos de Scott Ambler.</i></p>
<p>[Début de la traduction de <a href="http://www.ibm.com/developerworks/blogs/page/ambler">l'article original de Scott Ambler</a>]</p>
<h3>L&#8217;Agile Process Maturity Model (APMM)</h3>
<p>L&#8217;objectif de l&#8217;Agile Process Maturity Model (APMM) est de fournir un cadre de mesure pour la pléthore de méthodologies Agiles présentes aujourd&#8217;hui. L&#8217;APMM définit trois niveaux, dont chacun s&#8217;appuie sur les autres, pour des processus et méthodes Agiles. Chez IBM, nous avons constaté que de nombreux clients trouvent que le message Agile est confus, en partie en raison de la multitude de voix au sein de la communauté agile mais plus encore parce que la rhétorique agile semble souvent ignorer ou masquer de nombreuses questions importantes de nos clients qui font face au jour le jour à ces méthodes. De là vient le besoin de quelque chose comme APMM afin de fournir un cadre [nécessaire] pour les méthodes et pratiques agiles</p>
<h3>APMM Niveau 1: Agile Software Development</h3>
<p>Le niveau 1 du processus de maturié Agile adresse une partie du système de cycle de développement (<a href="http://www.ambysoft.com/essays/agileLifecycle.html">SDLC</a>). Quelques exemples de processus agiles de niveau 1 :</p>
<p> &#8211; <strong>Scrum</strong>. L&#8217;objectif de Scrum est la gestion du développement au sens projet d&#8217;un produit et un outil pour la gestion des exigences. Les promotteurs de Scrum affirment que c&#8217;est un processus cadré, mais si c&#8217;est le cas alors il est épars (<em>sparse en anglais</em>) et, au mieux, incomplet. Une description plus précise [<i>de Scrum</i>] est que c&#8217;est un cycle de haut niveau pour la construction d&#8217;itérations (ce que Scrum appelle &laquo;&nbsp;sprints&nbsp;&raquo;) et de plusieurs pratiques telles que la réunion quotidienne de l&#8217;équipe (stand-up &laquo;&nbsp;Scrum&nbsp;&raquo;), la mise en place d&#8217;un responsable de produit (Product Owner), d&#8217;un carnet de produits (Product Backlog), de réunions de planifications, et l&#8217;objectif de livrer à chaque fin de sprint un produit potentiellement prêt à fonctionner.</p>
<p>- <strong>Extreme Programming (XP)</strong>. XP est une collection de pratiques logiciels, comme le refactoring, les tests avant l&#8217;écriture du code, la programmation en binôme, la présence sur site du client, la mise en place de l&#8217;intégration continue, la responsabilité collective de l&#8217;équipe et la mise en place d&#8217;itérations.</p>
<p>- <strong>Agile Modeling</strong> (AM). AM est un ensemble de pratiques pour faire de la modélisation légère et de la documentation, y compris la gestion des exigences, de spécifications exécutables, participation active des parties prenantes, gestion par ordre de priorité des exigences, et preuve du fonctionnement avec le code (<i>NDLR comme le canada dry, c&#8217;est du scrum sans l&#8217;alcool&#8230;</i>).</p>
<p>- <strong>Agile Data</strong> (AD). AD est un ensemble de pratiques Agile pour le développement de base de données. Cela comprend par exemple une modélisation Agile des données, mettre en place une base de test, de refactoring et un système d&#8217;intégration continue pour la mise à jour de la base.</p>
<h3>APMM Niveau 2: Disciplined Agile Software Delivery</h3>
<p>Le niveau 2 du modèle de maturité étend le niveau 1 afin de se rapprocher du système de cycle de vie complet (SDLC). Comme <a href="http://www.ibm.com/developerworks/blogs/page/ambler?entry=agile_criteria">les critères de développement d&#8217;une équipe Agile et Disciplinée le suggèrent</a>, le niveau 2 tend à pousser encore plus certaines pratiques Agile comme les tests, la mesure de performance et la mise en place d&#8217;indicateur de qualité afin d&#8217;assurer un audit continu du produit. (<i>NDLR : ce que l&#8217;on retrouve dans CMMI par exemple</i>). Des exemples de processus de niveau 2 :</p>
<p>-  <strong>Rational Unified Process (RUP)</strong>. RUP est une méthode de prise en charge du cycle de vie du développement d&#8217;un logiciel qui peut être mise en place et adaptée à votre cadre, que ce soit de manière très agile ou sous forme très traditionnelle. Quelques pratiques de RUP incluent par exemple l&#8217;évaluation du risque et de la valeur, le développement piloté par les tests (TDD), de la modélisation des processus métiers et l&#8217;intégration continue.</p>
<p>- <strong>Open Unified Process (OpenUP)</strong><br />
OpenUP, disponible en open source, regroupe et étend les pratiques de Scrum, XP, AM et RUP pour les équipes de plusieurs départements qui construisent des applications d&#8217;entreprise. Quelques pratiques d&#8217;OpenUP sont la réunion de l&#8217;équipe tous les jours, le développement par ordre de priorité, la gestion et l&#8217;évaluation dans le cycle de vie du risque, les TDD, la participation active des parties prenantes(stakeholder) et l&#8217;intégration continue.</p>
<p>- <strong>Dynamic System Development Method (DSDM)</strong>. DSDM est un processus Agile de livraison initialement fondé sur Rapid Application Development (RAD), qui est souvent utilisé pour le développement intensif des interfaces utilisateurs d&#8217;une application. Quelques pratiques de DSDM comprennent le prototypage, le test dans l&#8217;ensemble du cycle de vie, la mise en place de changements réversibles, et l&#8217;étude de faisabilité.</p>
<h3>APMM Niveau 3: Agility à l&#8217;échelle </h3>
<p>Au début de l&#8217;Agilité, les applications où le développement Agile était appliqué étaient plus petites et couvrait des objectifs simples et clairs. Aujourd&#8217;hui la situation a beaucoup changé et les entreprises souhaitent appliquer les méthodes Agile à un spectre plus large d&#8217;applications. Les méthodes Agile ont donc besoin de s&#8217;adapter afin de répondre à différents besoins métiers, différents types d&#8217;organisation, et différents types de problèmes techniques que les entreprises rencontrent aujourd&#8217;hui. C&#8217;est l&#8217;objectif de ce niveau 3 de cette échelle de maturité : adresser explicitement les complexités que les équipes disciplinées et agiles rencontrent dans le monde réel.</p>
<p>Les facteurs de difficultés qu&#8217;une équipe Agile peut donc rencontrer à un niveau plus ou moins important sont par exemple : la taille de l&#8217;équipe, la répartition physique, la distribution décidée par l&#8217;entreprise, la conformité réglementaire à respecter, l&#8217;organisation et l&#8217;enracinement culturel inadapté, la complexité des SI existants, la discipline de l&#8217;entreprise (tels que respecter les choix d&#8217;Architecture <i>NDLR ou la stratégie de réutilisation de licences de logiciels payés les yeux de la tête&#8230;</i>). Chacun de ces facteurs apporte une échelle de complexités et de difficultés pour une équipe Agile, et donc chaque équipe rencontrant une combinaison différente, aura donc besoin d&#8217;un processus différent adapté à son cadre et à son entreprise afin de s&#8217;adapter précisément à son environnement.</p>
<p>Malheureusement le terme de &laquo;&nbsp;maturité&nbsp;&raquo; est chargé d&#8217;un sens assez lourd dans le domaine des processus logiciels, et non des moindres, en raison du processus <a href="http://www.touilleur-express.fr/2009/03/15/cmmi-608-pages-pour-changer/">CMMI</a> du Software Engineering Institute (SEII). Beaucoup de bon travail a été fait pour montrer que CMMI et les méthodes Agile peuvent être mis en oeuvre en même temps, et je me réjouis de voir que cette stratégie se concrétise. Cependant, l&#8217;objectif de CMMI est de fournir un cadre pour l&#8217;amélioration des processus métiers ; l&#8217;APMM est beaucoup plus modeste :<br />
- il ne cherche à définir un cadre qui peut être utilisé pour mettre un contexte ordonné aux myriades de processus Agile. A l&#8217;avenir sur ce blog je vous parlerai de comment CMMI et APMM peuvent fonctionner ensemble. &nbsp;&raquo;<br />
<strong>[Fin de la traduction]</strong></p>
<h3>Analyse</h3>
<p>L&#8217;article part du constat qu&#8217;il y a de plus en plus de mise en place de méthodes Agile au sein des entreprises, et que cette mise en place est difficile. La difficulté vient du cadre, du milieu et de l&#8217;existant. La proposition de ce modèle est donc de classer par niveau de maturité les différentes méthodes Agiles. Le but semble-t-il est d&#8217;expliquer que chacune de ces méthodes couvre tout ou partie des besoins. Scrum et XP n&#8217;adressent qu&#8217;une partie des besoins, là où RUP propose d&#8217;adresser un spectre plus large de problèmes, et donc de besoins. Après avoir lu cet article, je trouve que le classement est un peu faible. Cité dans l&#8217;article sur <a href="http://fr.wikipedia.org/wiki/Unified_Process">le Processus Unifié</a> de Wikipedia, <a href="http://www.ambysoft.com/scottAmbler.html">Scott Ambler</a> est l&#8217;auteur ou le co-auteur de 19 ouvrages. C&#8217;est un partisan de RUP et des différents processus unifiés apparus ces dernières années.</p>
<p>Je vois ces 3 niveaux comme un empilement successif de soins pour un même patient souffrant de différentes pathologies dont la gravité n&#8217;est peut-être pas forcément toujours bien évaluée. Entre un ongle cassé, une bonne bronchite ou une jambe cassée, il convient d&#8217;adapter le traitement. Un coach Agile dont la mission est d&#8217;aider une équipe, doit en premier lieu observer avant d&#8217;agir. Il y a certainement une partie dogmatique, que ce soit chez XP ou chez Scrum, où chacun des coaches Agile de ces 2 camps est certain de détenir le bon remède pour le patient. Je ne pense pas qu&#8217;un processus comme RUP réponde aux besoins récurrents et identifiés dans les entreprises de favoriser le canal de communication entre l&#8217;équipe de développement et les responsables produits. C&#8217;est le rôle de Scrum.<br />
De même je ne pense pas qu&#8217;une solution comme EUP proposé par Scott réponde au besoin de qualité et de transparence qu&#8217;XP apporte à une équipe. Il est donc important de prendre le temps de comprendre le fonctionnement de l&#8217;existant dans une équipe, un département et une entreprise avant de tenter d&#8217;insérer une méthode Agile, quelque soit son nom. Pour cette raison, toutes les méthodes Agile ne sont donc pas forcément adaptées. Je pense cependant que plus une méthode Agile tente de proposer des processus et une structuration, moins elle est Agile. RUP est une méthode Agile au sens itératif, incrémental, guidée par les besoins des utilisateurs et centrée sur l&#8217;architecture logicielle. Scrum est une méthode Agile qui est aussi itérative, incrémental et guidée par les besoins de l&#8217;utilisateur. Et le mot &laquo;&nbsp;Architecture&nbsp;&raquo; a été prononcé jeudi dernier aussi par Jeff Sutherland. Pourtant elle n&#8217;a rien à voir avec RUP ou XP&#8230; car elle ne répond pas au même besoin.</p>
<p>Si vous voyez une offre d&#8217;emploi pour un Coach XP ou Scrum, imaginez une petite annonce d&#8217;un malade qui recherche un gastroentérologue pour traiter la chute des cheveux&#8230; Le patient s&#8217;est auto-diagnostiqué et il cherche maintenant son médecin ! C&#8217;est fort non ?<br />
Il faut donc parler &laquo;&nbsp;Coach Agile&nbsp;&raquo; et ensuite rencontrer plusieurs personnes. Celle qui ne vous dit pas de quoi vous soufrez (si vous êtes en soufrance) n&#8217;est pas la bonne personne. Enfin pour terminer sur l&#8217;analogie avec la médecine, en chine les bons médecins ne soignent jamais car leurs patients ne sont jamais malade. Pour cela, la thérapie chinoise s&#8217;applique à traiter de manière préventive plutôt que curative. Appliqué à notre monde d&#8217;informaticien, cela revient à mettre en place quand tout va bien des principes Agile comme l&#8217;intégration continue, la gestion des demandes du client par priorité, la modélisation et l&#8217;architecture agile, les tests unitaires, etc.<br />
Lorsque tout va mal il est plus difficile de mettre en place un processus large comme RUP, il est plus facile par contre de travailler pour mettre quelques pratiques XP dans une équipe. Il faut à mon avis d&#8217;abord travailler avec des outils et des méthodes simples avant d&#8217;envisager de mettre en place des processus plus complexs, même s&#8217;ils sont Agile.</p>
<p>Plus le médicament est fort, plus les effets secondaires sont intenses.</p>
<h3>Références</h3>
<p>Voici quelques articles pour aller plus loin :<br />
- <a href="http://www.agilemodeling.com">http://www.agilemodeling.com</a> : la page de l&#8217;Agile Modeling dont l&#8217;auteur est aussi Scott Ambler, est une présentation d&#8217;une méthode Agile pour modéliser et documenter un logiciel. Les principes d&#8217;itération, de livrer par incrément, de privilégier la communication, bref une méthode Agile.<br />
- <a href="http://www.enterpriseunifiedprocess.com/">http://www.enterpriseunifiedprocess.com/</a> Scott (toujours lui) s&#8217;est ensuite attaqué à définir une méthode de gestion du cycle de vie de l&#8217;application dans le cycle IT. Là où RUP est axé uniquement sur le logiciel, EUP est un travail qui tente de définir le cycle de vie d&#8217;un logiciel. A cet instant précis j&#8217;essaye de comprendre l&#8217;intérêt de faire des courbes en couleur pour expliquer au lecteur que la conception d&#8217;un logiciel comprend une phase d&#8217;analyse, une phase de réalisation et une phase d&#8217;obsolescence&#8230;<br />
- <a href="http://fr.wikipedia.org/wiki/Unified_Process">Présentation du Processus Unifié et de RUP</a> sur Wikipedia<br />
- <a href="http://ivarjacobson.wordpress.com/2008/10/28/84/" alt="new">Scaling Scrum ?</a> par Ivar Jacobson. Son point de vue est que Scrum n&#8217;est pas adapté pour de larges architectures mais que c&#8217;est une très bonne solution pour des projets unitaires. Il utilise l&#8217;image suivante : imaginez que vous découvrez un processus chimique dans une éprouvette qui fonctionne à merveille. Pour le mettre en place à grande échelle, est-ce que vous prenez 1000 tubes à essai ou vous réflechissez à un moyen de mettre en oeuvre votre découverte ? Il recommande de conserver Scrum comme un des moyens de résoudre des problèmes, et que c&#8217;est l&#8217;utilisation au cas-par-cas de différentes méthodes qui permettent de &laquo;&nbsp;monter en charge&nbsp;&raquo;. Il explique aussi que la technique de &laquo;&nbsp;Scrum of Scrum&nbsp;&raquo; proposée par l&#8217;alliance scrum n&#8217;est pas une solution pour monter en charge. On ne peut pas faire du Scrum partout, c&#8217;est idiot et cela montre que l&#8217;on a rien d&#8217;autres à proposer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2009/03/22/the-agile-process-maturity-model-apmm/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Scrum c&#039;est fini ou le sujet People de janvier</title>
		<link>http://www.touilleur-express.fr/2009/02/07/scrum/</link>
		<comments>http://www.touilleur-express.fr/2009/02/07/scrum/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 22:59:29 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=741</guid>
		<description><![CDATA[Le sport ce mois-ci dans la blogosphère, c&#8217;est de d&#8217;annoncer l&#8217;échec ou la mort prochaine de  Scrum. Chacun y va de son article, soit vraiment inspiré et intéressant, soit complètement à côté de la plaque. C&#8217;est un mouvement amorcé sur les blogs anglophones qui va sans doute arriver dans les semaines qui viennent chez nous. Je vous propose un résumé des questions soulevées ces derniers temps afin de faire avancer le débat.
En novembre dernier, James Shore a publié un article intitulé &#171;&#160;The Decline and Fall of Agile&#171;&#160;. En substance, ...]]></description>
			<content:encoded><![CDATA[<p>Le sport ce mois-ci dans la blogosphère, c&#8217;est de d&#8217;annoncer l&#8217;échec ou la mort prochaine de  Scrum. Chacun y va de son article, soit vraiment inspiré et intéressant, soit complètement à côté de la plaque. C&#8217;est un mouvement amorcé sur les blogs anglophones qui va sans doute arriver dans les semaines qui viennent chez nous. Je vous propose un résumé des questions soulevées ces derniers temps afin de faire avancer le débat.</p>
<p>En novembre dernier, James Shore a publié un article intitulé &laquo;&nbsp;<a href="http://jamesshore.com/Blog/The-Decline-and-Fall-of-Agile.html">The Decline and Fall of Agile</a>&laquo;&nbsp;. En substance, James explique que les clients qu&#8217;il rencontre et qui disent avoir mis de l&#8217;Agilité dans leur gestion de projet sont souvent en souffrance. En passant d&#8217;une conception où le design et l&#8217;architecture sont fait en amont à un processus itératif comme Scrum, ses clients emmagasinent une énorme dette technique. Certes les fonctions clés du logiciel sont livrées mais il regrette que ses clients ne prennent pas en compte aussi les bonnes pratiques de la conception Agile proposées par l&#8217;eXtreme Programming (XP).</p>
<p>Scrum est un formidable bâton de dynamite.<br />
Pour peu que votre projet soit un peu bancal, mettez en place Scrum, laissez exploser cette dynamite et les poissons morts viendront à la surface. C&#8217;est un catalyseur qui mettra en avant l&#8217;ensemble des points faibles d&#8217;un projet ou d&#8217;une équipe, chose que l&#8217;on ne voit pas aussi vite avec un projet au forfait classique.<br />
Alors que faire pour éviter cela ou se corriger ? La question est : comment durer ?<br />
James explique que l&#8217;introspection est l&#8217;un des principes les plus importants souvent oublié ou négligé par les personnes qui débutent avec Scrum.<br />
Le souci numéro un, et je le vois aussi aujourd&#8217;hui dans ma mission, c&#8217;est que l&#8217;on est tenté de ne choisir qu&#8217;une partie des règles de Scrum. Imaginez jouer au foot mais en ajoutant que vous pouvez ramasser la ballle avec la main et que la durée des mi-temps n&#8217;est pas fixée à 45mn mais à votre bon vouloir&#8230;<br />
Premier principe : suivre dans un premier temps le processus. Agile ne veut pas dire &laquo;&nbsp;je peux faire n&#8217;importe quoi&nbsp;&raquo;.</p>
<p>Une critique faite à Scrum est aussi de ne pas avoir de pratique d&#8217;ingénierie. Oui en effet, Scrum n&#8217;est pas XP (eXtreme Programming). Scrum est un framework léger de gestion de projet. Ce n&#8217;est pas votre mère. Si vous souhaitez coder comme un cochon, libre à vous de faire ce que vous voulez. Jeff Sutherland explique qu&#8217;il voit que les équipes Scrum s&#8217;équipent en complément de méthodes XP, mais qu&#8217;il ne faut pas tomber dans le dogmatisme à outrance. J&#8217;ai fait l&#8217;expérience de faire du Scrum avec des pratiques de l&#8217;extreme programming (intégration continue, tests unitaires) sans non plus appliquer les 13 Principes d&#8217;XP car mon équipe marchait très bien sans. Et je ne suis pas le seul à <a href="http://www.noop.nl/2009/02/the-decline-and-fall-of-agilists.html">le dire</a>.</p>
<p>Regardons nos méthodes de développement : il est acquis en 2009 que l&#8217;industrialisation, l&#8217;intégration continue, les tests unitaires et le travail en binôme sont importants. Je me souviens de l&#8217;excitation autour d&#8217;XP que les gens ont un peu oublié. En 2002 <a href="http://www.amazon.fr/LExtreme-Programming-Avec-deux-études/dp/2212110510/ref=sr_1_9?ie=UTF8&#038;s=books&#038;qid=1234044243&#038;sr=1-9">un livre écrit par des français</a> comment Laurent Bossavit plutôt bien écrit m&#8217;a fait découvrir XP. Aujourd&#8217;hui nous sommes tous d&#8217;accord pour dire que les tests unitaires, la pratique du TDD, la refactorisation sont des pratiques importantes, indispensables et professionnelles.<br />
Donc pour moi, je considère comme acquis dans notre conscience ce besoin, et qu&#8217;il n&#8217;est pas forcément nécessaire de cristalliser les personnes qui font du Scrum en leur disant &laquo;&nbsp;ET FAITES AUSSI DU XP NOM DE DIEU&#8230;&nbsp;&raquo;.<br />
La majorité des équipes qui appliquent Scrum utilisent déjà tout ou partie des pratiques XP. Un développement au forfait fonctionne aussi bien avec des bonnes pratiques proposées par XP.</p>
<p>Revenons à Scrum : l&#8217;importance de l&#8217;environnement.<br />
Je travaille depuis quelques mois dans une nouvelle équipe. Scrum ne fonctionne pas comme je l&#8217;ai vu fonctionner avant. Pour l&#8217;instant je dis que cela ne fonctionne pas encore. Je m&#8217;interroge et je me demande si c&#8217;est de ma faute, si c&#8217;est la faute des gens, des managers&#8230; Pourquoi cette recette de cuisine ne semble-t-elle pas fonctionner pour l&#8217;instant ?<br />
Parce que justement ce n&#8217;est pas une recette.<br />
Je pense maintenant que Scrum donne un cadre et des pratiques simples. En modifiant ce que faisait l&#8217;équipe auparavant, le premier effet est de voire surgir les problèmes que nous n&#8217;avions pas identifié. Merci à Scrum. Ensuite je pense que bien que la recette soit définie, je dois m&#8217;autoriser à adapter une partie de Scrum à la vraie vie, ce que je fais. En faisant cela, j&#8217;ai bien conscience de prendre le risque de rendre les choses encore plus terribles&#8230; ce sera la faute de Scrum à la fin non ?</p>
<p>Alors j&#8217;ai regardé mon environnement : les équipes, le produit, les managers. Et c&#8217;est là qu&#8217;il faut travailler, redoubler d&#8217;efforts pour que la mise en place de Scrum ne soit pas partielle mais complète. Expliquer, rassurer, accompagner, coacher, écouter, parler, dessiner, dialoguer, diriger&#8230; mais ne pas faire du Scrum light.<br />
Je l&#8217;ai dit au départ à un stand-up un matin: il n&#8217;y a pas de &laquo;&nbsp;on fait un peu de Scrum, il faut s&#8217;engager complétement et suivre toutes les pratiques&nbsp;&raquo;.</p>
<p> Si vous pensez à Scrum pour gérer votre projet, je vous conseille d&#8217;y aller complètement et de ne pas suivre qu&#8217;une partie du framework Scrum. Ne prenez pas que le dessert. Prenez l&#8217;entrée, le plat de résistance et le dessert. Avant de critiquer un sport, assurez-vous de bien en connaître toutes les règles, de l&#8217;avoir pratiqué et d&#8217;avoir aussi accepté toutes les contraintes.</p>
<p>Nous en venons maintenant à ce que je dirai devant pas mal de monde en avril : scrum est un pétard qui a deux effets : euphorisant d&#8217;une part, explosif d&#8217;autre part.<br />
Dans les équipes qui travaillent encore avec des méthodes classiques de développement en cascade, le passage à une méthode Agile est un vrai explosif. Imaginez un chef de projet qui travaille 4 semaines sur une spécification technique. Il écrit noir sur blanc toutes les idées du client. Ensuite il rencontre les développeurs, qui ne sont pas d&#8217;accord ou qui objectent une partie du cahier des charges&#8230; Il réécrit alors ce cahier&#8230; Et ainsi de suite.<br />
Basculez ce projet à Scrum et la vie sera plus rose, le client sera impliqué et acteur de ses décisions. Nous livrerons moins mais mieux et plus souvent&#8230;. Scrum dans ce cas dynamite un peu l&#8217;organisation. Les cycles sont plus courts, la vélocité de production augmente et la satisfaction des clients augmente&#8230; C&#8217;est le premier effet Scrum.</p>
<p>Dans une équipe complètement déstructurée, chaotique, qui travaille dans l&#8217;urgence avec la méthode <a href="http://www.cafenware.com/la-rache/">LaRACHE</a>, la valeur de chacun est estimée sur le temps qu&#8217;il passe à réaliser son travail. Souvent le principe est de répondre aux demandes du client afin de s&#8217;assurer que celui-ci soit satisfait.<br />
Je pense dans ce cas que Scrum apporte un effet apaisant en structurant le dialogue entre les clients externes (les chickens) et les chefs de projets (les pigs).<br />
Dans une équipe chaotique pour ne pas utiliser un autre mot, le client peut venir voir le développeur et demander une modification au nom du principe édicté par une personne qui n&#8217;a jamais codé : &laquo;&nbsp;le client est roi&nbsp;&raquo;.<br />
Ce principe consomme beaucoup d&#8217;énergie, produit de la valeur sur le court terme mais n&#8217;est pas viable à terme. Imaginez une équipe de foot où les spectateurs pourraient venir sur le terrain pour expliquer au défenseur comment jouer&#8230;<br />
L&#8217;apport de Scrum dans ce type d&#8217;équipe est donc une structuration relativement légère qui permet un recadrage en douceur.</p>
<p>Regardons un peu plus loin : au delà de Scrum, honnêtement je n&#8217;imagine pas travailler, diriger une équipe ou même demain une entreprise sans au moins réfléchir aux pratiques, aux valeurs et aux techniques de cette méthode. Et parce que c&#8217;est une méthode simple, je me dis qu&#8217;il n&#8217;y pas de coûts excessifs à l&#8217;utilisier.<br />
Il reste cependant important d&#8217;intégrer des pratiques industrielles et des pratiques XP mais je pense que cela fait maintenant partie de nos habitudes. Il faut encore attendre et laisser mûrir Scrum.</p>
<p>Pour terminer, imaginez que vous êtes skipper, que je vous confie la mission de traverser l&#8217;Atlantique en bateau. Pour cela, pensez comment cela se passerait dans le cadre d&#8217;un projet au forfait classique puis ensuite sous la forme d&#8217;un projet Agile utilisant Scrum&#8230;</p>
<p>Moi je dis que le bonhomme qui chaque jour corrige son cap fait de l&#8217;itération car il sait qu&#8217;il n&#8217;y a pas qu&#8217;un seul cap pour traverser l&#8217;atlantique. Sa carte marine est son burndown-chart : il a dessiné la route idéale avant de partir, et il reporte chaque jour le trajet réalisé afin de savoir le &laquo;&nbsp;reste à faire&nbsp;&raquo;&#8230;</p>
<p>Sur ce, bonne journée.</p>
<p><strong>Références:</strong><br />
Hervé Lourdin OCTO Technologies<br />
<a href="http://blog.octo.com/index.php/2009/02/05/233-la-faute-a-scrum">http://blog.octo.com/index.php/2009/02/05/233-la-faute-a-scrum</a></p>
<p>Martin Fowler, sur XP et Scrum<br />
<a href="http://martinfowler.com/bliki/FlaccidScrum.html">http://martinfowler.com/bliki/FlaccidScrum.html</a></p>
<p>James Shore<br />
Scrum met en avant des problèmes existants, attention à sa fausse simplicité<br />
<a href="http://jamesshore.com/Blog/The-Decline-and-Fall-of-Agile.html">http://jamesshore.com/Blog/The-Decline-and-Fall-of-Agile.html</a></p>
<p>Le Chaos et l&#8217;ordre, Scrum vient déplacer votre ecosystème (merci à Gabriel Kastenbaum)<br />
<a href="http://www.noop.nl/2009/02/the-decline-and-fall-of-agilists.html">http://www.noop.nl/2009/02/the-decline-and-fall-of-agilists.html</a></p>
<p>Scrum ou XP ? Scrum ET XP<br />
Guillaume Bodet, Xebia<br />
<a href="http://blog.xebia.fr/2008/01/10/scrum-ou-xp-scrum-et-xp/">http://blog.xebia.fr/2008/01/10/scrum-ou-xp-scrum-et-xp/</a></p>
<p>Pourquoi les projets Agile ne peuvent pas être vraiment menés au forfait<br />
<a href="http://blog.xebia.fr/2009/02/04/pourquoi-les-projets-agiles-ne-peuvent-pas-vraiment-etre-menes-au-forfait/">http://blog.xebia.fr/2009/02/04/pourquoi-les-projets-agiles-ne-peuvent-pas-vraiment-etre-menes-au-forfait/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2009/02/07/scrum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Présentation de Lean chez Zenika</title>
		<link>http://www.touilleur-express.fr/2009/01/22/presentation-de-lean-chez-zenika/</link>
		<comments>http://www.touilleur-express.fr/2009/01/22/presentation-de-lean-chez-zenika/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 00:08:12 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=707</guid>
		<description><![CDATA[Zenika organisait ce soir une soirée de présentation sur les concepts et la méthodologie Lean. En quelques mots, Zenika c&#8217;est 16 personnes, des consultants Java/J2EE et surtout, un nom qui cherche ses racines dans les concepts de Lean. En effet Zenika est l&#8217;anagramme de Kaizen. &#171;&#160;Kai&#160;&#187; signifie &#171;&#160;changement&#160;&#187; et &#171;&#160;Zen&#160;&#187; signifie &#171;&#160;bon&#160;&#187;. J&#8217;ai croisé quelques têtes connues, Olivier Croisier qui a rejoint Zenika à la fin de l&#8217;année 2008, Thomas Queste, Florent Ramière, Thomas Parle, Pascal Thivent, et d&#8217;autres personnes du French Scrum User Group&#8230; Bref environ 110 personnes, ce ...]]></description>
			<content:encoded><![CDATA[<p>Zenika organisait ce soir une soirée de présentation sur les concepts et la méthodologie <strong>Lean</strong>. En quelques mots, Zenika c&#8217;est 16 personnes, des consultants Java/J2EE et surtout, un nom qui cherche ses racines dans les concepts de Lean. En effet Zenika est l&#8217;anagramme de Kaizen. &laquo;&nbsp;Kai&nbsp;&raquo; signifie &laquo;&nbsp;changement&nbsp;&raquo; et &laquo;&nbsp;Zen&nbsp;&raquo; signifie &laquo;&nbsp;bon&nbsp;&raquo;. J&#8217;ai croisé quelques têtes connues, <a href="http://thecodersbreakfast.net/">Olivier Croisier</a> qui a rejoint Zenika à la fin de l&#8217;année 2008, <a href="http://www.tomsquest.com/blog/">Thomas Queste</a>, <a href="http://www.jaxio.com">Florent Ramière</a>, Thomas Parle, <a href="http://pascal.thivent.name/">Pascal Thivent</a>, et d&#8217;autres personnes du French Scrum User Group&#8230; Bref environ 110 personnes, ce qui représente une belle assemblée pour écouter <a href="http://blog.nayima.be/">Pascal Van Cauwenberghe</a>, consultant Agile basé à Bruxelles et fondateur des XP Days Benelux.</p>
<p>La méthode Lean tire ses racines du constructeur automobile Toyota. Celui-ci applique des principes depuis une dizaine d&#8217;années, ce que l&#8217;on appelle <strong>The Toyota Way</strong>. Pascal nous propose simplement de dérouler et d&#8217;expliquer les 14 principes clés de Lean&#8230;<br />
Là je te sens sceptique lecteur. Tu te dis : super, on part pour 14 chapitres, je vais m&#8217;arrêter là.<br />
Grave erreur.<br />
Reste jusqu&#8217;à la fin, tu ne seras pas déçu. Sur les conseils de Thomas, j&#8217;ai bien saupoudré cet article d&#8217;exemple et de petites phrase afin de faire fonctionner tes muscles du sourire, et que le message passe, comme Pascal l&#8217;a fait ce soir.</p>
<h2>14 points pour faire simple</h2>
<p>Les principes de la méthode se découpent en 4 chapitres :<br />
 &#8211; les processus<br />
 &#8211; les personnes<br />
 &#8211; l&#8217;amélioration<br />
 &#8211; la philosophie</p>
<h2>1) Les processus</h2>
<p>Dans un premier temps, Pascal commence par expliquer que les bases de Lean sont de définir des processus exacts et justes, afin de produire le résultat attendu. Si votre développement dans votre équipe n&#8217;est pas guidé par des règles, le résultat ne peut pas être à la hauteur des espérances.</p>
<h3>1.1 Le débit</h3>
<p>Visualisez votre méthode de production de logiciel. Retirez les temps d&#8217;attentes et de latences et donnez un rythme, des repères de temps. L&#8217;idée est de créer un mouvement, de donner des contraintes de temps. La sortie d&#8217;une nouvelle version prend 4 heures. Je passe 1h pour créer une branche, 2h pour le packaging et les tests, 1h pour l&#8217;installation. Je gagne du temps en m&#8217;assurant que les problèmes surgissent très rapidement afin de les résoudre. J&#8217;essaye d&#8217;éviter le &laquo;&nbsp;Muda&nbsp;&raquo; ou gachis. Pour cela je réduis l&#8217;attente, le transport d&#8217;un point à un autre et les mouvements excessifs. En clair : je supprime les étapes qui dépendent lors de ma release d&#8217;une approbation d&#8217;un email. Je réduis le transport en supprimant un upload FTP et en compilant le produit sur la machine d&#8217;intégration. Je supprime les mouvements excessifs en mettant en place des scripts d&#8217;intégration afin d&#8217;éviter de devoir faire trop d&#8217;opérations pour sortir ma release&#8230;<br />
L&#8217;objectif est de réduire le temps d&#8217;attente entre la commande du client et la livraison de sa demande. Cycle itératif court, livraison au fil de l&#8217;eau si possible plutôt que par paquet de 10&#8230; Pourquoi pas ?</p>
<h3>1.2 Basculer vers un système où le client &laquo;&nbsp;tire&nbsp;&raquo; la production</h3>
<p>L&#8217;idée est de produire (donc de développer) uniquement selon la demande des clients. Pascal utilise l&#8217;image d&#8217;un rayon de supermarché : tant que le client n&#8217;a pas pris d&#8217;articles sur le rayon, on ne produit plus. Dès qu&#8217;il &laquo;&nbsp;consomme&nbsp;&raquo; un article, on lance alors l&#8217;approvisionnement.<br />
Rapporté à mon travail à la BNP, cela revient donc à dire que tant que l&#8217;utilisateur final n&#8217;a pas validé, commencé à utiliser ma superbe fonction, je ne m&#8217;embarque pas dans des développements. Cela a du sens.<br />
On évite ainsi la surproduction, le gâchis, et surtout d&#8217;avoir des fonctions jamais utilisées dans un logiciel.<br />
Pascal parle alors des cartes Kanban qui sont utilisés par Toyota afin de suivre la production. <a href="http://www.touilleur-express.fr/2008/11/08/kanban-ou-scrum/">Voir aussi un article écrit l&#8217;an passé sur le sujet</a>.</p>
<h3>1.3 Lissez la charge de travail/la production dans le temps</h3>
<p>Appelé &laquo;&nbsp;Heijunka&nbsp;&raquo; en japonais, ce concept vise à éviter l&#8217;épuisement des personnes (&laquo;&nbsp;Muri&nbsp;&raquo;) en s&#8217;assurant que la charge de travail soit constante, avec un rythme soutenu mais soutenable. Lorsque les équipes sont surchargées, elles peuvent certes répondre très ponctuellement à une demande. Si la situation perdure, on rentre alors dans un cycle d&#8217;épuisement, de démotivation et la chute est encore plus brutale.<br />
Pascal raconte l&#8217;histoire d&#8217;un développeur qui refuse de quitter son poste. Le premier soir, il lui demande de partir, le développeur répond qu&#8217;il doit encore terminer une tâche. Le deuxième soir, même chose. Le troisième soir, le développeur est encore là. Le lendemain, le coach le rencontre en entretien, et se rend compte alors d&#8217;un problème dans le logiciel dont le développeur ne souhaitait pas parler.</p>
<p>Il est aussi important d&#8217;éviter le &laquo;&nbsp;Mura&nbsp;&raquo;. En Français : coup de bourre. Dans la mesure du possible, si le cycle de travail de la personne n&#8217;est pas lissé, celle-ci va alors s&#8217;épuiser très rapidement. De plus, les temps d&#8217;arrêt et de redémarrage coutent chers. Amusez vous à interrompre un développeur toutes les 30 minutes, vous verrez à la fin de la journée la tête du bonhomme.</p>
<h3>1.4 Mettez en place une culture pour arrêter de résoudre les problèmes, car ceux-ci n&#8217;arrivent pas</h3>
<p>Oooh que j&#8217;aime cette idée. Au lieu d&#8217;utiliser de l&#8217;énergie pour résoudre un problème, arrangez-vous pour qu&#8217;il n&#8217;arrive pas. Pascal explique qu&#8217;en 1924, un inventeur Japonais mets au point le premier métier à tisser qui s&#8217;arrête en cas de problèmes. Avant cela, il fallait employer à plein temps une personne pour surveiller le métier à tisser et dire &laquo;&nbsp;&#8230; jusqu&#8217;ici tout va bien&nbsp;&raquo; afin d&#8217;arrêter la machine en cas d&#8217;erreur&#8230;<br />
La qualité n&#8217;est pas une option. Les tests unitaires ne sont pas un gadget, ce n&#8217;est pas négociable. Pensez votre logiciel afin qu&#8217;en cas d&#8217;erreur, celui-ci soit capable de se rendre compte que quelque chose cloche et qu&#8217;il s&#8217;arrête d&#8217;envoyer des messages JMS par exemple&#8230;<br />
Mettez une grosse lumière rouge dans votre open-space. Lorsque l&#8217;intégration continue explose, il faut que toute l&#8217;équipe se mobilise, il faut que le leader en soit informé. Pensez à réduire le nombre de fonctions que vous livrez, afin d&#8217;en livrer moins mais de meilleures qualités. Vous gagnerez du temps, et finalement vous pourrez en livrer plus, contrairement à ce que vous pensez au départ.</p>
<h3>1.5 Les tâches standardisées mais avec de l&#8217;humain</h3>
<p>Toyota utilise des robots pour construire ses voitures. Les robots sont utilisés pour les tâches pénibles et dangereuses, mais pas pour tout. Un humain a un cerveau, il sait s&#8217;adapter. Il faut donc conserver le pouvoir et le donner aux employés, au développeur.<br />
Enfin quelque soit le standard, celui-ci doit être amélioré en permanence. La personne qui fait de la production a le droit et le devoir d&#8217;améliorer le processus, chaque jour. Le gachis est de ne pas utiliser l&#8217;énergie des gens. Pour cette raison, Toyota a mis en place des boîtes à idées et récompense les ouvriers qui ont des idées, ce qui est le cas de tout le monde. Les experts sont les ouvriers, pas les managers.</p>
<h3>1.6 Utilisez le contrôle visuel, afin que les problèmes ne soient pas cachés</h3>
<p>Le principe ici est de mettre en place des indicateurs que toute l&#8217;équipe voit, ainsi que les managers et les clients. Concrètement, mettez au mur une feuille blanche, prenez des post-its de couleur, mettez une colonne &laquo;&nbsp;incidents en cours&nbsp;&raquo; ou &laquo;&nbsp;bugs urgent&nbsp;&raquo; et marquez les problèmes sur ces post-its. Oui vous pensez faire des loisirs créatifs, mais réfléchissez à l&#8217;utilité de ce genre d&#8217;indicateur. Un tableau se voit tout le temps. Les post-its représentent une quantité de problèmes à résoudre. Les clients voient au mur que votre équipe est surchargée. Vous pouvez aussi faire un suivi du temps de résolution. Il suffit de déplacer le post-it dans une colonne &laquo;&nbsp;Terminé&nbsp;&raquo; et d&#8217;indiquer le temps perdu sur la tâche.<br />
Pascal va encore plus loin en montrant la photo d&#8217;un urinoir. Au dessus de celui-ci on peut lire &laquo;&nbsp;11 bugs de Sev1, je sais que j&#8217;ai ton attention, alors au boulot !&nbsp;&raquo;. Pas mal non ?<br />
Les indicateurs visuels chez Toyota c&#8217;est un panneau lumineux placé sur la chaîne qui indique aussi les facteurs de productivité, les objectifs à atteindre, les problèmes en cours&#8230;</p>
<h3>1.7 Utilisez des technologies fiables, éprouvées et testées qui aident vos clients et vos développeurs</h3>
<p>Certainement le point qui fait le plus mal&#8230; Arrêtons 5 minutes avec nos frameworks de double-inversion de contrôle où tu configures en XML ce que tu faisais en Java&#8230; Revenons sur Terre 2 minutes, prenons des outils qui ont fait leurs preuves et arrêtons de nous faire plaisir, avec ce framework &laquo;&nbsp;jante alliage&nbsp;&raquo; qui aura disparu dans 6 mois, ou cette superbe librairie de parsing pour lire un fichier texte de 3 lignes&#8230;<br />
Il faut stimuler la recherche selon 3 étapes, de la plus facile à mettre en place à la plus révolutionnaire :<br />
 &#8211; conserver la solution existante<br />
 &#8211; améliorer par incrément<br />
 &#8211; faire une percée radicale<br />
Il y a souvent peu de problèmes de personnes, bien plus souvent un problème de processus.<br />
N&#8217;hésitez pas à investir du temps pour réaliser un prototype si vous souhaitez prendre une nouvelle technologie. Rejetez aussi les technologies qui ne sont pas compatibles avec votre culture, et encouragez les développeurs à toujours regarder ce qu&#8217;il se passe sur le marché, afin d&#8217;éviter de tomber dans un cul-de-sac technique&#8230; Et surtout, pensez à vous outiller. Je vous parlerai prochainement de SpringFuse, le produit de Jaxio. Il est temps d&#8217;arrêter de jouer aux Legos et de passer à des jeux un peu plus industriel.</p>
<h2>2) Les personnes</h2>
<p>La force d&#8217;une entreprise c&#8217;est son patrimoine humain. Sortons un instant de Lean. Regardez les cabinets de consultants sur Paris. Ce qui fait la valeur d&#8217;une entreprise c&#8217;est ses équipes. Pas son logiciel, pas ses méthodes. Non, juste ses équipes. Le secret des cabinets de consultant (SSII) qui marchent, c&#8217;est l&#8217;investissement dans les valeurs humaines. Le ticket d&#8217;entrée est plus cher, le retour sur investissement est bien plus important.</p>
<h3>2.1 Fait grandir des leaders</h3>
<p>Pascal explique que l&#8217;idée est de faire grandir des leaders en prenant des personnes du vivier de l&#8217;entreprise. Rien de pire qu&#8217;un manager parachuté à la tête d&#8217;une équipe d&#8217;après son expérience. Il explique que les leaders doivent servir de modèle pour les arrivant, et qu&#8217;un bon leader doit connaître les processus de son équipe en les ayant pratiqué. J&#8217;ai eu en tête le responsable du MacDo à côté de chez moi. Le gars a commencé il y a 7 ans comme équipier. Il gère aujourd&#8217;hui une équipe de 21 personnes&#8230; Et il n&#8217;a que 26 ans&#8230;</p>
<h3>2.2 Développe des gens exceptionnels et des équipes qui suivent la philosophie de ton entreprise</h3>
<p>Pascal explique qu&#8217;il est plutôt souhaitable de faire en sorte que les équipiers ne soient pas trop spécialisés dans une équipe de développeur. Pour cela, il faut mettre en place une dynamique et faire en sorte que le brassage des développements soit une réalité. Je suis un peu plus sceptique sur ce point, mais je comprends l&#8217;idée.</p>
<h3>2.3 Le respect est une valeur essentielle</h3>
<p>Tout d&#8217;abord respectez vos clients, mais aussi vos fournisseurs. Toyota rapproche géographiquement ses fournisseurs et montre toujours un respect important. L&#8217;exemple que Pascal utilise est le suivant : un constructeur automobile va voir un fournisseur de moteur. Il demande 5% de réduction, sinon c&#8217;est la fin du contrat&#8230; Aucuns respects du client.<br />
Toyota va voir le même fournisseur et propose de prêter 3 de ses ingénieurs afin de réduire les coûts de développement de 10%, et donc d&#8217;obtenir 5% de réduction aussi. Sauf que Toyota ne sera alors que le seul à bénéficier de cette réduction. Respect et intelligence&#8230;</p>
<h2>3) L&#8217;amélioration</h2>
<p>L&#8217;amélioration en permanence nous aide à résoudre les problèmes au fur et à mesure. En s&#8217;introspectant après chaque itération, une équipe de développement qui fait du Scrum s&#8217;autocritique et s&#8217;améliore. Pascal insiste sur le fait que l&#8217;introspection est peut-être le concept le plus important de Lean. Je pense à cet instant dans ma tête que chez mon client en ce moment, c&#8217;est le point que nous ne traitons pas. Il est temps de remettre en place ce processus d&#8217;urgence.</p>
<h3>3.1 Allez voir par soi-même les sources des problèmes &laquo;&nbsp;Genchi Genbutsu&nbsp;&raquo;</h3>
<p>Pour améliorer la production, Toyota préconise aux managers de descendre et d&#8217;aller sur la chaîne afin d&#8217;observer et de regarder en situation ce qu&#8217;il se passe. Il faut que le manager aille voir la production et qu&#8217;il identifie les problèmes. Pascal raconte l&#8217;histoire de la Poste Belge qui perdait du temps pour traiter l&#8217;envoi de colis internationaux à cause d&#8217;un mur (un vrai avec des briques) entre le quai de déchargement des camions et la pesée, obligatoire pour les envois et la facturation. En détruisant le mur, la productivité a augmenté.<br />
Il faut que votre chef passe un peu de temps avec vous afin de comprendre ce qu&#8217;il se passe.</p>
<h3>3.2 Prenez des décisions avec un consensus et le plus tard possible</h3>
<p>Dans un premier temps, listez toutes les options possibles. La Toyota Prius avait ainsi 80 projets de moteur différent au départ. Dessinez un rétro-planning en partant de la date de sortie souhaitée. Revenez en arrière et représentez à chaque fois la date limite où il faudra prendre une décision (Spring ou EJB 3.1 ?). Ne prenez la décision qu&#8217;au dernier moment, pas au début.<br />
En cas de problèmes, discutez avec toutes les personnes impliquées afin de prendre l&#8217;avis de tout le monde, et qu&#8217;une énergie commune fasse que les choses changent (&laquo;&nbsp;Nemawashi&nbsp;&raquo;).<br />
Le consensus prend peut-être du temps mais vous donnera un résultat de meilleur qualité. Le planning poker pour estimer le temps de développement d&#8217;une tâche est un exemple de consensus.</p>
<h3>3.3 Réflexions et améliorations</h3>
<p>La réflexion (&laquo;&nbsp;Hansei&nbsp;&raquo;) et l&#8217;amélioration continue (&laquo;&nbsp;Kaizen&nbsp;&raquo;) sont deux facteurs clés de la méthode Lean. Préparez des processus métiers qui ne demandent pas beaucoup de travail d&#8217;inventaire. Cela forcera les équipes à s&#8217;améliorer en permanence.<br />
Lorsqu&#8217;un process est stable mais qu&#8217;un problème survient, pensez à demander 5 fois &laquo;&nbsp;Pourquoi&nbsp;&raquo; à votre développeur.<br />
- &laquo;&nbsp;Je ne peux pas corriger ce problème car je n&#8217;ai pas le temps&nbsp;&raquo;<br />
- Pourquoi n&#8217;as-tu pas le temps ?<br />
- Je suis occupé par une tâche de production que je dois faire, je dois envoyer un nouveau mot de passe à un utilisateur<br />
- Pourquoi dois-tu envoyer un nouveau mot de passe ?<br />
- Parce que le système ne sait pas le faire<br />
- Pourquoi ne sait-il pas le faire ?<br />
- Nous n&#8217;avons pas développé de fonction &laquo;&nbsp;me renvoyer un nouveau mot de passe&nbsp;&raquo; sur la page d&#8217;accueil<br />
- Pourquoi ?<br />
- Parce que nous avons oublié de le marquer dans le Product Backlog et que nous n&#8217;avons pas écouté le chef de projet. La prochaine fois nous le marquerons dans le product backlog et nous ferons en sorte de l&#8217;implémenter.</p>
<h2>4) La philosophie</h2>
<p>Pascal Van Cauwenberghe termine par le point le plus important pour lui : la philosophie à long terme.<br />
<strong>Basez vos décisions de manager sur du long terme, même si le coût à payer à court terme est important.</strong>.<br />
Pour cela il évoque Toyota qui fait la promesse d&#8217;offrir un emploi à vie à ses salariés. En raison de la crise il se demande si cette philosophie pourra perdurer. Il explique que Toyota en accord avec ce principe, tente de former les gens en ce moment au lieu de les faire travailler sur des chaînes, afin que lorsque la crise sera passée, ils soient encore meilleurs&#8230; C&#8217;est beau&#8230;</p>
<h2>Conclusion et réflexions</h2>
<p>Après vous avoir présenté Lean tel que je l&#8217;ai vu ce soir, j&#8217;ai quelques réflexions.<br />
Tout d&#8217;abord je visualise maintenant mieux comment une méthode comme Lean est compatible avec Scrum ou XP. Pour tout vous dire, je vois Lean comme des jalons et des repères pour travailler mieux. Ensuite Scrum apporte un framework qui aide à piloter le cycle de développement d&#8217;un logiciel. Enfin XP est pour moi maintenant dans les habitudes des développeurs, et je pense par contre que vouloir caler ses 13 principes reste assez difficile.<br />
Donc on a un escalier avec 3 marches, la marche la plus haute étant XP, et la première étant Lean.<br />
Qu&#8217;en pensez-vous ?</p>
<p>Merci à Zenika qui a organisé une soirée très riche. A la sortie, remise d&#8217;un résumé de Lean, apéritif, accueil sympathique.. rien à redire. Bravo à eux.<br />
Zenika est sponsor du Paris Java User Group, ainsi que sponsor des <a href="http://www.xpday.fr/">XP Days</a> le 25 et 26 mai 2009.</p>
<p>Enfin j&#8217;ai appris aussi comme Olivier un peu au dernier moment que le <strong>3ème Java Barcamp aura lieu samedi 31 janvier</strong> toute la journée, cette fois-ci organisé par Eric Lefevre Ardant et Anthony Dahanne de Valtech. Plus d&#8217;information : <a href="http://barcamp.org/JavaCampParis3">http://barcamp.org/JavaCampParis3</a>.<br />
Le BarCamp se déroulera le samedi chez SUN au Sun Customer Briefing Center, 42 avenue de Iéna, 75016 Paris. Superbes locaux où j&#8217;ai travaillé deux mois pour une mission (soupir&#8230;).<br />
Moi je suis déjà pris, donc ce sera sans moi.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2009/01/22/presentation-de-lean-chez-zenika/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Soirée mercredi 21 janvier chez Zenika sur Lean</title>
		<link>http://www.touilleur-express.fr/2009/01/14/soiree-mercredi-21-janvier-chez-zenika-sur-lean/</link>
		<comments>http://www.touilleur-express.fr/2009/01/14/soiree-mercredi-21-janvier-chez-zenika-sur-lean/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 20:51:13 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[lean]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=699</guid>
		<description><![CDATA[Rappel pour les personnes intéressées par les méthodes Agile, Scrum, le Lean development : une soirée sur ce thème est organisée la semaine prochaine par le cabinet de conseil Zenika. Le présentateur sera Pascal Van Cauwenberghe. Rendez-vous à partir de 19h00 dans Paris au 54 rue Laffitte dans le 9 ème arrondissenebt, l&#8217;inscription se fait sur le site de Zenika.
J&#8217;en profite pour vous annoncer que le 14 avril prochain je présenterai Scrum avec Eric Mignot de Pyxis au Paris JUG, le 10 mars ce sera une soirée sur le Web ...]]></description>
			<content:encoded><![CDATA[<p>Rappel pour les personnes intéressées par les méthodes Agile, Scrum, le Lean development : une soirée sur ce thème est organisée la semaine prochaine par le cabinet de conseil Zenika. Le présentateur sera <a href="http://blog.nayima.be/">Pascal Van Cauwenberghe</a>. Rendez-vous à partir de 19h00 dans Paris au 54 rue Laffitte dans le 9 ème arrondissenebt, l&#8217;inscription se fait sur le site de Zenika.</p>
<p>J&#8217;en profite pour vous annoncer que le 14 avril prochain je présenterai Scrum avec Eric Mignot de Pyxis au Paris JUG, le 10 mars ce sera une soirée sur le Web et le 10 février, anniversaire du Paris JUG avec 3h de conférences au programme !!! le tout gratuitement !</p>
<p>A mercredi !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2009/01/14/soiree-mercredi-21-janvier-chez-zenika-sur-lean/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La méthode RESTO, une alternative à Scrum</title>
		<link>http://www.touilleur-express.fr/2008/12/19/la-methode-resto-une-alternative-a-scrum/</link>
		<comments>http://www.touilleur-express.fr/2008/12/19/la-methode-resto-une-alternative-a-scrum/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 09:58:43 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=442</guid>
		<description><![CDATA[Scrum est une méthode Agile de développement fortement anglo-saxonne. Par certains aspects, je me demande si les processus de Scrum sont adaptés à notre culture. Dans cet article, je déconnecte complétement votre subjectivité en vous proposant une nouvelle méthode virtuelle : la méthode Resto. Alors à table, il est temps de changer votre vision sur Scrum.
Je me pose pas mal de questions sur Scrum.
Une grosse partie de la méthode Scrum a révolutionné ma vision sur le développement informatique. A un point tel que j&#8217;ai vraiment du mal avec les méthodes ...]]></description>
			<content:encoded><![CDATA[<p><strong>Scrum est une méthode Agile de développement fortement anglo-saxonne. Par certains aspects, je me demande si les processus de Scrum sont adaptés à notre culture. Dans cet article, je déconnecte complétement votre subjectivité en vous proposant une nouvelle méthode virtuelle : la méthode Resto.</strong> <strong>Alors à table, il est temps de changer votre vision sur Scrum.</strong></p>
<p>Je me pose pas mal de questions sur Scrum.</p>
<p>Une grosse partie de la méthode Scrum a révolutionné ma vision sur le développement informatique. A un point tel que j&#8217;ai vraiment du mal avec les méthodes classiques de gestion de projet. D&#8217;un autre côté la maîtrise de Scrum demande des efforts qui vont au delà d&#8217;une simple formation.</p>
<p>Après quelques mois et un peu plus de recul, je commence à croire qu&#8217;il faudrait adapter et revoir culturellement la méthode avant de l&#8217;appliquer en France telle quelle. On peut reprocher à Scrum son cérémonial rigide. En effet malgré le peu de cérémonies, celles-ci sont des rendez-vous important pour que le processus fonctionne. La cérémonie qui fonctionnait le moins bien pour nous (chez Reuters) était la Sprint Review Meeting. Je demandais à l&#8217;équipe de lister les points qui s&#8217;étaient bien déroulés et les points à améliorer. Et finalement tout tournait autour de Scrum. Je sais que Scrum met en avant les points délicats dans la gestion d&#8217;un projet, que c&#8217;est l&#8217;un de ses effets. Cependant l&#8217;équipe n&#8217;arrivait pas à passer à l&#8217;étape suivant et à voir un intérêt à ces événements.</p>
<p>Alors réfléchissons à une autre méthode, <strong>la méthode RESTO </strong>(copyright Le Touilleur Express).</p>
<p>Les bases de cette méthode : cycle itératif court et limité dans le temps, une liste de fonctionnalités à implémenter, aucunes cérémonies, la capacité pour chaque développeur de prendre n&#8217;importe quand n&#8217;importe quel élément d&#8217;un tableau. Techniquement il vous faut des post-it, des marqueurs de couleur, un &laquo;&nbsp;paper board&nbsp;&raquo; et un peu d&#8217;organisation. Ensuite j&#8217;y ajoute des rôles tournants afin de pouvoir palier aux soucis venant de l&#8217;exterieur. Il me faudra un barman, des cuisiniers et des serveuses. A noter que si votre équipe est trop petite, vous pouvez cumuler les rôles.</p>
<p><strong>Faire le Menu de votre RESTO</strong></p>
<p>Tout d&#8217;abord la première étape est de regrouper dans un fichier Excel toutes les demandes de vos clients, les bugs et les demandes de changement. Pour chaque élément, vous allez identifier par une phrase comment le client testera la fonction.</p>
<p>Par exemple :  &laquo;&nbsp;<span style="color: #333399;"><em>j&#8217;ouvre mon navigateur, je me connecte sur l&#8217;adresse de la prod, je vois une page d&#8217;authentification. Je mets mon login et mon mot de passe et je peux alors entrer dans l&#8217;application. Sur la page d&#8217;accueil je peux cocher une fonction &#8216;Se souvenir de moi&#8217; et c&#8217;est tout</em></span>&nbsp;&raquo;<br />
Ce fichier doit être mis à jour en permanence selon les demandes des clients. C&#8217;est ce que j&#8217;appelle le Menu, et c&#8217;est ni plus ni moins un Product Backlog.</p>
<p>Les Serveurs auront pour mission durant la durée de la Mission de mettre à jour le contenu de ce fichier en y insérant les demandes des Clients. Les Cuisiniers seront chargés de donner le Prix à payer pour chaque élément, en respectant mes explications sur ce qu&#8217;est <a href="http://www.touilleur-express.fr/2008/12/11/devoxx-presentation-sur-les-estimations-du-temps-de-dev/">une Estimation</a> dans le cadre du développement d&#8217;un logiciel.</p>
<p><strong>Un peu de réunionite</strong></p>
<p>Ensuite je verrai bien une première réunion à laquelle j&#8217;inviterai un client avec l&#8217;équipe. L&#8217;idée est qu&#8217;avant de commencer à développer, le client est présent afin d&#8217;expliquer en détail et de clarifier les points qui seraient mal expliqué. Appelons cela la Commande. Une fois la Commande passée aux Serveurs, le Client doit attendre tranquillement que son plat soit préparé.</p>
<p><strong>Le Barman : mister Cocktail</strong></p>
<p>Le Barman est là pour le faire patienter. Il peut venir l&#8217;aider ponctuellement afin de l&#8217;aider à corriger un problème urgent. C&#8217;est la personne en charge de la production en quelques sortes. Il est disponible pour travailler avec le Client pendant que le reste de l&#8217;équipe bosse. L&#8217;idée par rapport à Scrum serait d&#8217;avoir une personne disponible et allouée afin de traiter les problèmes du Client en dehors du cycle de production. En fait le Barman se charge de faire boire le client pour le faire patienter. Je piquie cette idée à ce que nous faisons actuellement sur la plateforme de Prime Brokerage : l&#8217;un de nous est en charge de la production pour 5 jours et durant cette durée, ne participe pas aux développements de l&#8217;équipe.</p>
<p><strong>La batterie de Cuisine</strong></p>
<p>Les Cuisiniers ne voient pas le client, ce qui est peut-être une faiblesse par rapport à Scrum. D&#8217;un autre côté ils peuvent travailler en permanence sans devoir être présent à des réunions, ou être obligé de participer à des cérémonies comme pour Scrum. J&#8217;imagine ainsi accélérer la productivité en n&#8217;impliquant qu&#8217;une partie de l&#8217;équipe dans la relation client&lt; -&gt;équipe.</p>
<p><strong>Il est important de ne rien faire une fois par semaine</strong></p>
<p>Enfin j&#8217;y ajoute un concept qui vient de mon expérience chez Reuters : le vendredi c&#8217;est ravioli.</p>
<p>Derrière cette phrase magique, l&#8217;idée est de dire à toute l&#8217;équipe qu&#8217;une journée de la semaine est consacrée à faire autre chose que le boulot habituel. Durant cette journée, chacun fait ce qu&#8217;il veut tant que cela reste en rapport avec son travail. Je reprends une idée appliquée chez Google.<br />
Aurélien mon petit-frère a travaillé 2 ans chez Google en Irlande. Il m&#8217;expliquait ainsi qu&#8217;une partie de leur évaluation et donc de leur bonus est calculé sur leurs initiatives pour la communauté. Mon frère a ainsi monté un groupe de rock/folk et il a participé à une œuvre caritative, en plus de son travail, ce qui lui a valu des points en retour par son management. Évidemment cela ne rapporte rien, si ce n&#8217;est un esprit, une ambiance et quelque chose que les autres compagnies n&#8217;ont pas.</p>
<p>Je pense que la personne qui a l&#8217;idée d&#8217;un nouvel outil pour améliorer la productivité, ou qui a l&#8217;idée d&#8217;apporter un panier de basket pour que l&#8217;équipe se détende, devrait être récompensé. Attention je ne vois pas un système anglo-saxon basé sur la performance, plutôt un système bien français basé sur la bon humeur.</p>
<p>Nous pourrions imaginer qu&#8217;à la fin de chaque Mission, tout le monde donne un point à une personne de son choix. Celui qui a le plus de point est alors proclamé Grand Manitou, et il peut alors affecter une tâche rébarbative dont il a la charge à un de ses collègues. Le Grand Manitou a le droit de refuser une Commande d&#8217;un client pour la prochaine Mission. A chaque fin de Mission on élit alors <strong>un nouveau Grand Manitou</strong> et ainsi de suite.</p>
<p>Oui cela vous choque&#8230; pourtant j&#8217;ai entendu cette semaine le cas d&#8217;un grand cabinet de consultant qui a offert un iPhone à deux de ses collaborateurs les plus méritants, qui, par leurs contributions sur le blog de l&#8217;entreprise, ont contribué à améliorer la visibilité et la réputation de cette entreprise.</p>
<p>Prenons ensuite une spécificité franco-française que nos voisins Belges ou Suisses nous envient (peut-être) c&#8217;est la fin d&#8217;une mission. Après 2 semaines de développement, le dernier vendredi de ces 2 semaines sera une journée Ravioli, avec l&#8217;obligation de fêter la fin de la Mission. Pour cela vous pouvez apporter des croissants et faire un petit-déjeuner, vous pouvez faire un restaurant le midi ou même organiser un apéritif après le travail dans un bar à côté de votre travail&#8230; L&#8217;objectif est de FETER la fin de la Mission.</p>
<p>Dans le bâtiment lorsqu&#8217;une équipe termine un chantier, les ouvriers, l&#8217;architecte et les conducteurs de travaux se retrouvent afin de faire un grand repas pour fêter la fin du chantier. Je pense que nous devrions faire la même chose et formaliser cela dans <strong>la méthode RESTO</strong>.</p>
<p>Voilà un billet bien décalé qui nous sort de la morosité ambiante, qui nous permet d&#8217;envisager un processus adapté à nos habitudes, et qui je l&#8217;espère, vous donnera de l&#8217;inspiration pour vous épanouir et vous faire plaisir en travaillant. Je sais qu&#8217;au final derrière ce que je viens d&#8217;expliquer, ça sent le Scrum.</p>
<p>Bonnes fêtes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2008/12/19/la-methode-resto-une-alternative-a-scrum/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Devoxx : présentation sur les estimations du temps de dév</title>
		<link>http://www.touilleur-express.fr/2008/12/11/devoxx-presentation-sur-les-estimations-du-temps-de-dev/</link>
		<comments>http://www.touilleur-express.fr/2008/12/11/devoxx-presentation-sur-les-estimations-du-temps-de-dev/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 10:28:33 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[devoxx]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=563</guid>
		<description><![CDATA[Premier billet écrit entre 2 présentations et avant mon petit quickie tout à l&#8217;heure.
J&#8217;ai assisté tout d&#8217;abord à une présentation sur les techniques d&#8217;estimation du temps de développement appliquées à notre secteur. Le speaker, Gioavanni Asproni, a donné un ton très sympa à cette présentation.
Dans un premier temps, un bon mot pour commencer:

Estimation : Prediction is a very difficult task especially about future ones&#8230;&#160;&#187;

Giovanni demande à l&#8217;assistance qui donne des estimations de temps de développement ? la majorité de la salle. Qui se fait négocier par son managment ces temps ...]]></description>
			<content:encoded><![CDATA[<p>Premier billet écrit entre 2 présentations et avant mon petit quickie tout à l&#8217;heure.</p>
<p>J&#8217;ai assisté tout d&#8217;abord à une présentation sur les techniques d&#8217;estimation du temps de développement appliquées à notre secteur. Le speaker, Gioavanni Asproni, a donné un ton très sympa à cette présentation.</p>
<p>Dans un premier temps, un bon mot pour commencer:</p>
<blockquote><p>
Estimation : Prediction is a very difficult task especially about future ones&#8230;&nbsp;&raquo;
</p></blockquote>
<p>Giovanni demande à l&#8217;assistance qui donne des estimations de temps de développement ? la majorité de la salle. Qui se fait négocier par son managment ces temps de développement ? Encore une fois pas mal de monde.</p>
<p>Il explique ensuite la différence entre &laquo;&nbsp;Estimation&nbsp;&raquo; et &laquo;&nbsp;Engagement&nbsp;&raquo;.<br />
L&#8217;estimation est la mesure objective du temps nécessaire pour faire une tâche. Cette estimation n&#8217;est donc pas <strong>négociable</strong>. L&#8217;engagement représente le but à atteindre et donc la promesse. Cette promesse regroupe un niveau de qualité, un certain nombre d&#8217;itérations, bref c&#8217;est bien la promesse de ce que le client aura. L&#8217;estimation c&#8217;est le prix à payer.</p>
<p>Sur une route vous roulez avec un camping-car dont la hauteur est de 2m30. Arrive un pont dont la hauteur est limitée à 2m00. Est-ce que vous penser réussir à fare passer votre camping-car sous ce pont ? non. Vous pouvez toujours estimer si &laquo;&nbsp;ça passe&nbsp;&raquo; mais dans ce cas, à vous d&#8217;assumer les conséquences.</p>
<p>Donc l&#8217;estimation étant une mesure approximative, mais une mesure, vous ne devez pas négocier cette estimation. Vous devez donc négocier les engagements. Je reprends l&#8217;image du réservoir d&#8217;essence : lorsque le voyant s&#8217;allume car le réservoir est presque vide, sans le savoir votre cerveau bascule en mode &laquo;&nbsp;estimation&nbsp;&raquo;. Et vous êtes d&#8217;accord pour dire que cette estimation n&#8217;est pas négociable.</p>
<p>Il fait ensuite référence à un très bon livre de Steve McConnell &laquo;&nbsp;Software Estimation&nbsp;&raquo; afin d&#8217;expliquer finalement en quoi consiste une estimation.<br />
En tant que développeur nous allons nous efforcer de donner une valeur pour la taille, le coût, l&#8217;effort en jours et les risques pour réaliser une tâche. Lorsque votre responsable vous demande une estimation vous devez donc répondre &laquo;&nbsp;3 jours avec un risque important que la base ne tienne pas la charge, à 2 développeurs par jour avec une licence de GridGain&nbsp;&raquo;</p>
<p>Les estimations sont par nature sources de problème et de frustration, car le managment tient pour acquis le contrat passé entre vous et eux. Pour cette raison, Giovanni pense que les processus Agile par leurs cycles itératifs sont plus adaptés au développement logiciel que l&#8217;effet escalier, basé sur la contractualisation des échanges entre les développeurs et les personnes du business. Une spécification ne pourra jamais résoudre un problème de communication.</p>
<p>Il présente ensuite un cône sur une échelle de temps afin d&#8217;expliquer qu&#8217;en général, les estimations données pour une activité sont fausses, et que la marge d&#8217;erreur va de 0.25 à 4 sur une échelle verticale. Si je réponds 3 jours pour faire ce développement, il pourra en fait en prendre 4 fois plus. Ce travail est basé sur l&#8217;analyse de gros projets dans l&#8217;industrie de l&#8217;armement américaine, et des travaux de la NASA.</p>
<p>Ce cône est donc une fenêtre de tir pour nous clairement que nos estimations sont en générales fausses.</p>
<p><strong>Comment alors réussir à travailler et répoondre aux attentes des clients ?</strong><br />
Dans un premier temps, il faut passer beaucoup plus de temps sur l&#8217;engagement, sur la notion du fini, sur ce que désire le client. Regardez le temps que vous passez pour acheter une cuisine chez IKEA ou pour acheter une voiture. Pour quelles raisons le client refuserait-il de vous répondre sur un projet d&#8217;un million d&#8217;euros ?</p>
<p><strong>Comment gérer les changements du client ?</strong><br />
Vous devez penser que les changements sont gratuits et qu&#8217;ils vont arriver en cours de développement. Pour cette raison, les estimations doivent aussi être revues à la hausse ou à la baisse. Il est aussi important de rappeler à votre client que s&#8217;il décide de prendre les jantes alliages, cela coûte alors 400 EUR de plus&#8230; Pensez à toujours ajuster vos estimations afin que le client ne découvre pas au dernier moment l&#8217;addition.</p>
<p><strong>Faut-il surestimer ou sous-estimer ?</strong><br />
A cette question, Giovanni répond que les développeurs sont trop optimises de 30%. Par sécurité il faut donc mieux ajouter un peu plus à une estimation initiale. Cependant, l&#8217;effet inverse s&#8217;appelle <a href="http://en.wikipedia.org/wiki/Parkinson%27s_law">la loi de Parkinson</a> : le temps de travail temps à rejoindre le temps donné pour effectuer une tâche. Si tu me donnes 10 jours pour faire cette tâche, je vais tendre à remplir ces 10 jours, c&#8217;est humain.<br />
Avoir trop de temps disponible entraine aussi le phénomène de <a href="http://fr.wikipedia.org/wiki/Peur_du_travail">procastination</a> (décidemment avec le Touilleur Express vous faîtes aussi de la psycho). On tend à remettre à demain des tâches (payer ses impôts&#8230;) car on sait que l&#8217;on a jusqu&#8217;au &laquo;&nbsp;XXX pour payer&nbsp;&raquo;.</p>
<p><strong>Les techniques d&#8217;estimation</strong><br />
Il en existe un grand nombre, certaines basées sur l&#8217;observation du passé pour prédire le futur. A noter que dans la finance c&#8217;est une technique de calcul du risque sur un produit financier. Il y a des techniques scientifiques basées sur les probabilités, mais comme il le montre avec des formules un peu complexes, cela ne remplace pas l&#8217;humain.</p>
<p>Son point de vue est que les techniques suivantes fonctionnent bien :<br />
 &#8211; faire faire les estimations par les développeurs, surtout pas les chefs de projet<br />
 &#8211; faire des estimations collégiales pour que tout le monde donne son avis<br />
 &#8211; utiliser des analogies pour améliorer la précision d&#8217;une estimation<br />
 &#8211; ne pas oublier les activités connexes comme les tests, la mise en prodution, les tests en UAT par exemple.<br />
 &#8211; utiliser vos experts pour avoir de bonnes estimations mais ensuite pensez à augmenter ce temps. Tout le monde n&#8217;est pas un expert.</p>
<p>Les domaines où les prédictions/estimations sont appliqués sont la Finance, avec le succès que l&#8217;on sait aujourd&#8217;hui et sinon la dame en mini-jupe le dimanche soir sur TF1 : la météo de la semaine. Il y a aussi Mme Irma dans sa roulotte et Mr Marabout à Barbès.</p>
<p>Bref les estimations sont par nature fausses, il faut simplement travailler avec le client afin de le rassurer, de mettre en place des plans d&#8217;atterrissages d&#8217;urgence si le budget est dépassé. Et il faut aussi rappeler au client que le prix à payer n&#8217;est pas négociable.</p>
<p>Voilà pour cette première présentation</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2008/12/11/devoxx-presentation-sur-les-estimations-du-temps-de-dev/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

