<?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; scrum</title>
	<atom:link href="http://www.touilleur-express.fr/category/scrum-et-lagilite/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>Xebia Cards : une bonne idée</title>
		<link>http://www.touilleur-express.fr/2011/08/25/xebia-cards-une-bonne-idee/</link>
		<comments>http://www.touilleur-express.fr/2011/08/25/xebia-cards-une-bonne-idee/#comments</comments>
		<pubDate>Thu, 25 Aug 2011 09:00:41 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Perso]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=5523</guid>
		<description><![CDATA[Xebia a lancé une idée intéressante pour ses collaborateurs et ses clients, les Xebia essentials. Il s&#8217;agit d&#8217;un paquet de cartes, présenté dans un deck rigide, avec environ 80 cartes. Chaque carte présente une idée ou un principe utilisé dans le développement. Cela va de la bonne maîtrise de ses outils en passant par des principes comme celui de Poutsma : &#171;&#160;Si quelque chose est tros complexe à comprendre, il doit être faux&#160;&#187; ou encore le principe du boy-scout &#171;&#160;Leave the campground cleaner than you found it&#160;&#187; de Baden Powell.
Les ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-5524" title="SONY DSC" src="http://www.touilleur-express.fr/wp-content/uploads/2011/08/DSC01318-300x199.jpg" alt="" width="300" height="199" /><a href="http://www.xebia.fr/">Xebia</a> a lancé une idée intéressante pour ses collaborateurs et ses clients, les Xebia essentials. Il s&#8217;agit d&#8217;un paquet de cartes, présenté dans un deck rigide, avec environ 80 cartes. Chaque carte présente une idée ou un principe utilisé dans le développement. Cela va de la bonne maîtrise de ses outils en passant par des principes comme celui de Poutsma : &laquo;&nbsp;<a href="http://essentials.xebia.com/poutsma-principle">Si quelque chose est tros complexe à comprendre, il doit être faux</a>&nbsp;&raquo; ou encore le principe du boy-scout &laquo;&nbsp;<a href="http://essentials.xebia.com/boy-scout-rule">Leave the campground cleaner than you found it</a>&nbsp;&raquo; de Baden Powell.</p>
<p>Les cartes sont réparties par code couleur. Les idées d&#8217;architecture en orange, les principes de code en bleu, les principes d&#8217;équipe en rose. Les méthodes en rouge et enfin les tests en vert.</p>
<p style="text-align: left;">Chaque carte nous fait prendre conscience que l&#8217;on ne devient pas magiquement un bon développeur. C&#8217;est un gros travail. J&#8217;ai interviewé Jean-Laurent de Morlhon, l&#8217;un des responsables techniques de Xebia France afin de comprendre les origines de ce projet, et son déroulement. Le constat de départ est simple : avec une dizaine d&#8217;années d&#8217;expérience nous commençons à &laquo;&nbsp;sentir les choses&nbsp;&raquo; et à devenir &laquo;&nbsp;instinctif&nbsp;&raquo;. Comment transmettre et débattre de ce que nous avons appris et nous avons lu ? Comment former et proposer aux consultants quelque chose d&#8217;original ?</p>
<p style="text-align: left;">Xebia est répartie en Hollande, en Inde et en France. Le projet s&#8217;est déroulé sur plusieurs mois, chaque pays a contribué. L&#8217;équipe à Paris s&#8217;est chargée de la réalisation à proprement parler des cartes. L&#8217;ensemble est livré dans un beau boitier cartonné, chaque carte est assez rigide pour être passé de main en main lors d&#8217;une réunion.</p>
<p style="text-align: left;"><a href="http://www.touilleur-express.fr/wp-content/uploads/2011/08/DSC01310.jpg"><img class="size-medium wp-image-5525 aligncenter" title="SONY DSC" src="http://www.touilleur-express.fr/wp-content/uploads/2011/08/DSC01310-300x199.jpg" alt="" width="240" height="159" /></a></p>
<p>Un QRCode permet de se rendre sur le site <a href="http://essentials.xebia.com">essentials.xebia.com</a> où chaque carte est détaillée. Motivation, contexte d&#8217;application, exemple et références. C&#8217;est aussi un gros travail de documentation et de tri. Il y a eu environ 200 idées proposées. Après partage et délibération, 80 cartes ont été retenues.</p>
<p style="text-align: center;"> <img class="size-medium wp-image-5526 aligncenter" title="SONY DSC" src="http://www.touilleur-express.fr/wp-content/uploads/2011/08/DSC01321-300x236.jpg" alt="" width="300" height="236" /></p>
<p>Une explication du titre de la carte est placée au dos de celle-ci. Un lien vers le site internet de Xebia permet ensuite d&#8217;avoir plus d&#8217;informations, des exemples et de quoi mieux comprendre la carte.</p>
<p style="text-align: center;"><a href="http://www.touilleur-express.fr/wp-content/uploads/2011/08/DSC01320.jpg"><img class="size-medium wp-image-5527 aligncenter" title="SONY DSC" src="http://www.touilleur-express.fr/wp-content/uploads/2011/08/DSC01320-300x199.jpg" alt="" width="300" height="199" /></a></p>
<p><strong>Comment utiliser ce boitier ?</strong></p>
<p>Je pense qu&#8217;il peut servir d&#8217;outil lors des rétrospectives ou des stand-ups meeting. C&#8217;est aussi un moyen lors d&#8217;une pause café de discuter d&#8217;une idée ou d&#8217;un principe, et de le mettre en application immédiatement. Enfin il peut servir de référence lors de discussion ou de présentation.</p>
<p>Un principe que j&#8217;aime beaucoup &laquo;&nbsp;<a href="http://essentials.xebia.com/no-blame-no-mercy">No Blame, but no Mercy</a>&nbsp;&raquo; : Aucun blâme, mais aucune pitié. Sur votre projet, ne vous permettez pas de critiquer le développeur qui a écrit le code. Soyez critique et sans pitié sur le code, pas sur la personne qui l&#8217;a écrit. Elle débutait ? Elle n&#8217;avait que quelques minutes avant de partir ? Elle n&#8217;avait pas toutes les informations dont vous disposez aujourd&#8217;hui ? Soyez humble et ne blâmez jamais la personne. Soyez sans pitié pour le mauvais code. Peu importe qui l&#8217;a écrit. Nettoyez, refactorez, discutez avec d&#8217;autres développeurs. Ce que vous jugez mauvais est peut-être la solution la plus adaptée, la plus simple et la moins cher pour un problème. Bref soyez humble.</p>
<p><strong>Où trouver/acheter ce boitier ?</strong></p>
<p>Je crois que pour l&#8217;instant, il n&#8217;est pas possible de l&#8217;acheter. Je pense qu&#8217;il pourrait être intéressant de proposer une offre pour couvrir les frais de fabrication de chaque boitier, puis de proposer d&#8217;en faire l&#8217;acquisition aux équipes intéressées.</p>
<p>Je vous laisse, j&#8217;ai la carte &laquo;&nbsp;<a href="http://essentials.xebia.com/done" target="_blank">It ain&#8217;t over till it&#8217;s done</a>&nbsp;&raquo; en main et je vais prendre un café.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2011/08/25/xebia-cards-une-bonne-idee/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Travailler en tant qu&#8217;indépendant 2.0</title>
		<link>http://www.touilleur-express.fr/2011/08/19/independant/</link>
		<comments>http://www.touilleur-express.fr/2011/08/19/independant/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 09:02:47 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Innoteria]]></category>
		<category><![CDATA[Perso]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=5476</guid>
		<description><![CDATA[Il y a 3 ans, je quittais mon poste de Chef de projet chez un éditeur pour devenir freelance et indépendant. 3 ans après, j&#8217;ai découvert qu&#8217;il existe une nouvelle façon de travailler. J&#8217;ai fait l&#8217;expérience d&#8217;être freelance en mission chez des clients, puis de travailler chez moi. Nous allons d&#8217;abord parler de l&#8217;Indépendant 1.0, du type de mission que nous pouvons effectuer. Puis ensuite du nouveau métier d&#8217;Indépendant 2.0. 
Il y a tout d&#8217;abord l&#8217;indépendance au sens juridique et financier du terme. Vous claquez votre démission, vous créez votre ...]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://www.touilleur-express.fr/wp-content/uploads/2008/12/img_0111.jpg"><img class="size-medium wp-image-575 alignleft" title="Le touilleur express a Devoxx" src="http://www.touilleur-express.fr/wp-content/uploads/2008/12/img_0111-225x300.jpg" alt="" width="180" height="240" /></a>Il y a 3 ans, je quittais mon poste de Chef de projet chez un éditeur pour devenir freelance et indépendant. 3 ans après, j&#8217;ai découvert qu&#8217;il existe une nouvelle façon de travailler. J&#8217;ai fait l&#8217;expérience d&#8217;être freelance en mission chez des clients, puis de travailler chez moi. Nous allons d&#8217;abord parler de l&#8217;Indépendant 1.0, du type de mission que nous pouvons effectuer. Puis ensuite du nouveau métier d&#8217;Indépendant 2.0. </strong></p>
<p>Il y a tout d&#8217;abord l&#8217;indépendance au sens juridique et financier du terme. Vous claquez votre démission, vous créez votre EURL et en avant pour l&#8217;aventure. Dans l&#8217;informatique, le marché a besoin de vos compétences. Trouver une mission ne sera pas dur. Comptez 2 jours avec un CV dans l&#8217;air du temps. Vous débuterez votre nouveau boulot lundi prochain, bien plus vite qu&#8217;une embauche.</p>
<p>En effet.</p>
<p>Trouver une mission, c&#8217;est facile. Ensuite trouver un client avec lequel vous pourrez travailler en direct, s&#8217;avère plus <strong>difficile</strong>. Les grandes entreprises ne travaillent qu&#8217;avec une liste fermée de prestataires. Vous, simple petit indépendant, ne pouvez tout simplement pas travailler pour les grandes banques en direct. Il sera nécessaire de passer par de la sous-traitance, en trouvant un &laquo;&nbsp;porteur&nbsp;&raquo; référencé chez le client final. Parfois, vous trouverez vous-même la mission, vous serez ensuite obligé de demander la liste des sociétés référencées, de les contacter, et de venir les voir en disant : &laquo;&nbsp;<em>Salut, je veux bosser chez Client Final. Ca vous intéresse de faire 8 à 10% de marge, de montrer au Client Final que vous bossez avec moi ?</em> &laquo;&nbsp;.</p>
<p>Vous trouverez par contre sans problèmes des missions avec un intermédiaire comme une SSII ou un broker. Il y en a des tonnes sur Monster, sur Freelance.net et d&#8217;autres sites similaires.</p>
<p>Si je t&#8217;en parle, c&#8217;est pour t&#8217;expliquer l&#8217;influence de ce type de mission sur la notion d&nbsp;&raquo;indépendant.</p>
<p><strong>Il y a donc 2 types de clients : en direct et via un intermédiaire</strong></p>
<p>Sur ces 3 dernières années, j&#8217;ai travaillé avec 5 clients en direct et 2 clients via un intermédiaire. Les 2 clients pour lesquels j&#8217;ai travaillé via un intermédiaire étaient de grandes Banques, qui ne travaillent jamais avec des petites structures en direct.</p>
<p>Sur la durée, j&#8217;ai effectué 14 mois et 12 mois pour chacun de ces 2 clients avec intermédiaire. Sur mes 36 mois d&#8217;indépendant, j&#8217;ai donc travaillé 26 mois pour 2 clients, et le reste du temps pour ces 5 autres clients. Le plus long étant la startup en décembre 2009, avec 3 mois. Le plus court étant un audit pour un client avec 5 jours.</p>
<p>Donc 2 types de missions, avec une durée et un fonctionnement différent :</p>
<ol>
<li>la mission en régie via un intermédiaire pour un grand compte</li>
<li>la mission en direct sans intermédiaire</li>
</ol>
<p><strong>La mission en régie via un intermédiaire pour un grand compte</strong></p>
<p>Sur les missions à long terme, via un intermédiaire, vous vous retrouvez dans la même situation qu&#8217;un salarié, qu&#8217;un autre consultant ou qu&#8217;un interne. Chaque jour ressemble à la veille, et vous avez vite fait de prendre quelques habitudes routinières. Vous n&#8217;avez pas plus de temps que les autres pour développer votre entreprise et votre réseau. Côté veille techno, vous devez aussi travailler chaque soir pour avancer. Cependant sur mes 2 grosses missions, j&#8217;ai pu libérer du temps pour participer à des conférences comme Devoxx, Mix-IT, What&#8217;s Next, le JUG SummerCamp et les différents JUG où je suis allé. D&#8217;un point de vue légal d&#8217;ailleurs : vous faites ce que vous voulez : vous n&#8217;avez pas à demander l&#8217;autorisation de prendre des congés, vous êtes dans une relation commerciale avec le Client Final.</p>
<p>Tout ceci c&#8217;est ce que je vais appeler &laquo;&nbsp;<strong>être Indépendant 1.0</strong>&nbsp;&raquo; avec les caractéristiques suivantes :</p>
<ul>
<li>mission en régie chez le client</li>
<li>facturation à 30 jours</li>
<li>relative sécurité avec des contrats de 3 à 12 mois</li>
<li>parfait pour faire tourner financièrement son entreprise</li>
<li>n&#8217;offre pas plus de temps pour la veille</li>
<li>permet de prendre des jours pour participer aux conférences</li>
<li>adapté à ceux qui veulent travailler librement</li>
<li>moins de liberté dans les technologies utilisées</li>
</ul>
<p><strong>La mission en régie pour un client en direct</strong></p>
<p>Je ne parle pas des missions au forfait, car ce sont souvent des missions compliquées, que je préfère refuser. Je travaille plutôt en mode conseil, avec un contrat type de service, des conditions générales de ventes et des conditions particulières pour travailler avec mes clients.</p>
<p>Ce type de mission est différent. Les caractéristiques seraient celles-ci :</p>
<ul>
<li>une mission avec un client en direct</li>
<li>une réalisation chez le client ou chez vous (télétravail)</li>
<li>l&#8217;acceptation d&#8217;une précarité avec un contrat court de 30 jours renouvelable</li>
<li>un risque d&#8217;impayé plus élevé</li>
<li>un vrai rôle de conseil et d&#8217;expert</li>
<li>la possibilité de moduler son agenda en accord avec le client plus facilement</li>
<li>plus de temps pour effectuer de la veille technologique ou lancer ses propres projets</li>
<li>une liberté sur la réalisation, tant que cela marche, respecte le budget et rend le client heureux</li>
</ul>
<p><strong>Le type de mission d&#8217;un indépendant influence son emploi</strong></p>
<p>Or avec un peu de recul, je me rends compte que le type de mission va avoir une influence directe sur le type d&#8217;emploi. Si demain j&#8217;étais salarié, en télétravail ou chez un client, quelles seraient finalement les différences avec mon statut d&#8217;indépendant ?</p>
<p>Ces points vont me permettre de montrer aussi la différence entre un emploi salarié classique et ce type de nouveau profil. Et vous verrez qu&#8217;il doit être possible de proposer cet approche à vos salariés.</p>
<div>Tout d&#8217;abord la première différence avec un poste de salarié classique, est <strong>la notion d&#8217;efficacité : </strong>lorsque je travaille chez moi, je ne perds pas 1 à 2 heures dans les transports. De plus, je ne suis pas dérangé par des réunions ou des personnes extérieures à mon travail. Au final je me suis rendu compte depuis mai que je travaille bien plus efficacement tout seul, lorsque je fais du développement pur. En 4 heures, il m&#8217;arrive de faire le travail d&#8217;une journée. C&#8217;est bon pour mon client qui pour un prix/jour classique aura un résultat de meilleure qualité, plus rapidement.</div>
<p>Lorsque j&#8217;étais salarié ou consultant chez un client, il est vrai que l&#8217;obligation de suivre un cadre d&#8217;organisation limite la productivité. Parfois, en imaginant ne pas avoir à assister à certaines réunions, en évitant de recevoir 150 emails par jour, je me dis : je travaille vraiment. D&#8217;ailleurs, combien d&#8217;heures avez-vous vraiment travaillé aujourd&#8217;hui ? Combien de fois avez-vous été interrompu ? Pourquoi les Français restent-ils jusqu&#8217;à 19h ou 20h au boulot, en tirent une certaine fierté, alors que nos voisins verraient plutôt là le symptôme d&#8217;un gros souci ? Qui a dit que rester jusqu&#8217;à 22h permettait d&#8217;être &laquo;&nbsp;meilleur&nbsp;&raquo; ?</p>
<p><strong>La motivation</strong> est vraiment différente. Lorsque vous arrivez à travailler par plaisir, ce que je souhaite à tout le monde, vous explosez les compteurs de la productivité.</p>
<p>Saint-Exupery disait</p>
<blockquote><p>Quand tu veux construire un bateau, ne commence pas par rassembler du bois, couper des planches et distribuer du travail, mais réveille au sein des hommes le désir de la mer grande et belle</p></blockquote>
<p>Elle vient avec un cadre de travail et des outils adaptés. La question de prendre une bonne machine ou une belle chaise ne se pose pas. Prenez <a href="http://www.exoplatform.com">eXo Platform</a>, dont plusieurs salariés travaillent à distance. L&#8217;entreprise aide les personnes à acheter un bureau, un bon fauteuil et surtout un bon Mac. Je râlais <a href="http://www.touilleur-express.fr/2010/07/03/100mb/">il y a quelques mois</a> sur les DSI du XXieme siècle qui dépensent de l&#8217;argent pour mettre des filtres &laquo;&nbsp;top-sécurisés&nbsp;&raquo; ou des anti-virus. Lorsque vous êtes chez vous avec votre équipement, croyez-moi que vous êtes bien plus efficace. Un peu de discipline pour ne pas laisser Twitter et GMail ouverts en permanence, mais finalement les mêmes habitudes &laquo;&nbsp;qu&#8217;au bureau&nbsp;&raquo;.</p>
<p><strong>La relation à la hiérarchie</strong> est bien entendue complètement différente. Je ne vais pas le dire trop fort&#8230; mais est-ce que vous ne pensez pas que certains de vos managers sont inutiles ? Honnêtement ? Patrick le Group Manager, c&#8217;est pas un gros boulet ? Et Vanessa, la DirCom, elle en tient pas une bonne couche ?</p>
<p>Si vous êtes indépendant chez un client classique, et que vous y passez plusieurs mois, vous serez sans doute un jour confronté à la hiérarchie interne de l&#8217;entreprise. Normal, toute structure a besoin d&#8217;os pour se soutenir. Cependant on tend à promouvoir les gens qui sont compétents à leur poste actuel, en les transformant en &laquo;&nbsp;Chef de&#8230;&nbsp;&raquo;. Or vous le savez comme moi : un bon développeur n&#8217;est pas forcément un bon manager. Si bien qu&#8217;au bout de quelques années, il n&#8217;y a que des mauvais managers. Un bon manager deviendra Directeur ou sera chassé par la concurrence. Par contre personne ne voudra d&#8217;un mauvais directeur. On retrouve cela surtout dans les grandes sociétés, dans les organisations pyramidales obèses et fatiguées.</p>
<p>Je reconnais aussi qu&#8217;en devenant indépendant, après avoir été moi-même &laquo;&nbsp;chef de projet&nbsp;&raquo; pendant 3 ans, on perd le sentiment de peur ou de soumission du salarié vis-à-vis de sa hiérarchie. Rebelzzzzz !!! Disons plutôt : adulte. Fin de la récréation où ton manager écrasé par sa hiérarchie négocie tout avec toi : tu bosses pour toi.</p>
<p>Lorsque tu travailles pour un client en direct, la hiérarchie est inutile. Tu peux être confronté à une organisation pyramidale, mais tu n&#8217;en fais pas partie. Tu passes du mode &laquo;&nbsp;développeur ouvrier&nbsp;&raquo; au mode &laquo;&nbsp;développeur artisan&nbsp;&raquo; qui réalise son travail chez lui, pour le compte d&#8217;un client, qui souhaite de la qualité.</p>
<p><strong>L&#8217;innovation</strong> est un avantage compétitif lorsque l&#8217;on est Indépendant 2.0. Si je mange littéralement du Scala en ce moment, c&#8217;est pour 2 raisons. Tout d&#8217;abord je continue à suivre l&#8217;aventure de <a href="http://www.playframework.org/">Play! Framework</a>, et la partie Scala est intéressante. Ensuite, c&#8217;est dans l&#8217;idée de se former et de se positionner aujourd&#8217;hui sur des technologies pointues, qui seront utilisées demain. Je n&#8217;ai pas pris un langage complètement exotique. J&#8217;ai fait le choix de prendre un outil proche de Java, mais qui me permettra surtout d&#8217;être sollicité dans quelques mois, pour réaliser des missions encore plus intéressantes. J&#8217;aurais pu rester sur la stack technique que j&#8217;utilise, ou j&#8217;aurais pu aussi faire le choix de monter en compétences dans la Finance. J&#8217;ai fait le choix d&#8217;apprendre un nouveau langage. J&#8217;ai cependant aussi mon &laquo;&nbsp;<a href="http://www.amazon.fr/Options-futures-autres-actifs-d%C3%A9riv%C3%A9s/dp/2744075337/ref=sr_1_1?ie=UTF8&amp;qid=1313742643&amp;sr=8-1">Options, futures et autres actifs</a>&nbsp;&raquo; de John Hull sur la table de nuit.</p>
<p>Lorsque j&#8217;étais Independant 1.0, il était difficile d&#8217;avoir du temps pour apprendre de nouveaux langages ou de nouveaux outils. Vous êtes dans la même situation qu&#8217;un salarié ou qu&#8217;un autre consultant : votre boulot est de réaliser avec le socle technique de l&#8217;entreprise, pas de venir tout casser. J&#8217;en ai fait l&#8217;expérience il y a quelques temps : il n&#8217;est pas possible d&#8217;amener sa technologie &laquo;&nbsp;<em>kikoulol</em>&nbsp;&raquo; chez un client. Vous devez respecter et comprendre les synergies et les choix du client. Vous devez respecter son choix de telle ou telle technologie. Comprenez-bien : en tant qu&#8217;indépendant 1.0 vous apportez votre expertise dans la réalisation. Pas dans le choix de telle ou telle framework web. Si par contre vous pouvez avoir un rôle de conseil, allez-y car c&#8217;est intéressant.</p>
<p><strong>L&#8217;Agilité</strong> est un truc d&#8217;entreprise. J&#8217;en fais l&#8217;expérience tout seul : je ne fais pas de pratiques Agiles lorsque je suis tout seul. Non. Je ne vais pas mentir et faire style &laquo;&nbsp;<em>ouais je teste tout, je fais de l&#8217;intégration continue, je me fais des stand-up meeting tout seul, je mets des post-its dans le salon</em>&laquo;&nbsp;.</p>
<p>Non je ne fais rien de tout cela, et merci, je vais bien. Je travaille différemment. J&#8217;appelle cela de la &laquo;&nbsp;<strong>Pragmatilité</strong>&laquo;&nbsp;. C&#8217;est comme de l&#8217;Agilité, mais en plus pragmatique. Si je dois tenir une liste des choses à faire, je le marque sur une feuille de papier, je rature lorsque j&#8217;ai codé quelque chose, et c&#8217;est tout. Si je dois donner une estimation du reste à faire, je fais le point avec mon client et je réajuste le cadre de ce qu&#8217;il faut réaliser. Voilà.</p>
<p>Dernier mot enfin sur <strong>les heures de travail</strong>. Dans le cadre de l&#8217;entreprise, il est obligatoire d&#8217;avoir un créneau où l&#8217;ensemble des collaborateurs est là. De 10h à 17h par exemple. Ensuite, et je pense que vous le vivez, il y a ceux qui arrivent tôt et partent à 17h30, et ceux qui arrivent à 10h mais restent jusqu&#8217;à 20h. Etonnant non ? Lorsque je racontais à mes parents il y a 13 ou 14 ans que j&#8217;avais commencé à 11h et terminé à 21h avec 2h de Quake en réseau entre les deux&#8230; ils avaient un peu de mal à comprendre.</p>
<p>L&#8217;entreprise et la vie personnelle se mélange, ce qui n&#8217;est pas bon. Je ne trouve pas normal que Pierre réserve ses billets de train avec sa copine au téléphone à 15h00 de l&#8217;après-midi dans l&#8217;open-space, puis qu&#8217;il reste jusqu&#8217;à 19h pour travailler. Si vous êtes en entreprise ou chez un client, à vous de fermer votre espace de vie privée. Après tout, il y a quelques années, l&#8217;organisation des vacances pouvait attendre 19h non ?</p>
<p>Cela provient aussi du fait que l&#8217;entreprise et la vie privée sont mélangées. Quid alors de la situation d&#8217;une personne qui travaille chez elle ? Et bien croyez moi si vous le voulez : j&#8217;ai un emploi du temps bien organisé. J&#8217;accompagne les enfants à l&#8217;école, un peu de sport, lecture des blogs, rédaction d&#8217;un billet ou test, puis début de la journée. Pause café via Skype avec quelques potes indépendants, puis boulot jusqu&#8217;à midi. Je sors chaque jour, histoire de prendre l&#8217;air. Boulot ensuite toute l&#8217;après-midi, peu de pause. Hop je vais chercher les 2 petits, gouter, jeux, bains, diner : une vraie vie de famille pendant 2 à 3h. Ensuite si mon épouse bosse aussi, je bosse un peu encore 2 heures, et c&#8217;est tout. Finalement, c&#8217;est mieux qu&#8217;avant.</p>
<p><a href="http://www.touilleur-express.fr/wp-content/uploads/2011/08/3067907278_b218abe672_m.jpg"><img src="http://www.touilleur-express.fr/wp-content/uploads/2011/08/3067907278_b218abe672_m.jpg" alt="" title="3067907278_b218abe672_m" width="240" height="240" class="alignleft size-full wp-image-5507" /></a></p>
<h3>Indépendant 2.0 en quelques mots</h3>
<p>Je suis passé d&#8217;un mode salarié à un mode indépendant 1.0 pendant quelques temps. Puis en travaillant à mon compte pour l&#8217;eXpress-Board et en travaillant pour des clients en direct, j&#8217;ai découvert un autre métier. Disons plutôt une autre façon de travailler. Emploi du temps plus souple, motivation sur la réalisation, flexibilité des heures de travail, possibilité de se former et d&#8217;apprendre de nouvelles technologies.</p>
<p>Avec le Cloud Computing et les technologies du Web, je ne serai pas étonné de voir de plus en plus de personnes comme moi : vous travaillerez de chez vous ou dans des petits bureaux. Vos valeurs seront le travail, la qualité, la possibilité de travailler à distance et la bonne humeur. Vous n&#8217;aurez pas ou peu besoin de &laquo;&nbsp;manager&nbsp;&raquo; car le fruit de votre travail sera visible et tangible.</p>
<p>Je sais pas pour vous, mais si un jour je créé une société avec des geeks, et bien je garderai ce modèle. Je pense qu&#8217;il s&#8217;adapte aussi aux salariés en télé-travail.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>A voir :</strong></p>
<p>-<a href="http://blog.gist.com/2011/06/07/the-new-workstyle-leaving-the-old-behind/"> New Workstyle</a> : Un graph sympa qui montre le changement dans les habitudes de travail</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2011/08/19/independant/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Prévoir et prédire</title>
		<link>http://www.touilleur-express.fr/2011/01/28/prevoir/</link>
		<comments>http://www.touilleur-express.fr/2011/01/28/prevoir/#comments</comments>
		<pubDate>Fri, 28 Jan 2011 19:49:38 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Perso]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[agilité]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=4179</guid>
		<description><![CDATA[Le jour homme
Chaque équipe de développeur est composée de différents profils. Vous voyez une équipe de foot ? Et bien une équipe de développement c&#8217;est pareil. Il y a celui qui abat le travail comme un bucheron, celui qui a des idées ou celui qui est fort en Web. Or il nous arrive encore de rencontrer des responsables de projets informatiques, qui ne perçoivent pas cet écart de performance et de capacité entre développeurs. 
Il y a quelques années, je me souviens avoir discuté avec un chef de projet qui ...]]></description>
			<content:encoded><![CDATA[<h3>Le jour homme</h3>
<p>Chaque équipe de développeur est composée de différents profils. Vous voyez une équipe de foot ? Et bien une équipe de développement c&#8217;est pareil. Il y a celui qui abat le travail comme un bucheron, celui qui a des idées ou celui qui est fort en Web. Or il nous arrive encore de rencontrer des responsables de projets informatiques, qui ne perçoivent pas cet écart de performance et de capacité entre développeurs. </p>
<p>Il y a quelques années, je me souviens avoir discuté avec un chef de projet qui pensait que les développeurs étaient tous identiques, avec une capacité à produire du code facilement calculable dans Excel. La discussion était partie d&#8217;un tableau Excel justement. Il essayait de prédire, je dis bien prédire, la répartition de charge et de déterminer la date de fin de projet. Alors qu&#8217;il remplissait son tableau, je le voyais diviser des tâches entre développeur. Une tâche estimée à 8 jours passait ainsi à 4 jours s&#8217;il mettait 2 développeurs&#8230;<br />
Grave erreur. S&#8217;il faut 9 mois à une femme pour faire un bébé, 9 femmes ne font pas un bébé en 1 mois (la phrase est de 1975, de Frederick Brooks, tirée du livre <a href="http://en.wikipedia.org/wiki/The_Mythical_Man-Month">The mythical Man-Month</a>).<br />
Après discussion il a admit qu&#8217;il était très difficile de prédire quoique ce soit. Et nous avons travaillé à plusieurs pour réussir à faire un planning prévisionnel. </p>
<h3>Prévoir et prédire</h3>
<p>En fait si vous acceptez qu&#8217;il est impossible de prédire, vous avancerez et vous serez en mesure de chercher un autre moyen. Prévoir et prédire sont deux verbes différents. Il est possible de prévoir un budget, il est possible de prévoir le départ ou l&#8217;arrivée d&#8217;un développeur. Il est certainement important de prévoir la date de sortie de votre logiciel. Mais ensuite, la réalisation reste pour moi de la prédiction. Un planning détaillé de développement, que vous avez précieusement et difficilement mis à jour, n&#8217;est pas suffisant pour prédire correctement la fin d&#8217;un projet, dans le temps imparti, avec les fonctions demandées et en respectant un budget.</p>
<p>Il est évident qu&#8217;il est impossible de prédire le futur, et le problème se pose lorsque le responsable d&#8217;un projet confond prédiction et prévision. </p>
<p>Je vous prédis un bel avenir, je prévois que vous allez bien galérer avant d&#8217;y arriver.</p>
<p><em>(ce billet date en fait de septembre 2010)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2011/01/28/prevoir/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>USI 2010 : Neal Ford et Martin Fowler sur l&#039;importance de la communication et du feedback</title>
		<link>http://www.touilleur-express.fr/2010/07/13/usi-2010-neal-ford-et-martin-fowler-sur-limportance-de-la-communication-et-du-feedback/</link>
		<comments>http://www.touilleur-express.fr/2010/07/13/usi-2010-neal-ford-et-martin-fowler-sur-limportance-de-la-communication-et-du-feedback/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 06:00:44 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Perso]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[usi2010]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=4000</guid>
		<description><![CDATA[2ème partie consacrée à la Keynote de Martin Fowler et de Neal Ford après l&#8217;introduction consacrée à la plannification.

Neal Ford, Crédit photo : USI 2010 album sur Flickr.com
De l&#8217;importance de la communication
Après cette première partie, Neal Ford nous parle maintenant de la communication. Plus importante que la technologie, nous allons voir que la communication est l&#8217;un des points clés pour réussir des projets.
Neal demande à la salle si nous avons déjà fait partie de projets qui se sont plantés. Rires, quelques mains se lèvent. Il demande ensuite si la raison ...]]></description>
			<content:encoded><![CDATA[<p>2ème partie consacrée à la Keynote de Martin Fowler et de Neal Ford après <a href="http://www.touilleur-express.fr/2010/07/12/usi-2010-neal-ford-et-martin-fowler-partie-1/">l&#8217;introduction consacrée à la plannification</a>.</p>
<p><img src="http://farm5.static.flickr.com/4078/4763623025_42edc55bdd.jpg" alt="Neal Ford"/><br />
<br /><em>Neal Ford, Crédit photo : USI 2010 album sur <a href="http://www.flickr.com/photos/47388292@N04/4763623025/sizes/m/">Flickr.com</a></em></p>
<p><strong>De l&#8217;importance de la communication</strong><br />
Après cette première partie, Neal Ford nous parle maintenant de la communication. Plus importante que la technologie, nous allons voir que la communication est l&#8217;un des points clés pour réussir des projets.</p>
<p>Neal demande à la salle si nous avons déjà fait partie de projets qui se sont plantés. Rires, quelques mains se lèvent. Il demande ensuite si la raison de l&#8217;échec était le mauvais choix d&#8217;une technologie, ou une mauvaise communication ? L&#8217;ensemble répond : la communication.</p>
<p>Il est donc plus facile de planter un projet car vous communiquez mal, que parce que vous avez pris un framework exotique au lieu de prendre un framework standard.</p>
<p>Les projets se plantent souvent à cause des gens. La communication entre les gens devient très importante. Nous sommes des créatures massivement communicantes. Notez qu&#8217;en prison, la plus grosse punition est d&#8217;aller au mitard. De ne plus pouvoir communiquer avec d&#8217;autres humains&#8230; Dingue non ? Pensez aussi aux gens que l&#8217;on met &laquo;&nbsp;au placard&nbsp;&raquo;&#8230; Nous avons besoin de communiquer. C&#8217;est vital.</p>
<p>Alistair Cockburn explique dans un graphe que la qualité de la communication avec les outils modernes est très inégale.</p>
<p><img src="http://www.agilemodeling.com/images/communicationModes.gif" alt="Copright(c) 2002 Alistair Cockburn"/></p>
<p>Pour travailler, nous sommes bien plus efficace devant un tableau blanc qu&#8217;au téléphone, ou même pire, via un document Word. Le pire des processus de communication est le papier écrit. Et le drame, c&#8217;est que c&#8217;est l&#8217;un des plus utilisés dans les Entreprises. C&#8217;est marrant, mais la semaine dernière je suis allé chercher un grand tableau blanc pour notre équipe, et je l&#8217;ai installé dans notre bureau&#8230; Croyez-moi cela marche.</p>
<p>Neal Ford explique que c&#8217;est pour cette raison, qu&#8217;il est illusoire de croire qu&#8217;une spécification technique envoyé à des développeurs en Inde donnera le logiciel escompté. C&#8217;est une perte de temps et d&#8217;argent. Cela ne fonctionne pas.</p>
<p>Cela va plus loin. Nous avons même une capacité limitée à communiquer et faire autre chose en même temps. Vous ne vous êtes pas demandé pourquoi il est dangereux de téléphoner et conduire en même temps ? Pourtant vous avez le droit de parler avec votre voisin, vous pouvez écouter la radio, mais on vous interdit de téléphoner en même temps. Or pour ceux qui ont essayé (moi le premier) vous vous rendrez compte que la communication au téléphone est moins bonne que lorsque vous avez la personne à côté de vous. Cela vous demande même un effort plus important pour comprendre. Et cet effort vous déconcentre de la route. C&#8217;est bien là la preuve que les canaux de communications demandent plus ou moins d&#8217;efforts.</p>
<p>Un document écrit est aussi très destructif, car la possibilité de donner son retour n&#8217;existe pas ou peu, par rapport à une communication face à face. Bien entendu, ces documents sont souvent écrits à la suite de réunions, où nous nous sommes vus&#8230; Mais souvent le développeur n&#8217;aura pas eu l&#8217;opportunité de discuter avec le client, et de poser quelques questions simples. Il est donc primordial pour réussir un projet de prendre en compte ce facteur de communication.</p>
<p><a href="http://fr.wikipedia.org/wiki/Manifeste_agile">Le manifeste Agile</a> propose 4 valeurs clés, dont l&#8217;une est exactement ce que Neal Ford vient d&#8217;expliquer.<br />
Les quatre valeurs fondamentales Agiles sont :<br />
 &#8211; Davantage l’interaction avec les personnes que les processus et les outils.<br />
 &#8211; Davantage un produit opérationnel qu’une documentation pléthorique.<br />
 &#8211; Davantage la collaboration avec le client que la négociation de contrat.<br />
 &#8211; Davantage la réactivité face au changement que le suivi d&#8217;un plan.</p>
<p>Voir l&#8217;article original en Anglais : <a href="http://agilemanifesto.org/">http://agilemanifesto.org/</a></p>
<p>Neal Ford présente ensuite un projet supporté par ThoughWorks au Malawi. Ce projet permet à des infirmières de transmettre via SMS des bilans de santé, alors que les moyens de communications sont très mauvais, et que la vie est très dure. Ce projet <a href="http://www.rapidsms.org/">RapidSMS</a>, est un projet open-source réalisé pour l&#8217;UNICEF en Python.</p>
<p>La communication dans ce projet est vitale, et elle permet de sauver des vies.</p>
<p><strong>Le Feedback</strong><br />
Martin Fowler attaque maintenant la deuxième partie de sa présentation. Pourquoi certains projets réussissent bien ? Il souhaite nous parler de l&#8217;importance du retour d&#8217;information, le feedback en Anglais.</p>
<p>Martin nous montre une photo d&#8217;un gâteau. Réalisé avec une approche prédictive, tout le monde sait qu&#8217;il faut respecter la recette en cuisine pour réussir. Ma grand-mère me disait de mettre 75g de farine, et de ne pas poser de questions. La cuisine est une alchimie intéressante. Si vous avez une recette pour 4 et que vous voulez faire un gâteau pour 8, il ne faut pas doubler les quantités. En effet, lorsque vous doublez les quantités, vous avez toutes les chances de planter votre gâteau. Curieusement, la cuisine est bien plus compliquée que ce que nous pensons. Et bien le développement logiciel, c&#8217;est pareil. Il ne sert à rien d&#8217;ajouter 2 développeurs en pensant que vous irez 2 fois plus vite. Parfois même, vous irez 2 fois moins vite, car il faudra former ces nouveaux arrivants&#8230;</p>
<p>Martin nous montre une photo de gâteau donc, et une photo de pomme de douche. Quelles différences y-a-t-il entre une pomme de douche &laquo;&nbsp;chaud-froid&nbsp;&raquo; et un gâteau ? Et bien une histoire de retour, de feedback.</p>
<p><a href="http://www.touilleur-express.fr/wp-content/agile_approach_cook_vs_shower.png"><img src="http://www.touilleur-express.fr/wp-content/agile_approach_cook_vs_shower.png" alt="" title="agile_approach_cook_vs_shower" width="540" height="428" class="alignnone size-full wp-image-3997" /></a></p>
<p>La cuisine est un processus défini alors que régler une douche est un processus adaptatif/empirique.</p>
<p>La cuisine suit un plan précis, une recette. Et le feedback ne sera fait qu&#8217;à la fin. Peut-être que votre gâteau sera raté, peut-être qu&#8217;il sera excellent, vous ne le saurez qu&#8217;à la fin. Au contraire, si vous prenez une douche dans un Hôtel, et que vous devez régler la température, vous allez utiliser un feedback permanent pour adapter la température. C&#8217;est l&#8217;approche Agile.</p>
<p>Cette illustration nous permet de comprendre qu&#8217;il existe 2 types de processus, et que cela fait partie de notre vie quotidienne. Dans le cas d&#8217;un processus empirique (la douche) nous examinons le résultat final pour adapter le signal d&#8217;entrée. Dans le cas d&#8217;un processus défini, si je suis la recette à la lettre j&#8217;aurai toujours le même gâteau, je serai capable de reproduire à l&#8217;identique la même chose.</p>
<p><strong>Or chaque développement de chaque projet est différent</strong> et donc l&#8217;approche prédictive ne semble pas une bonne chose. Par contre pour mélanger des ingrédients chimiques dans une usine, vous serez d&#8217;accord qu&#8217;un processus défini est primordial, pour des raisons de sécurité. Pour le développement d&#8217;un logiciel, Martin Fowler nous demande de bien réfléchir avant de choisir une méthode de développement.</p>
<p>Si vous prenez l&#8217;approche empirique (la douche) pour construire votre logiciel, il est donc très important de mettre en place un système de feedback. C&#8217;est pour cette raison que les équipes Agiles s&#8217;installent des murs de post-it, des Kanban, des indicateurs visuels et toutes sortes de trucs sympas : pour avoir du feedback disponible à tout moment.</p>
<p>Martin Fowler montre la photo d&#8217;un immeuble de 20 étages en Chine. On voit qu&#8217;au 15ème, les fenêtres sont couvertes de post-it. C&#8217;est l&#8217;étage de ThoughWorks, facilement identifiable de la rue&#8230; Rires dans la salle.</p>
<p>L&#8217;intérêt d&#8217;un Kanban est que ce tableau est lisible par tout le monde. Ecrit clairement, il donne une vision de l&#8217;avancement du projet. Tout le monde peut y participer, et donc doit pouvoir y accéder facilement.<br />
<img src="http://www.touilleur-express.fr/wp-content/kanban.jpg" alt="" title="kanban" width="240" height="180" class="alignnone size-full wp-image-4012" /></p>
<p><strong>Feedback sur la construction du logiciel</strong><br />
Martin Fowler insiste ensuite sur l&#8217;importance de donner un indicateur sur l&#8217;avancement de la construction du logiciel. Nous devons savoir où nous en sommes en terme de développement du logiciel.</p>
<p>L&#8217;intérêt d&#8217;afficher sur le mur le planning de son projet est primordial. Martin Fowler explique qu&#8217;il lui arrivait auparavant d&#8217;aller dans des équipes de développement, et de constater que les développeurs n&#8217;avaient pas accès au planning global du projet. Mettez en place un tableau avec les prochaines semaines de développement, cela permettra de donner plus de visibilité et donc de sens, au travail de chacun.</p>
<p>A propos des outils électroniques, les équipes de développement préfèrent utiliser un vrai tableau plutôt qu&#8217;un logiciel. Je confirme : ne vous jetez pas sur un outil, privilégiez une solution simple à base de post-it et de fiches bristols. Cela fonctionne très bien.</p>
<p>Dans ce qui est de donner du feedback, Martin rappelle que le seul moyen de voir un progrès dans le développement d&#8217;un logiciel, c&#8217;est d&#8217;avoir un logiciel qui marche. Cela veut aussi dire, un logiciel déployé et testé.</p>
<p>Le processus de construction de votre logiciel est très important. Certains projets aiment bien utiliser des Lava Lampes rouges ou vertes pour signaler que la construction du logiciel fonctionne, ou non. A titre personnel, j&#8217;ai mis en place cette pratique à la BNP il y a un an et nous avions une Lava Lampe rouge que nous allumions pour signaler un &laquo;&nbsp;Build failed&nbsp;&raquo;. C&#8217;était sympa.</p>
<p>Neal Ford parle ensuite de CCBoard, un tableau de bord de construction de projets. Ce logiciel open-source permet d&#8217;afficher le status de toutes vos builds.</p>
<p>Faire de l&#8217;intégration continue c&#8217;est compiler, tester, packager, déployer, retester et valider un logiciel. Cela demande un effort, qui permet cependant de réduire à zéro l&#8217;effort de &laquo;&nbsp;release&nbsp;&raquo; d&#8217;un logiciel. Si vous êtes capable de construire à tout moment votre logiciel, et de le packager, vous comprendrez que faire &laquo;&nbsp;une release&nbsp;&raquo; devient facile.</p>
<p>A propos des pratiques de développement logiciel, Martin Fowler parle du Pair Programming. Il a été observé que lorsque 2 développeurs travaillent en même sur un écran, les deux n&#8217;utilisent pas la même partie de leur cerveau. Celui qui tape le code sur le clavier est dans la réalisation, alors que celui qui est assis à côté est dans la réflexion, la beauté du code et la vision globale. Celui qui code est le pilote, et celui qui est à côté est le navigateur. Cela permet de réaliser du code de meilleur qualité.</p>
<p>Martin utilise l&#8217;image d&#8217;un jardin de la Renaissance, tiré d&#8217;un château de la Loire. Puis ensuite l&#8217;image d&#8217;un jardin tropical, tiré d&#8217;un parc en Angleterre. D&#8217;un côté l&#8217;ordre, la clarté. De l&#8217;autre le chaos, le foutoir apparent. Et pourtant ces 2 jardins sont beaux. Ils correspondent à deux approches : l&#8217;une procédurale, l&#8217;autre artistique. Tout ceci pour illustrer qu&#8217;il faut des deux pour faire un monde. Et il nous encourage à mélanger ces 2 approches lorsque nous codons, en faisant du Pair Programming par exemple.</p>
<p><strong>Dernière partie</strong><br />
&laquo;&nbsp;La perfection n&#8217;est pas ce que nous visons, mais ce que nous faisons à tout moment&nbsp;&raquo;. Cette phrase de Kent Beck résume l&#8217;approche eXtrem-Programming, où l&#8217;on fait de tout, mais très bien et en permanence.</p>
<p>L&#8217;introspection est alors important. Chaque semaine, l&#8217;équipe doit réfléchir et s&#8217;assurer de s&#8217;améliorer en permanence. Si une équipe ne change pas ses pratiques régulièrement, et qu&#8217;au bout de 12 mois vous la retrouvez dans le même état, c&#8217;est qu&#8217;elle a cessé de progresser. Et c&#8217;est un indicateur qu&#8217;il manque peut-être des pratiques de rétrospectives.</p>
<p>Neal Ford ensuite à propos de la communication et du retour, nous raconte un peu ses expériences passées. Dans les équipes de développement qu&#8217;il a croisé, il a remarqué que les équipes aiment bien laisser trainer des petits jeux, des casse-têtes ou des Rubbik&#8217;s Cub. Cela permet en fait de décompresser et de mobiliser d&#8217;autres parties du cerveau. Il y a 5 ans, je me souviens que nous avions un petit panier de basket, et que nous faisions des tournois, histoire de lever le nez du code de temps en temps&#8230;</p>
<p>Neal Ford dit clairement que mettre des développeurs face à un mur pour coder, n&#8217;est pas une bonne idée. Il faut stimuler leur créativité. Il y a des entreprises qui mettent en place des règles et qui vous interdisent d&#8217;afficher des photos personnelles, des posters de cinéma, ou de vous balader en tee-shirt &laquo;&nbsp;My bozz rebooted&nbsp;&raquo; dans les couloirs&#8230; Pensez à ces photos des locaux de Google, où à l&#8217;excès inverse, les gens peuvent avoir un peu tout et n&#8217;importe quoi dans leur espace de travail&#8230; La notion de &laquo;&nbsp;Cubicle&nbsp;&raquo; est cependant très américaine, et c&#8217;est un aménagement de bureaux peu utilisé en France.</p>
<p>Ce qu&#8217;il faut retenir, c&#8217;est qu&#8217;il important de traiter les développeurs comme des créatifs. Ils doivent pouvoir aménager leur espace de travail librement. Mettez des tableaux blancs, laissez-les s&#8217;installer et s&#8217;approprier leur bureau. Si vous n&#8217;avez que des prestataires qui viennent de SSII, croyez-moi c&#8217;est possible. Nous avions une lava-lampe, j&#8217;avais acheté une petite plante verte, nous avions nos posters Scrum, le tout en évidence à côté de la cafétéria, et personne ne nous a jamais dit d&#8217;arrêter.</p>
<p>A propos de la construction des logiciels, Neal Ford raconte une histoire sympa. Dans une des équipes où il a travaillé, le logiciel d&#8217;intégration continue joue une petite musique de 3 secondes lorsque la compilation fonctionne. C&#8217;est très pratique, car cela permet de vous signaler que vos derniers commits fonctionnent, sans vous déranger. Vous entendez vos 3 secondes de musique, et vous pouvez continuer. Chaque développeur avait sélectionné une chanson ou un bruit, et donc pouvait savoir que son commit était passé. Sympa non ?</p>
<p>Ensuite, lorsque le build cassait, une autre chanson se mettait en marche. Dans son équipe c&#8217;était &laquo;&nbsp;<em>Oups I did it again !</em>&nbsp;&raquo; de Brittney Spears. Et d&#8217;entendre cette chanson mettait une bonne ambiance. Toute l&#8217;équipe se mobilisait pour aller réparer le logiciel immédiatement.</p>
<p>Neal Ford montre ensuite une photo d&#8217;une équipe de développement. On voit une énorme peluche de Kangourou assise sur le fauteuil à côté du développeur. Celui qui a le &laquo;&nbsp;Stuff Kangoroo&nbsp;&raquo; est responsable du build pour la journée. Lorsque la chanson de Brittney se met en marche, son travail est alors de chercher le développeur et de s&#8217;assurer que le logiciel est réparé rapidement. C&#8217;est un peu un rôle barbant, donc ce rôle tourne. Et celui qui a cassé le build récupère alors le &laquo;&nbsp;Stuff Kangoroo&nbsp;&raquo;. Et ainsi de suite&#8230;</p>
<p>Notre travail peut être amusant, et sérieux. Derrière cette peluche &laquo;&nbsp;pas sérieuse&nbsp;&raquo; il y a une pratique très précise de génie logicielle, celle de fixer tout de suite la construction du logiciel. Et ça marche ! Alors n&#8217;hésitez pas à aller chez Toyr&#8217;us et d&#8217;acheter un énorme Ours en peluche, et de le donner à l&#8217;équipe de développement. J&#8217;ai repéré une peluche de &laquo;&nbsp;Sully&nbsp;&raquo; du dessin animé &laquo;&nbsp;Monstres et compagnie&nbsp;&raquo; et je compte bien l&#8217;embarquer pour notre projet actuel.</p>
<p>Neal Ford montre enfin une page de Wiki généré automatiquement par l&#8217;outil de construction, sur laquelle les développeurs peuvent aussi écrire. Ce carnet de bord quotidien raconte la journée passée. A quelle heure Nicolas a commité son code&#8230; a quelle heure la compilation s&#8217;est terminée, puis les tests. Ensuite on voit que Pierre a annoté la page et qu&#8217;il a marqué un détail sur l&#8217;installation&#8230; Bref un carnet de bord, comme en marine, mais généré en partie automatiquement.</p>
<p><strong>Conclusion</strong><br />
En conclusion, Neal Ford reprend la question du départ : &laquo;&nbsp;<em>Pourquoi le développement Agile fonctionne-t-il si bien ?</em>&laquo;&nbsp;. Et bien grâce au Feedback, grâce à la communication, et aussi parce que nous percevons le métier de développeur différemment. Nous pensons que la réflexion est aussi importante que la réalisation. Et nous pensons aussi que le développement est fun !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2010/07/13/usi-2010-neal-ford-et-martin-fowler-sur-limportance-de-la-communication-et-du-feedback/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>USI 2010 : Neal Ford et Martin Fowler, partie 1</title>
		<link>http://www.touilleur-express.fr/2010/07/12/usi-2010-neal-ford-et-martin-fowler-partie-1/</link>
		<comments>http://www.touilleur-express.fr/2010/07/12/usi-2010-neal-ford-et-martin-fowler-partie-1/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 14:12:55 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Perso]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[usi2010]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=3994</guid>
		<description><![CDATA[
Crédit photo : USI 2010 flickr.com &#8211; Tous droits réservés
Martin Fowler et Neal Ford ouvrent cette deuxième journée de la conférence USI 2010. Deux des plus célèbres des Geeks pour commencer la journée&#8230; Avouez que cela vaut le coup non ? Leur présentation nous propose de comprendre non pas comment, mais pourquoi des logiciels fonctionnent&#8230; Suivez le guide.
Avant tout, je présente rapidement les deux speakers. Martin Fowler est d&#8217;origine anglaise, c&#8217;est un geek de 47 ans qui a participé au Manifeste Agile, a co-écrit des livres d&#8217;excellentes qualités sur le ...]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm5.static.flickr.com/4077/4763622875_46327bb6f3.jpg" alt="Martin Fowler USI 2010"/><br />
<em>Crédit photo : <a href="http://www.flickr.com/photos/47388292@N04/4763622875/">USI 2010 flickr.com</a> &#8211; Tous droits réservés</em><br />
<strong>Martin Fowler et Neal Ford ouvrent cette deuxième journée de la conférence USI 2010. Deux des plus célèbres des Geeks pour commencer la journée&#8230; Avouez que cela vaut le coup non ? Leur présentation nous propose de comprendre non pas comment, mais pourquoi des logiciels fonctionnent&#8230; Suivez le guide.</strong></p>
<p>Avant tout, je présente rapidement les deux speakers. <a href="http://en.wikipedia.org/wiki/Martin_Fowler">Martin Fowler</a> est d&#8217;origine anglaise, c&#8217;est un geek de 47 ans qui a participé au Manifeste Agile, a co-écrit des livres d&#8217;excellentes qualités sur le refactoring avec Kent Beck, et c&#8217;est surtout un conférencier de renom. Neal Ford est américain, Geek de 48 ans, passionné par la technologie, auteur de plusieurs livres comme l&#8217;excellent &laquo;&nbsp;<a href="http://oreilly.com/catalog/9780596519780/">The Productive Programmer</a>&laquo;&nbsp;, il travaille aussi chez ThoughtWorks avec Martin Fowler.</p>
<p>Neal Ford débute la présentation en nous apostrophant, afin de nous demander si nous savons <strong>pourquoi</strong> certains logiciels marchent, pas <strong>comment</strong> ils marchent. Martin Fowler explique qu&#8217;une phrase anglaise célèbre dit : &laquo;&nbsp;<em>Plan your work, work your plan</em>&laquo;&nbsp;. Cette approche prédictive est intéressante. Un plan est une prédiction de ce que l&#8217;on souhaite, plutôt une prévision. Et pour aller plus loin, le succès d&#8217;un projet dans ce cas, serait de dire que vous avez respecté votre plan à la lettre. Le succès des projets est défini sur la base d&#8217;une prévision. Cette approche prédictive est intéressante dans certains domaines, mais elle doit être discutée lorsque l&#8217;on parle de développement logiciel. Elle ne fonctionne que si vous êtes en mesure de préparer un ensemble clair et indiscutable de demandes, et que cet ensemble n&#8217;évolue pas dans le temps.<br />
Reconnaissez tout d&#8217;abord que c&#8217;est difficile. Il est assez difficile de tout prévoir, et de tout planifier. Et ce, d&#8217;autant plus que le projet est long.</p>
<p>Martin demande aux chefs de projets qu&#8217;il rencontre, si les exigences sont stables. Et c&#8217;est plutôt rare. Un sondage dans la salle remplie de près de 500 personnes montre aussi qu&#8217;en général, les demandes évoluent ou sont précisées alors que le développement a débuté. Presque personne n&#8217;a de demande stables. La communauté de l&#8217;approche traditionnelle le sait très bien. Alors ils cherchent à stabiliser et à figer les <em>requierements</em>. Ils mettent un point d&#8217;honneur à vous rendre la vie difficile si vous souhaitez changer quelque chose.</p>
<p>Dans le monde Agile, nous savons que le changement est une composante du développement logiciel. Cela nous permet de nous en servir comme d&#8217;un avantage, plutôt que de le subir. Nous avons développé des techniques pour absorber le changement, tout en délivrant le logiciel. La première de ces techniques, est de séparer la phase de recueil des exigences, de la phase d&#8217;implémentation. Pour parler de Scrum, nous avons une étape de capture des <em>requierements</em>, c&#8217;est l&#8217;alimentation du Product Backlog. Et nous avons par ailleurs un cycle de développement, qui travaille sur un périmètre stable. Vous voyez que nous avons bien besoin de figer à un moment donné les demandes, mais nous le faisons sur une petite période de 2 à 3 semaines.</p>
<p><strong>How do we do this ?</strong><br />
Nous passons d&#8217;une approche prédictive à une approche adaptative. Le secret de l&#8217;Agilité c&#8217;est que l&#8217;on ne peut prévoir tout, mais que par contre on sait s&#8217;adapter. D&#8217;où ce mot &laquo;&nbsp;Agile&nbsp;&raquo; finalement. Faire de l&#8217;Agile ce n&#8217;est pas jeter des plannings. Au contraire, nous serons en mesure de donner un planning chaque semaine. Nous serons en mesure de prédire avec précision les 2 semaines qui arrivent.</p>
<p>Ensuite, pour réussir il ne faut pas uniquement appliquer des méthodes Agiles et penser que cela va réussir. Il faut absolument prendre de bonnes pratiques de programmation. Tests unitaires, intégration continue, refactoring, vous les connaissez tous je pense. Martin propose de relire un papier publié il y a 10 ans, remis au goût du jour en 2004, que chaque Architecte Agile devrait connaître : &laquo;&nbsp;<a href="http://martinfowler.com/articles/designDead.html">Is Design Dead ?</a>&laquo;&nbsp;. Faire de l&#8217;Agilité ce n&#8217;est pas jeter le Design à la poubelle. Au contraire.</p>
<p>Martin Fowler raconte qu&#8217;il va parfois dans certaines entreprises qui sont passées d&#8217;une approche classique à une approche Agile. Et les projets ne réussissent pas mieux. L&#8217;Agilité permet même de se planter plus vite en fait. Il rappelle l&#8217;importance des techniques de programmation et de développement telles que celles de l&#8217;eXtreme Programming. Faire de l&#8217;Agile sans changer sa méthode de travail ne permet pas de réussir mieux. A méditer lorsqu&#8217;un consultant de 19 ans de <em>McKissé</em> vous vend de l&#8217;Agilité&#8230; alors qu&#8217;il n&#8217;a jamais programmé.</p>
<p>Donc pour résumer cette première partie : passez de l&#8217;approche prédictive à l&#8217;approche adaptative.</p>
<p><strong>La seconde distinction</strong><br />
Une photo de Taylor nous rappelle qu&#8217;au XXe siècle la vision du Taylorisme visait à séparer l&#8217;exécution d&#8217;une tâche de sa définition. Ecoutez bien ce qui va suivre, moi j&#8217;ai adoré. Il y a 100 ans, nous pensions que pour être plus effectif, il fallait que des gens pensent à ce qu&#8217;il faut faire, et que d&#8217;autres réalisent cette tâche. C&#8217;est le métier d&#8217;Ingénieur ou d&#8217;Architecte, ce métier où tu penses à ce qu&#8217;il faut faire. Mais dans le développement informatique, nous avons juste oublié la partie &laquo;&nbsp;réalisation&nbsp;&raquo;, la partie &laquo;&nbsp;artisanale&nbsp;&raquo;. Et c&#8217;est pour cette raison que de très bons scientifiques, en mesure de penser, sont de très mauvais exécutants. Personne ne leur a appris à programmer.</p>
<blockquote><p> Vous savez pourquoi il faut le faire, mais vous ne savez pas comment faire&#8230; <br />N.Martignole</p></blockquote>
<p>L&#8217;approche traditionnelle du développement logicielle essaye de séparer ceux qui conçoivent de ceux qui réalisent. Cette vision fonctionne si les gens qui réalisent sont prévisibles. S&#8217;ils suivent à la lettre le processus standardisé, comme un ouvrier finalement, oui cette approche devrait marcher. Alistair Cockburne explique que les gens ne sont pas prédictibles :</p>
<p><em>In the title, [of his article] I refer to people as &laquo;&nbsp;components&nbsp;&raquo;. That is how people are treated in the process / methodology design literature. The mistake in this approach is that &laquo;&nbsp;people&nbsp;&raquo; are highly variable and non-linear, with unique success and failure modes. Those factors are first-order, not negligible factors. Failure of process and methodology designers to account for them contributes to the sorts of unplanned project trajectories we so often see.<br />
[<a href="http://alistair.cockburn.us/Characterizing+people+as+non-linear,+first-order+components+in+software+development">Alistair Cockburn non-linear</a>]</em></p>
<p>Dans l&#8217;approche traditionnelle, nous pensons que les processus vont nous aider. Cela va plus loin, car certaines approches (Model Driven Architecture) proposent de retirer la possibilité de développer, pour plutôt générer du code. La génération automatique de code permettrait d&#8217;économiser du temps. Cette approche essaye de combattre le caractère imprévisible de l&#8217;être humain. Générer un logiciel par modélisation c&#8217;est mettre un terme au chaos de la programmation classique.</p>
<p>Je pense à titre personnel que l&#8217;approche MDA permet de déplacer la complexité, mais qu&#8217;elle ne peut pas être une solution pérenne pour développer des projets de bout en bout. Lorsque nous aurons compris que la programmation d&#8217;un logiciel complet ne peut pas être automatique, nous aurons fait un grand pas.</p>
<p>Les développeurs sont donc les personnages les plus importants dans le développement logiciel. Or ils ne sont pas prévisibles, il est donc stupide de voir les gens comme des ressources. L&#8217;utilisation du jour/homme fait beaucoup de tord à notre industrie. Je connais personnellement des personnes qui font en 1 journée ce que d&#8217;autres font en 20 jours. Et je me mets dans les 20 jours. Et inversement, je peux faire des choses en 1 journée qui demanderaient 20 jours à un autre développeur. Nous ne sommes pas égaux devant les problèmes de programmation. Nous ne pouvons donc pas prévoir la fin d&#8217;un projet en divisant le nombre de jours par la &laquo;&nbsp;<em>quantité de ressources disponibles</em>&laquo;&nbsp;. Mettez-vous cela dans le crâne une fois pour toute.</p>
<p>Alors comment cela fonctionne-t-il ? Martin Fowler explique que nous devons prendre un groupe de développeurs, mettre en place quelques règles, puis ensuite s&#8217;adapter et faire des rétrospectives afin de progresser. Il est contre-productif d&#8217;utiliser des processus et de la standardisation, cela tend à niveler par le bas les niveaux des équipes.</p>
<p><em>People comes first, and they chosse their own process they follow, not the opposite.</em></p>
<p>En résumé, Martin Fowler a parlé de l&#8217;attitude par rapport au planning, et de l&#8217;attitude par rapport aux gens.</p>
<p><strong>Fin de la première partie</strong><br />
<em>Retrouvez la suite de cette KeyNote dans un deuxième article demain</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2010/07/12/usi-2010-neal-ford-et-martin-fowler-partie-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Retour sur le livre &quot;Gestion de Projet Agile v3&quot; par V.Messager Rota</title>
		<link>http://www.touilleur-express.fr/2010/06/17/retour-sur-le-livre-gestion-de-projet-agile-v3-par-v-messager-rota/</link>
		<comments>http://www.touilleur-express.fr/2010/06/17/retour-sur-le-livre-gestion-de-projet-agile-v3-par-v-messager-rota/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 06:14:16 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Perso]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=3841</guid>
		<description><![CDATA[J&#8217;ai terminé la lecture du livre &#171;&#160;Gestion de Projet Agile&#171;&#160;, 3e édition, écrit par Véronique Messager Rota. Publié chez Eyrolles, l&#8217;ouvrage de 278 pages s&#8217;adresse à deux publics à mon avis. D&#8217;une part les personnes du &#171;&#160;canal historique&#160;&#187; de la gestion de projet, à la recherche d&#8217;un éclaircissement sur les méthodes de Gestion Agile. D&#8217;autre part, ceux comme moi qui ont abordé la gestion de projet grâce aux méthodes Agiles, et qui souhaitent compléter leurs connaissances.
L&#8217;ouvrage commence par un questionnaire qui permet d&#8217;identifier sa connaissance de la gestion de projet. ...]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.eyrolles.com/Scan/9782212127508.gif" alt="gestion de projet agile"/>J&#8217;ai terminé la lecture du livre &laquo;&nbsp;<a href="http://www.eyrolles.com/Informatique/Livre/gestion-de-projet-agile-9782212127508" target="tex">Gestion de Projet Agile</a>&laquo;&nbsp;, 3e édition, écrit par Véronique Messager Rota. Publié chez Eyrolles, l&#8217;ouvrage de 278 pages s&#8217;adresse à deux publics à mon avis. D&#8217;une part les personnes du &laquo;&nbsp;canal historique&nbsp;&raquo; de la gestion de projet, à la recherche d&#8217;un éclaircissement sur les méthodes de Gestion Agile. D&#8217;autre part, ceux comme moi qui ont abordé la gestion de projet grâce aux méthodes Agiles, et qui souhaitent compléter leurs connaissances.</p>
<p>L&#8217;ouvrage commence par un questionnaire qui permet d&#8217;identifier sa connaissance de la gestion de projet. Le choix entre méthode de gestion de projets traditionnelles et méthode Agile est proposé au lecteur un peu plus loin. Ce que vous apprécierez, c&#8217;est la vraie démarche d&#8217;accompagnement pour passer des méthodes traditionnelles aux méthodes Agiles. L&#8217;expérience de l&#8217;auteur permet de trouver les mots justes.</p>
<p>Le recueil des exigences est couvert en proposant plusieurs techniques pour hiérarchiser les besoins correctement. La gestion du temps, la planification des ressources, avec une démarche itérative, on parle même de <a href="http://www.eyrolles.com/Informatique/Livre/gestion-de-projet-agile-9782212127508">la technique du Pomodoro</a> dont j&#8217;avais entendu parler par Eric Lefevre.</p>
<p>A propos d&#8217;expert, un nombre important de personnes connues de la communauté francophone a participé au livre. Des témoignages appuient la présentation de Véronique. 16 experts en tout, dont Christophe Addinquy, Régis Médina, Laurent Bossavit, David Gageot, Claude Aubry, Freddy Mallet pour ceux que je connais par exemple.</p>
<p>Les derniers chapitres sont consacrées au pilotage du projet avec des indicateurs de qualité, de risque et de performance. Un chapitre est consacré à la gestion de l&#8217;équipe, à la gestion des sous-traitants et à l&#8217;animation des équipes. Très justement placé dans le cadre de la gestion de projet Agile.<br />
Enfin le livre se termine par un accompagnement du changement. Si vous souhaitez passer à l&#8217;Agile, la conduite du changement est bien expliqué.</p>
<p>En conclusion je pense que ce livre est un pont entre la gestion classique et la gestion de projet Agile. Il sera lu facilement par un chef de projet à la recherche d&#8217;un guide de démarrage complet. Je le conseille aussi aux Scrum Master, qui souhaitent élargir le spectre de leurs connaissances. Le recueil de besoin comme la gestion des hommes sont bien expliqués.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2010/06/17/retour-sur-le-livre-gestion-de-projet-agile-v3-par-v-messager-rota/feed/</wfw:commentRss>
		<slash:comments>5</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 jour 1</title>
		<link>http://www.touilleur-express.fr/2010/05/31/agile-france-2010-jour-1/</link>
		<comments>http://www.touilleur-express.fr/2010/05/31/agile-france-2010-jour-1/#comments</comments>
		<pubDate>Mon, 31 May 2010 22:29:10 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Perso]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=3810</guid>
		<description><![CDATA[La conférence Agile France se déroule chaque année sur 2 jours, dans un cadre très sympa : le Bois de Vincennes. Fin de la première journée, des bons moments, et quelques trucs à raconter.
J&#8217;attaque la journée par une présentation sur la PNL. Ensuite nous avons présenté Domain Driven Design avec François Wauquier. J&#8217;ai passé un bon moment et je n&#8217;ai pas vu l&#8217;heure passer. Juste le temps de remballer le Mac, et nous passons dans la salle d&#8217;à côté.
Jean-Laurent de Morlhon et Eric Mignot présentent un sujet sur Scrum intéressant ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://conf.agile-france.org/">La conférence Agile France</a> se déroule chaque année sur 2 jours, dans un cadre très sympa : le Bois de Vincennes. Fin de la première journée, des bons moments, et quelques trucs à raconter.</p>
<p>J&#8217;attaque la journée par une présentation sur la PNL. Ensuite nous avons présenté Domain Driven Design avec François Wauquier. J&#8217;ai passé un bon moment et je n&#8217;ai pas vu l&#8217;heure passer. Juste le temps de remballer le Mac, et nous passons dans la salle d&#8217;à côté.</p>
<p>Jean-Laurent de Morlhon et Eric Mignot présentent un sujet sur Scrum intéressant : &laquo;&nbsp;<strong>Comment j&#8217;ai remplacé 30% de mes développeurs en adoptant l&#8217;Agilité</strong>&laquo;&nbsp;. Jean-Laurent présente son retour sur la mise en place de Scrum <a href="http://www.touilleur-express.fr/2010/03/19/rencontre-avec-des-developpeurs-chez-vidal-software/">chez Vidal Software</a>. Avec une expérience de presque 4 ans sur le sujet, ce fut très intéressant. Eric Mignot de Pyxis était là pour jouer le rôle du Coach et pour nous aider à trouver le sens et à nous faire réfléchir sur le témoignage.</p>
<p>J&#8217;ai beaucoup aimé cette présentation. C&#8217;est un témoignage vivant de la mise en place de l&#8217;Agilité dans une organisation, chez un éditeur. Une équipe de 10 développeurs, plusieurs produits, la place des Product Owners, la relation avec la hiérarchie, tous les sujets ont été abordés.</p>
<p>Jean-Laurent présente les différentes versions de leur &laquo;&nbsp;Scrum Board&nbsp;&raquo;. La version v1 classique avec &laquo;&nbsp;To Do/Checkout/Done&nbsp;&raquo;. Puis l&#8217;ajout d&#8217;une colonne &laquo;&nbsp;Good&nbsp;&raquo; pour que le Product Owner puisse donner son retour. Les Stories restent sur une ligne, et ce sont les Tasks de la Story qui naviguent de colonne en colonne. En 4 ans, le tableau s&#8217;est plus enrichi que simplifié. Mais il a répondu aux besoins de l&#8217;équipe.</p>
<p>La validation au fil de l&#8217;eau par le P.O est une démarche intéressante. Elle consiste lorsque le P.O est disponible, à faire une validation dès lors qu&#8217;une Story est terminée.</p>
<p>Eric insiste aussi sur l&#8217;importance du mot &laquo;&nbsp;démo&nbsp;&raquo;. Lorsqu&#8217;il arrive dans des équipes et que celles-ci disent &laquo;&nbsp;on fait la démo au PO ? &laquo;&nbsp;, c&#8217;est très intéressant. Le mot démo véhicule une intention différente du mot &laquo;&nbsp;rétrospective&nbsp;&raquo;. Ce mot tend aussi à influencer la personne qui vient assister à la rétrospective. Ce n&#8217;est pas un mauvais mot, c&#8217;est un mot qui donne de l&#8217;information sur la manière dont l&#8217;équipe perçoit son travail.</p>
<p>La rétrospective justement, est le point qui pendant les 6 premiers mois, n&#8217;a pas du tout été fait par l&#8217;équipe. Avec le recul, Jean-Laurent explique que l&#8217;équipe étant jeune avec l&#8217;Agilité, ils ne percevaient pas l&#8217;intérêt immédiat de la rétrospective. Puis ensuite, petit à petit, le besoin a émergé. Après le Design émergeant, on a la &laquo;&nbsp;Rétro-émergence&nbsp;&raquo;&#8230;<br />
Pour donner son retour, Jean-Laurent détaille les techniques simples utilisées lors des rétrospectives. Elles permettent en fait de se congratuler entre membre de l&#8217;équipe, sans rendre cela &laquo;&nbsp;artificiel&nbsp;&raquo; ou génant, mais en permettant naturellement de reconnaître les efforts de chacun. Intéressant, surtout dans la culture Française assez peu friande des congratulations.</p>
<p>Faire de l&#8217;Agilité, cela entrainera aussi des frictions. Il y eu quelques échanges mémorables. Le premier P.O est parti, remplacé par une personne qui prendra ses fonctions un peu plus tard. En attendant, l&#8217;équipe a pris le rôle de P.O, mais ce ne fut pas l&#8217;idéal.</p>
<p>La &laquo;&nbsp;Sprint review&nbsp;&raquo; (plutôt que le terme &laquo;&nbsp;Demo&nbsp;&raquo;) permet de se resynchroniser entre membres de l&#8217;équipe, et avec le Product Owner. Il est primordial d&#8217;avoir un logiciel qui tourne. C&#8217;est le bon moment aussi pour s&#8217;assurer que le Product Backlog est à jour.</p>
<p>Eric demande si certains font faire la &laquo;&nbsp;Demo&nbsp;&raquo; par le Product Owner ? Après tout il faut qu&#8217;il tire le meilleur parti de cet événement. A peu de moment, le mot Scrum est cité. Eric emploie souvent le mot &laquo;&nbsp;<strong>Processus Itératif Incrémental</strong>&laquo;&nbsp;.</p>
<p>Jean-Laurent montre aussi des graphiques en forme de radar, qui montre Spring après Sprint l&#8217;évolution des critères de qualité de l&#8217;équipe. Sans le savoir, je faisais la même chose il y a 2 ans chez Reuters ! Great minds gets together !</p>
<p><strong>Le sujet des Estimations</strong> est intéressant. Jean-Laurent n&#8217;essaye pas d&#8217;expliquer ce qu&#8217;est une estimation, ou ce qu&#8217;il faut faire. Il raconte ce qu&#8217;ils ont fait, à l&#8217;époque.<br />
Au début, l&#8217;équipe utilise l&#8217;échelle &laquo;&nbsp;jour/homme&nbsp;&raquo;. Calculé en amont des Sprints, c&#8217;est finalement assez mal vécu et utilisé par l&#8217;équipe. Cela permet par contre de travailler &laquo;&nbsp;à l&#8217;ancienne&nbsp;&raquo; avec les équipes externes de management, en demande de chiffres.</p>
<p>Ils essayent ensuite une autre approche : une Story est côté en terme de &laquo;&nbsp;points de complexité&nbsp;&raquo;, puis les Tâches de cette Story sont estimées en jour/homme au moment où la Story est dépilée. C&#8217;est assez pratique car on attend le dernier moment pour donner un engagement.</p>
<p>Personnellement, j&#8217;essaye de rester sur les points de stories. J&#8217;ai appelé cela &laquo;&nbsp;un nombre de patates&nbsp;&raquo; pour vraiment montrer aux développeurs que ce chiffre regroupe une estimation de temps, de risque et de confiance. J&#8217;aime bien avoir une unité virtuelle, afin de ne pas tordre ensuite l&#8217;agenda avec une notion de jour/homme.</p>
<p>Jean-Laurent raconte l&#8217;histoire d&#8217;un développeur qui avait pour habitude de suivre à la lettre les estimations en jour. Une tâche est estimée à 2 jours ? Il prend 2 jours. Une autre tâche est estimée à 5 jours ? Il prend 5 jours. Un jour, il voit le développeur entrain de faire autre chose sur son PC. Il lui demande ce qu&#8217;il fait. Comme celui-ci a terminé, il attendait en fait d&#8217;avoir écoulé les jours pour prendre une tâche suivante sur le tableau&#8230;</p>
<p>Nous parlons ensuite du Daily Stand-up Meeting. Dans certaines organisations, cette cérémonie est vécue comme du Reporting. Chaque développeur donne son point d&#8217;avancement et le Scrum Master (qui soit-dit en passant n&#8217;a rien à faire à cette réunion) met à jour les &laquo;&nbsp;reste à faire&nbsp;&raquo;.</p>
<p>Eric ré-explique l&#8217;utilité et l&#8217;organisation du Daily Stand-up meeting. C&#8217;est une cérémonie où tous les sens sont en action. La vue, l&#8217;ouïe, le toucher pour bouger les post-its. Bien mieux qu&#8217;un compte-rendu de réunion sur papier ou une téléconférence par exemple. Son utilité est de synchroniser les activités de chacun au sein de l&#8217;équipe. Le Scrum Master doit s&#8217;effacer. ll peut noter quelques points à vérifier, mais son rôle est simplement de s&#8217;assurer que la réunion a lieu chaque jour. Ensuite, il peut aller prendre un café.</p>
<p>Eric propose de faire le test suivant si vous êtes Scrum Master. Ne venez pas un matin à la réunion. Que se passe-t-il alors ? Est-ce que l&#8217;équipe se regroupe ou non ?</p>
<p>Pour terminer, Jean-Laurent balaie quelques points sur la mise en place de méthodes Agiles et certains mots comme &laquo;&nbsp;Stress&nbsp;&raquo; par exemple. Il reconnaît que depuis l&#8217;adoption de Scrum, 3 développeurs sur 10 en 3 ans sont partis. Pour certains, c&#8217;est trop violent. Devoir se réunir chaque matin et dire à haute voix : &laquo;&nbsp;hier j&#8217;ai bien galéré et je n&#8217;ai pas codé une ligne&nbsp;&raquo; est parfois un exercice insurmontable.</p>
<p>Le Scrum Master a un devoir de communication. Eric enfin termine en nous donnant l&#8217;une des utilités de passer en mode &laquo;&nbsp;Processus Itératif Incrémental&nbsp;&raquo; : ces approches font ressortir les dysfonctionnements dans l&#8217;entreprise et dans les équipes. J&#8217;évoquais il y a un an et demie l&#8217;effet &laquo;&nbsp;pétard&nbsp;&raquo; de Scrum : il tend à faire exploser les tensions et les points de dysfonctionnement d&#8217;une organisation. Et puis il a un effet euphorisant lorsqu&#8217;il fonctionne, car avoir une équipe qui délivre un logiciel, sans souffrances, et avec plaisir, c&#8217;est un peu le sens de notre métier non ?</p>
<p><strong>Fin du premier billet</strong></p>
<p>J&#8217;ai ensuite assisté à deux présentations que je couvrirai demain dans d&#8217;autres articles :<br />
- Pierrre Piezzardi d&#8217;OCTO Technology sur la question suivante : &laquo;&nbsp;Le Lean management peut-il transformer l&#8217;entreprise ?&nbsp;&raquo;<br />
- DRH, Agile, WTF avec Iva Konstantinovic et Gabriel de Pyxis. Débat très intéressant sur la mise en place de Scrum chez un éditeur dans la finance.</p>
<p>La soirée s&#8217;est terminée comme l&#8217;an dernier par un repas assis, sur des grandes tables rondes de 8-10 convives. L&#8217;occasion de parler recrutement, recherche d&#8217;emploi, Git, Spring WebFlow, les vieux développeurs, DVCS et Agilité&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2010/05/31/agile-france-2010-jour-1/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Conférence Agile France 2010 : plus que quelques jours</title>
		<link>http://www.touilleur-express.fr/2010/05/25/conference-agile-france-2010-plus-que-quelques-jours/</link>
		<comments>http://www.touilleur-express.fr/2010/05/25/conference-agile-france-2010-plus-que-quelques-jours/#comments</comments>
		<pubDate>Tue, 25 May 2010 19:47:18 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Perso]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[agilefrance]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=3780</guid>
		<description><![CDATA[La semaine prochaine se déroule la conférence Agile France 2010 à Paris. L&#8217;an passé j&#8217;avais participé avec beaucoup de plaisir à cette conférence, qui sort de l&#8217;ordinaire.
Le cadre est tout d&#8217;abord original : dans le bois de Vincennes, au Chalet de la porte jaune. Les conférences se déroulent dans des petites salles de 50 à 80 places. C&#8217;est l&#8217;occasion de prendre connaissance des dernières avancées dans le monde Agile, dans la gestion de projet et dans le pilotage des équipes.
Je co-présente avec François Wauquier de SFEIR un sujet sur DDD ...]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.touilleur-express.fr/wp-content/tag_100x65_agilite.jpg" alt="" title="tag_100x65_agilite" width="100" height="65" class="alignnone size-full wp-image-3781" />La semaine prochaine se déroule <a href="http://conf.agile-france.org/">la conférence Agile France 2010</a> à Paris. <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/">L&#8217;an passé</a> j&#8217;avais participé avec beaucoup de plaisir à cette conférence, qui sort de l&#8217;ordinaire.</p>
<p>Le cadre est tout d&#8217;abord original : dans le bois de Vincennes, au Chalet de la porte jaune. Les conférences se déroulent dans des petites salles de 50 à 80 places. C&#8217;est l&#8217;occasion de prendre connaissance des dernières avancées dans le monde Agile, dans la gestion de projet et dans le pilotage des équipes.</p>
<p>Je co-présente avec François Wauquier de SFEIR un sujet sur DDD (Domain Driven Design). Ce sera l&#8217;occasion de vous donner un retour pratique et théorique, et de vous faire comprendre ce que cela a changé pour moi, lorsque je développe. J&#8217;avais eu l&#8217;occasion de suivre la formation Domain Driven Design avec Eric Evans chez Zenika <a href="http://www.touilleur-express.fr/2010/02/19/formation-ddd-domain-driven-design-suite-et-fin/">en février dernier</a>, et c&#8217;est un très bon souvenir.</p>
<p>La semaine prochaine il y aura aussi un show sur scène avec les meilleurs programmeurs du monde Java, en tournée mondiale et qui seront spécialement sur scène pour vous. J&#8217;ai entendu une rumeur qu&#8217;un célèbre Juggeur sera sur scène pour animer le show. L&#8217;objectif est de faire du &laquo;&nbsp;live-programming&nbsp;&raquo; en mettant sur scène des binômes : un expert et un débutant. Chaque binôme aura 10 minutes pour résoudre un problème devant l&#8217;assemblée. Les juges évalueront la performance technique, mais aussi la performance artistique. Il n&#8217;est pas interdit de faire du bruit, de chahuter et de crier pendant les sessions de live-coding. Pour terminer, tout ceci se déroule pendant l&#8217;heure du déjeuner. Donc n&#8217;hésitez pas à venir voir le show&#8230; surprise !</p>
<p>Rendez-vous lundi matin pour suivre l&#8217;événement sur le Touilleur Express.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2010/05/25/conference-agile-france-2010-plus-que-quelques-jours/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rencontre avec des développeurs chez Vidal Software</title>
		<link>http://www.touilleur-express.fr/2010/03/19/rencontre-avec-des-developpeurs-chez-vidal-software/</link>
		<comments>http://www.touilleur-express.fr/2010/03/19/rencontre-avec-des-developpeurs-chez-vidal-software/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 18:00:53 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=3395</guid>
		<description><![CDATA[ J&#8217;ai rencontré une équipe de développement chez Vidal Software, grâce à l&#8217;invitation de Jean-Laurent de Morlhon. Des murs couverts de post-its, des développeurs heureux et décontractés, un espace de travail qui donne envie de rester, des discussions où l&#8217;on entend les mots &#171;&#160;Scala&#160;&#187;, &#171;&#160;Jersey&#160;&#187; et &#171;&#160;JAX-RS&#160;&#187;, ce fut un bon moment.
Une grosse expérience de Scrum
Jean-Laurent m&#8217;a présenté un bilan très instructif de la mise en place de Scrum, ainsi que des outils d&#8217;industrialisation. L&#8217;un des projets passe son 40ème sprint, sachant que chaque sprint a une durée de 2 ...]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.touilleur-express.fr/wp-content/IMG_5769-300x225.jpg" alt="" title="IMG_5769" width="300" height="225" class="alignleft size-medium wp-image-3397" /> J&#8217;ai rencontré une équipe de développement chez Vidal Software, grâce à l&#8217;invitation de <a href="http://morlhon.net/blog/">Jean-Laurent de Morlhon</a>. Des murs couverts de post-its, des développeurs heureux et décontractés, un espace de travail qui donne envie de rester, des discussions où l&#8217;on entend les mots &laquo;&nbsp;Scala&nbsp;&raquo;, &laquo;&nbsp;Jersey&nbsp;&raquo; et &laquo;&nbsp;JAX-RS&nbsp;&raquo;, ce fut un bon moment.</p>
<p><strong>Une grosse expérience de Scrum</strong><br />
Jean-Laurent m&#8217;a présenté un bilan très instructif de la mise en place de Scrum, ainsi que des outils d&#8217;industrialisation. L&#8217;un des projets passe son 40ème sprint, sachant que chaque sprint a une durée de 2 semaines. Autant dire qu&#8217;en terme de Scrum et d&#8217;Agilité, c&#8217;est une équipe très mature et très professionnelle. <a href="http://sadekdrobi.com">Sadek Drobi</a> de Valtech et <a href="http://www.parisjug.org/xwiki/bin/view/Speaker/RomainMaton">Romain Maton</a> de <a href="http://blog.xebia.fr/">Xebia France</a>, qui vont présenter Scala au <a href="http://www.parisjug.org">Paris JUG</a> le mois prochain, font aussi partie de cette équipe de développement très sympa.</p>
<p><img src="http://www.touilleur-express.fr/wp-content/IMG_5781-300x225.jpg" alt="" title="IMG_5781" width="300" height="225" class="alignright size-medium wp-image-3396" />Par rapport à Scrum, sa mise en place a demandé des efforts, qui permettent aujourd&#8217;hui vraiment  de se rendre compte de la valeur de ce framework léger. Jean-Laurent m&#8217;a montré quelques indicateurs comme la corrélation entre le nombre de points livrés et le nombre de développeur. Premier exemple : un projet sur lequel 5 développeurs travaillent à plein temps. Résultat sur 8 sprints : un taux de livraison en augmentation, l&#8217;équipe a une vélocité de 10. Ensuite il me montre un projet avec 7 développeurs. Chacun des développeurs est affecté entre 2/10 et 8/10 sur le projet&#8230; Au final, ce projet livre moins que le premier projet. C&#8217;est connu depuis longtemps, mais l&#8217;équipe de Jean-Laurent peut en parler, preuves à l&#8217;appui. Jean-Laurent présentera au 1er anniversaire du French SUG <a href="http://www.frenchsug.org/pages/viewpage.action?pageId=2097264">le 30 mars prochain</a> ces résultats.<br />
Cela renforce clairement un des concepts de Scrum : <strong>Chaque développeur ne doit travailler que sur un seul projet par itération</strong>.</p>
<p>Nous avons passé pas mal de temps face aux radiateurs d&#8217;informations. Cela prend plusieurs pan de mur chez Vidal. D&#8217;ailleurs pendant nos discussions, nous avons vu passer le Product Owner 2 fois. Cellle-ci vient voir sur l&#8217;indicateur et repart, les développeurs déplacent les post-its, bref on sent qu&#8217;ici le système est bien rôdé et bien pensé.<br />
<img src="http://www.touilleur-express.fr/wp-content/IMG_57681-1024x768.jpg" alt="" title="IMG_550" width="550" height="412" class="alignnone size-large wp-image-3400" /></p>
<p><strong>Historique des projets</strong><br />
Une idée simple à appliquer : à chaque fin de Sprint, l&#8217;ensemble des Users Stories qui est écrit sur des post-its, est rangé et archivé au dessus du Kanban. L&#8217;équipe note le nombre de points de vélocité, qui a contribué au développement, bref l&#8217;histoire du Sprint. Cela permet de voir d&#8217;un seul coup d&#8217;oeil l&#8217;histoire des projets. Vous pouvez cliquer sur l&#8217;image pour l&#8217;afficher en grand :<br />
<a href="http://www.touilleur-express.fr/wp-content/IMG_5767.jpg"><img src="http://www.touilleur-express.fr/wp-content/IMG_5767-300x208.jpg" alt="" title="IMG_5767" width="300" height="208" class="alignnone size-medium wp-image-3403" /></a></p>
<p><strong>Technique d&#8217;évaluation</strong><br />
Nous avons discuté sur les techniques d&#8217;estimation et sur l&#8217;unité utilisée pour estimer les stories. Une équipe utilise des jours-homme, une autre équipe utilise des points scrum. A titre personnel je préfère les points scrums, qui permettent de représenter la confiance du développeur et la part risque. Un point important : les équipes estiment les stories globalement. D&#8217;après Nicolas qui m&#8217;a donné aussi pas mal d&#8217;informations, cela permet de gagner du temps et ne trompe pas les chiffres. Ensuite lorsque le Sprint démarre, et qu&#8217;une Story est dépilée, l&#8217;équipe découpe en tâches, et donne une estimation par tâche. Cela permet d&#8217;attendre le dernier moment (principe Lean) pour affiner les estimations, au lieu de passer 4 heures de réunion à décortiquer le Product Backlog. J&#8217;avoue que ce mélange de Lean et de Scrum est très intéressant.<br />
<a href="http://www.touilleur-express.fr/wp-content/IMG_5773.jpg"><img src="http://www.touilleur-express.fr/wp-content/IMG_5773-273x300.jpg" alt="" title="IMG_5773" width="273" height="300" class="alignnone size-medium wp-image-3405" /></a></p>
<p><strong>Itérer lors de la mise en place de Scrum</strong><br />
<a href="http://www.touilleur-express.fr/wp-content/IMG_5775.jpg"><img src="http://www.touilleur-express.fr/wp-content/IMG_5775-300x225.jpg" alt="" title="IMG_5775" width="300" height="225" class="alignleft size-medium wp-image-3407" /></a>Dans les discussions, un point revient souvent : &laquo;&nbsp;<em>&#8230;on faisait comme ça, puis on a changé et on fait comme ça&#8230;</em>&laquo;&nbsp;. L&#8217;équipe a constamment un œil critique sur les méthodes Agiles, et n&#8217;hésite pas à adapter au plus juste les pratiques. Et je pense qu&#8217;ils sont légitimes pour le faire, étant donné l&#8217;expérience accumulée. Cela fait bientôt 3 ans&#8230; En fait, je trouve cela plus légitime que les prêcheurs de bonne parole qui  n&#8217;ont pas d&#8217;expérience de Scrum sur le terrain.</p>
<p><strong>Burndown chart</strong><br />
Un ensemble d&#8217;indicateur est imprimé presque chaque jour, dont les fameux Burndown Chart. Les équipes ont ajouté le classique indicateur de nombres de points restant à faire. Un autre indicateur intéressant est le nombre de jours de disponibilités des équipes. Cela permet de suivre le ratio &laquo;&nbsp;hommes dispos/points à faire&nbsp;&raquo; chaque jour. Par exemple, si l&#8217;un des développeurs est appelé en urgence sur un autre projet, le nombre de jours de &laquo;&nbsp;hommes dispos&nbsp;&raquo; est modifié. Cela permet de suivre les impondérables, les impediments. Le Scrum Master fait son possible pour aider l&#8217;équipe. Mais il est parfois indispensable de faire des activités connexes comme de la production ou de la TMA.<br />
<div id="attachment_3409" class="wp-caption none" style="width: 310px"><a href="http://www.touilleur-express.fr/wp-content/IMG_5770.jpg"><img src="http://www.touilleur-express.fr/wp-content/IMG_5770-300x225.jpg" alt="" title="IMG_5770" width="300" height="225" class="size-medium wp-image-3409" /></a><p class="wp-caption-text">Burndown chart</p></div></p>
<p><strong>Une usine logicielle</strong><br />
Vidal Software est éditeur de logiciel dans le secteur médical. Jean-Laurent et ses équipes ont mis en place une usine logicielle complète. Gestionnaire de code source, intégration continue avec Hudson et TeamCity. Je me suis amusé à regarder avec <a href="http://www.joelonsoftware.com/articles/fog0000000043.html">le test de Joel Spolsky</a> le niveau des équipes. Voici ce que cela donne :</p>
<pre>
     The Joel Test

 1. Do you use source control?...............................YES, svn
 2. Can you make a build in one step?........................YES
 3. Do you make daily builds?................................YES, hudson et TeamCity
 4. Do you have a bug database?..............................YES Jira
 5. Do you fix bugs before writing new code?.................Dont'know
 6. Do you have an up-to-date schedule?......................YES Scrum
 7. Do you have a spec?......................................No
 8. Do programmers have quiet working conditions?............YES
 9. Do you use the best tools money can buy?.................YES
10. Do you have testers?.....................................YES
11. Do new candidates write code during their interview?.....Don't know
12. Do you do hallway usability testing?.....................Don't know
</pre>
<p>Les méthodes de développement suivent sur 8 points au moins le test de Joel. Jean-Laurent m&#8217;explique que le prochain chantier à venir sera la migration de SVN vers Git, un <a href="www.infoq.com/articles/dvcs-guide">DVCS</a> très à la mode utilisé pour le développement du noyau Linux. Ce sujet sera présenté en mai au Paris JUG par <a href="http://www.ziki.com/fr/dgageot+12908">David Gagot</a> CTO <a href="https://beta.algodeal.com/home.html">d&#8217;AlgoDeal</a>.</p>
<p><strong>Des indicateurs</strong><br />
<a href="http://www.touilleur-express.fr/wp-content/IMG_5782.jpg"><img src="http://www.touilleur-express.fr/wp-content/IMG_5782-300x225.jpg" alt="" title="IMG_5782" width="300" height="225" class="alignnone size-medium wp-image-3411" /></a> Jean-Laurent a mis en place le lapin Nabaztag dans son équipe. Celui-ci signale les builds qui cassent, marrant et sympa.</p>
<p>Une autre idée très Lean, c&#8217;est cet écran de contrôle des builds :<br />
<a href="http://www.touilleur-express.fr/wp-content/IMG_5783.jpg"><img src="http://www.touilleur-express.fr/wp-content/IMG_5783-300x225.jpg" alt="" title="IMG_5783" width="300" height="225" class="alignnone size-medium wp-image-3412" /></a></p>
<p>Cet écran affiche le nom du projet, ainsi qu&#8217;un Avatar correspondant à la dernière personne ayant commité son code sur Subversion :<br />
<a href="http://www.touilleur-express.fr/wp-content/IMG_5785.jpg"><img src="http://www.touilleur-express.fr/wp-content/IMG_5785-300x225.jpg" alt="" title="IMG_5785" width="300" height="225" class="alignnone size-medium wp-image-3413" /></a></p>
<p>Jean-Laurent a mis le code source à disposition librement : <a href="http://code.google.com/p/buildwall/">http://code.google.com/p/buildwall/</a></p>
<p>Cette idée est reprise chez plusieurs sociétés. J&#8217;ai vu chez Computer Futures un grand tableau Excel affiché avec un vidéo-projecteur dans l&#8217;open-space, j&#8217;avais vu un écran à la BNP installé par Nicolas Griso pour les builds Bamboo (spéciale dédicace aux collègues de Nicolas, passez-lui le bonjour de ma part).</p>
<p>Jean-Laurent a trouvé un écran de 46 pouces, l&#8217;afficheur ultime, qui existe en version tactile :<br />
<a href="http://www.panic.com/blog/2010/03/the-panic-status-board/"><img src="http://www.touilleur-express.fr/wp-content/statusboard-225x300.jpg" alt="" title="statusboard" width="225" height="300" class="alignnone size-medium wp-image-3414" /></a><br />
Allez voir <a href="http://www.panic.com/blog/2010/03/the-panic-status-board/">cet article</a> sur Panic Blog où j&#8217;ai trouvé cette photo.</p>
<p><strong>Une démo de Play! Framework</strong><br />
Enfin nous avons terminé par une petite démonstration de Play! improvisée. J&#8217;ai montré une partie du projet <a href="http://www.express-board.fr" target="new2">eXpress Board</a> sur lequel j&#8217;ai travaillé cette semaine. Il s&#8217;agit d&#8217;un job-board développé en 4 jours avec <a href="http://www.playframework.org">Play! Framework</a>. Discussions intéressantes, Play! a fait son petit effet. Et c&#8217;est vrai que c&#8217;est vraiment un bel outil, qui permet de gagner du temps. Comparé à Grails (aaah ça y est&#8230;) et bien vous lirez cela dans un autre article !</p>
<p><strong>Conclusion</strong><br />
Belle rencontre, une équipe de développement qui travaille avec le sourire, et une bonne ambiance. Scrum est aussi un formidable outil pour suivre et pour pouvoir restituer l&#8217;historique d&#8217;un projet, chiffres à l&#8217;appui. Grâce à ces quelques 3 années, Jean-Laurent peut reparler de chacune des étapes des projets. Et je pense que c&#8217;est un effet que l&#8217;on ne peut observer qu&#8217;à long terme.<br />
Dans nos discussions, j&#8217;ai pensé au modèle CMMi, qui mesure la maturité de entreprises par rapport à certains critères de gestion de projet. Je pense qu&#8217;il faudrait inventer un nouvel indicateur composé des éléments suivants<br />
- niveau d&#8217;adoption des méthodes Agile<br />
- pratique Lean<br />
- usines logicielles<br />
- intégration continue<br />
- tests unitaires, fonctionnels, intégration<br />
- ambiance dans l&#8217;équipe<br />
- indicateur de fun-itude<br />
- turn-over</p>
<p>Pour terminer, j&#8217;ai pris une photo de l&#8217;un des derniers développeurs embauchés chez eux :<br />
<a href="http://www.touilleur-express.fr/wp-content/IMG_5786.jpg"><img src="http://www.touilleur-express.fr/wp-content/IMG_5786-300x225.jpg" alt="" title="IMG_5786" width="300" height="225" class="alignnone size-medium wp-image-3415" /></a></p>
<p><strong>Comme quoi, il est possible d&#8217;être fun et d&#8217;être efficace.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2010/03/19/rencontre-avec-des-developpeurs-chez-vidal-software/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>

