<?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>Agilité, Architecture, C++ &#34;in the mix&#34;</title>
	<atom:link href="http://agileinthemix.com/fr/feed/" rel="self" type="application/rss+xml" />
	<link>http://agileinthemix.com/fr</link>
	<description>Le blog de Mathieu Cans</description>
	<lastBuildDate>Mon, 28 Jan 2013 21:23:06 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Rétrospective 2012</title>
		<link>http://agileinthemix.com/fr/2013/01/retrospective-2012/</link>
		<comments>http://agileinthemix.com/fr/2013/01/retrospective-2012/#comments</comments>
		<pubDate>Mon, 28 Jan 2013 21:21:49 +0000</pubDate>
		<dc:creator>Mathieu</dc:creator>
				<category><![CDATA[retours d'expérience]]></category>
		<category><![CDATA[rétrospectives]]></category>

		<guid isPermaLink="false">http://agileinthemix.com/fr/?p=1109</guid>
		<description><![CDATA[<p>Vite, vite avant fin janvier, je vous livre dans cet article mes évènements marquants de 2012. Ce qui s&#8217;est bien passé Mise en place dès le retour de la formation des &#8220;Spécifications par l&#8217;exemple&#8220; Les conférences Agiles Grenoble 2012 où &#8230; <a href="http://agileinthemix.com/fr/2013/01/retrospective-2012/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://agileinthemix.com/fr/2013/01/retrospective-2012/">Rétrospective 2012</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></description>
			<content:encoded><![CDATA[<p>Vite, vite avant fin janvier, je vous livre dans cet article mes évènements marquants de 2012.<span id="more-1109"></span></p>
<h2>Ce qui s&#8217;est bien passé</h2>
<ul>
<li>Mise en place dès le retour de la formation des &#8220;<a href="http://specificationbyexample.com/">Spécifications par l&#8217;exemple</a>&#8220;</li>
<li>Les conférences Agiles Grenoble 2012 où je suis intervenu comme orateur pour promouvoir <a href="http://prezi.com/4uw2xeukk5pu/tdd-du-mythe-a-la-realite/">les avantages du TDD</a>.</li>
<li>Les conférences mix-IT avec notamment la conférence <a href="http://fr.slideshare.net/gmantel/automatisation-des-tests-le-mythe-du-roi">Tests automatique le mythe du ROI</a> et le talk &#8220;<a href="http://vimeo.com/41144268">La voie du programmeur</a>&#8220;</li>
<li>Des coding dojos du CARA intéressants sur le <a href="http://www.clubagilerhonealpes.org/activites/coding-dojo/827/dojo-ensimag-57e-session-du-coding-dojo-du-15052012-salle-h-201">BDD </a>et le <a href="http://www.clubagilerhonealpes.org/activites/coding-dojo/932/dojo-ensimag-61e-session-le-1610-salle-h-103">SRP</a>.</li>
<li>Quelques articles que j&#8217;ai remarqués cette année:
<ul>
<li><a href="http://blog.mandraxe.info/ingenieurs-grincheux.html">Pourquoi les ingénieurs sont grincheux ?</a></li>
<li>Une modélisation du TDD par des personnes physiques : <a href="http://vimeo.com/13506935">Programming for business users &#8211; By. Brain Marick</a></li>
<li><a href="http://effectivesoftwaredesign.com/2011/11/21/tdd-and-the-gamification-of-testing/?goback=.gde_155678_member_85213240">TDD and the Gamification of Testing</a></li>
<li><a href="http://lizkeogh.com/2012/06/01/bdd-in-the-large/">BDD in the large</a></li>
<li><a href="http://www.skorks.com/2011/09/why-developers-never-use-state-machines/">Why Developers Never Use State Machines</a></li>
<li><a href="http://research.microsoft.com/en-us/groups/ese/nagappan_tdd.pdf">Une étude sur les bénéfices du TDD</a></li>
</ul>
</li>
</ul>
<h2>Ce qui s&#8217;est moins bien passé</h2>
<ul>
<li>Toujours pas d&#8217;article sur les conférences Agile Innovation. Pourtant j&#8217;ai pu mettre en place quelques pratiques que j&#8217;y ai glanées : le Niko niko, le graphe satisfaction utilisateur, le speed boat&#8230;</li>
<li>Seulement 7 articles contre 11 l&#8217;année passée.</li>
</ul>
<h2>Les indicateurs</h2>
<table width="100%" border="1" cellspacing="0" cellpadding="1">
<colgroup>
<col width="100*" />
<col width="50*" />
<col width="50*" /> </colgroup>
<tbody>
<tr valign="TOP">
<td width="40%"></td>
<td width="30%"><strong><strong>2011</strong></strong></td>
<td width="30%"><strong>2012</strong></td>
</tr>
<tr valign="TOP">
<td width="40%">Nombre de visiteurs / mois</td>
<td width="30%">100</td>
<td width="30%">180</td>
</tr>
<tr valign="TOP">
<td width="40%">Nombre d&#8217;articles</td>
<td width="30%">11</td>
<td width="30%">7</td>
</tr>
<tr valign="TOP">
<td width="40%">Nombre de commentaires</td>
<td width="30%">8</td>
<td width="30%"> 3 + 3 pings back</td>
</tr>
<tr valign="TOP">
<td width="40%">Social network</td>
<td width="30%">N.A.</td>
<td width="30%">Google: 9<br />
Tweet: 7<br />
Linkedin: 27</td>
</tr>
</tbody>
</table>
<p>Belle année 2012, j&#8217;espère que 2013 sera une année treize agile pour tous. Merci à ceux qui y contribuent, notamment les démineurs d&#8217;information : <a href="https://twitter.com/gmantel">@gmantel</a>, <a href="https://twitter.com/sanlaville"> ‏ @sanlaville</a>, <a href="https://twitter.com/johan_alps">@johan_alps</a>, et bien d&#8217;autres&#8230;</p>
<p>The post <a href="http://agileinthemix.com/fr/2013/01/retrospective-2012/">Rétrospective 2012</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://agileinthemix.com/fr/2013/01/retrospective-2012/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Un atelier &#8220;spécification par l&#8217;exemple&#8221;</title>
		<link>http://agileinthemix.com/fr/2013/01/mon-premier-atelier-specification-par-lexemple/</link>
		<comments>http://agileinthemix.com/fr/2013/01/mon-premier-atelier-specification-par-lexemple/#comments</comments>
		<pubDate>Thu, 10 Jan 2013 21:31:09 +0000</pubDate>
		<dc:creator>Mathieu</dc:creator>
				<category><![CDATA[exemples]]></category>
		<category><![CDATA[retours d'expérience]]></category>
		<category><![CDATA[ATDD]]></category>
		<category><![CDATA[BDD]]></category>
		<category><![CDATA[eXtrem Programming]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://agileinthemix.com/fr/?p=1079</guid>
		<description><![CDATA[<p>Suite aux 2 jours de formation &#8220;Specs by example&#8221; avec Gojko Adzic, il était dur de continuer à écrire des documents qui deviendront vite obsolètes. Après 2 itérations pilotées par les exemples dans l&#8217;outil Fitnesse, il était nécessaire que le &#8230; <a href="http://agileinthemix.com/fr/2013/01/mon-premier-atelier-specification-par-lexemple/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://agileinthemix.com/fr/2013/01/mon-premier-atelier-specification-par-lexemple/">Un atelier &#8220;spécification par l&#8217;exemple&#8221;</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="data:image/png;base64,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" alt="" width="155" height="105" />Suite aux 2 jours de formation &#8220;Specs by example&#8221; avec <a href="http://gojko.net/">Gojko Adzic</a>, il était dur de continuer à écrire des documents qui deviendront vite obsolètes. Après 2 itérations pilotées par les exemples dans l&#8217;outil <a href="http://fitnesse.org/">Fitnesse</a>, il était nécessaire que le fonctionnel et le développement se regroupent pour partager autour de ces nouvelles pratiques.</p>
<p><span id="more-1079"></span></p>
<p>Nous nous sommes donc réunis pour un atelier de 2-3 heures dont voici l&#8217;agenda :</p>
<ul>
<li>Introduction et objectifs (5 min)</li>
<li>Perfection game (50 min)</li>
<li>Débriefing (1 h)</li>
<li>Phoenix game (20 min)</li>
<li>Tour de table (20 min)</li>
</ul>
<p><strong>Perfection game</strong></p>
<p>Après avoir précisé les objectifs (trouver des bonnes pratiques pour bien écrire ses exemples), nous avons formé 3 groupes. Chacun dispose d&#8217;une version papier de la 20aine d&#8217;exemples rédigés au cours des 2 itérations. Le<a href="http://www.perfectiongame.org/"> principe du perfection game</a>  a été appliqué sur chaque exemple :</p>
<ul>
<li>Identifier ce qui est bien fait</li>
<li>Identifier ce qui n&#8217;est  pas bien fait</li>
<li>Proposer des axes d&#8217;amélioration</li>
</ul>
<p>Chaque exemple démarre avec une note de 10. On enlève 1 point par sujet d&#8217;amélioration. Chaque point est noté sur un post-it.</p>
<p>L&#8217;objectif n&#8217;est pas de donner une note à chaque fiche mais d&#8217;en parcourir un certain nombre pour pouvoir débattre ensuite de ce qu&#8217;apporte tel parti pris par rapport à tel autre.</p>
<p><strong>Débriefing</strong></p>
<p><a href="http://agileinthemix.com/fr/wp-content/uploads/2012/12/debrieffit.gif"><img class="alignright size-thumbnail wp-image-1092" title="debrieffit" src="http://agileinthemix.com/fr/wp-content/uploads/2012/12/debrieffit-150x150.gif" alt="" width="150" height="150" /></a>Pour la mise en commun, on coupe le tableau en deux, chaque groupe vient coller ses post-its bon point et point d&#8217;amélioration. Parfois il y a divergence : certains groupes ont identifié une pratique à garder alors que d&#8217;autres veulent la bannir. Il faut profiter de ces divergences pour bien confronter les deux points de vue. Parfois on ne parle tout simplement pas de la même chose, parfois c&#8217;est qu&#8217;il y a une troisième voie à trouver.</p>
<p><strong>Phoenix game</strong></p>
<p>Le principe est de choisir l&#8217;exemple qui a eu la moins bonne note au perfection game et de le faire renaître de ses cendres en le réécrivant le mieux possible. Pour faire cela, on  reforme les groupes en prenant bien soin de mélanger les personnes. Chaque groupe a un paper board et réécrit sa version idéale de la fonctionnalité. 20 minutes plus tard, on lève les crayons et chaque groupe explique aux autres sa production.</p>
<p>Comme pour le perfection game, le but n&#8217;est pas d&#8217;aller au bout du travail de réécriture. L&#8217;important est d&#8217;identifier les parti-pris qui sont communs à tous ainsi que les idées qui sont propres à chacun.</p>
<p><strong>Tour de table</strong></p>
<p>On clôt la séance par un tour de table où chacun donne son &#8220;conseil&#8221; pour bien écrire une spécification par l&#8217;exemple.</p>
<p>Cet atelier a été vraiment bénéfique :</p>
<ul>
<li>De véritables consensus  ont été trouvés</li>
<li>Le développement et le fonctionnel ont communiqué et partagé leurs points de vue</li>
<li>Les axes d&#8217;amélioration ont été trouvés collectivement.</li>
<li>Tout le monde s&#8217;est exprimé</li>
</ul>
<p>Le format de cette session est fortement inspiré de l&#8217;approche pédagogique que Gojko Adzic utilise lors de sa formation. Je conseil vivement cette formation à tous ceux que le sujet intéresse.</p>
<p>Donner un axe d&#8217;amélioration</p>
<p>The post <a href="http://agileinthemix.com/fr/2013/01/mon-premier-atelier-specification-par-lexemple/">Un atelier &#8220;spécification par l&#8217;exemple&#8221;</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://agileinthemix.com/fr/2013/01/mon-premier-atelier-specification-par-lexemple/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Agile Grenoble 2012 &#8211; Rétrospective</title>
		<link>http://agileinthemix.com/fr/2012/11/agile-grenoble-2012-retrospective/</link>
		<comments>http://agileinthemix.com/fr/2012/11/agile-grenoble-2012-retrospective/#comments</comments>
		<pubDate>Wed, 21 Nov 2012 12:13:42 +0000</pubDate>
		<dc:creator>Mathieu</dc:creator>
				<category><![CDATA[conférences]]></category>
		<category><![CDATA[agilité]]></category>
		<category><![CDATA[eXtrem Programming]]></category>
		<category><![CDATA[POO]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://agileinthemix.com/fr/?p=1049</guid>
		<description><![CDATA[<p>Un peu tardifs mais voilà mes retours sur la journée Agile Grenoble 2012. Reinventing software quality. La key note de Gojko Adzic est à la hauteur des deux jours de formation « Specification by example » : concise, imagée et humoristique. Voici &#8230; <a href="http://agileinthemix.com/fr/2012/11/agile-grenoble-2012-retrospective/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://agileinthemix.com/fr/2012/11/agile-grenoble-2012-retrospective/">Agile Grenoble 2012 &#8211; Rétrospective</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://agileinthemix.com/fr/wp-content/uploads/2012/11/GoodleTranslate.jpg"><img class="alignleft size-thumbnail wp-image-1061" title="GoodleTranslate" src="http://agileinthemix.com/fr/wp-content/uploads/2012/11/GoodleTranslate-150x150.jpg" alt="" width="150" height="150" /></a></strong>Un peu tardifs mais voilà mes retours sur la journée Agile Grenoble 2012.<span id="more-1049"></span></p>
<p><strong>Reinventing software quality</strong>. La key note de <a href="http://gojko.net/">Gojko Adzic</a> est à la hauteur des deux jours de formation « Specification by example » : concise, imagée et humoristique. Voici ce que j&#8217;en retiens dans les grandes lignes :</p>
<ul>
<li>« <em>The value of a metric is the value of the descision it helps</em> ».</li>
<li>« <em>All models are wrong : some are usefull </em>»</li>
<li>Les métriques de développement n&#8217;ont pas forcément de sens pour les business guys. Il faudrait un google translate pour transformer la qualité logicielle en coût !</li>
<li><a href="http://gojko.net/2012/05/08/redefining-software-quality/">La philosophie de la pyramide de Maslow appliqué à la qualité</a>.</li>
</ul>
<p><strong>Séance des développeurs anonymes</strong>. Par Rémi Salanville et Johan Martinson. Je code mal, tu code mal&#8230;. entrainons nous avec <a href="http://www.bennadel.com/resources/uploads/2012/ObjectCalisthenics.pdf">les objets callisthéniques</a>. Ne sous estimons pas l&#8217;impact de ces petites règles simples qui nous font réfléchir sur l&#8217;approche objet !</p>
<p><strong>Mon binôme m&#8217;a tué</strong>. Par Emanuel Gaillot et Jonathan Perret de <a href="http://ut7.fr/">UT7</a>. Superbe farce sur le binômage. On se croirait dans un cauchemar&#8230;dans lequel on se projette facilement. Le trait est fortement exagéré et pas de « recette » à la fin. Cependant, cela fait réfléchir sur l&#8217;attitude de chacun. En conclusion : malgré les difficultés les deux parties souhaitent continuer à binômer. Quelques perles :</p>
<ul>
<li>Pour le pilote : coder sans rien dire dès que l&#8217;autre ouvre la bouche dire : « à je sais&#8230; »</li>
<li>Pour le copilote : soupirer, dicter tous les raccourcis clavier, glisser des erreurs dans le co-pilotage, lire ce qui est écrit, corriger <span style="text-decoration: underline;">tout de suite</span> <span style="text-decoration: underline;">toutes</span> les fautes de frappe, etc&#8230;</li>
</ul>
<p><strong>Sweet rupture.</strong> La <a href="http://fr.slideshare.net/LaurentSarrazin/2012-1108agile-grenoblesweetrupture04final">key note</a> de  Laurent Sarrazin nous raconte son épopée dans la conversion de la Société Générale vers l’agilité. On y trouve plusieurs de concepts dont :</p>
<ul>
<li>la puissance de la banane</li>
<li>les bocaux à c.. (Attention : comment sortir du bocal du voisin ? Et si les bocaux sont pleins, il faut se remettre en question).</li>
<li>la mise en place d’une salle de jeux (agiles)</li>
<li>des références à plusieurs blogs <a href="http://www.noop.nl/2012/10/i-dont-care-about-agile.html">I don&#8217;t care about agile</a>,  <a href="http://www.qualitystreet.fr/tag/safari-agile/">safari agile</a>, <a href="http://agilitrix.com/">agilitrix.com</a>, etc…</li>
</ul>
<p><strong>XP Games.</strong> Par Cédric Joseph, Julie Boichot-Castagne et Bruno Pommier. Dans cette session on gonfle des ballons et on compte des cartes à jouer. La problématique de l’estimation est étonnamment réaliste : comment comparer la difficulté entre « Gonfler 6 ballons » et « Construire un château de carte » ? C’est souvent ce grand écart que l’on doit effectuer en planification. Par contre je m’attendais à ce que d’autres aspects d’eXtrem Programming soient abordés : le binômage, l’intégration continue, le pilotage par les tests… Je ne connais d’ailleurs aucun jeu illustrant ces pratiques.</p>
<p><strong><a href="http://agileinthemix.com/fr/wp-content/uploads/2012/11/Prez-McsOgdSmall.jpg"><img class="alignright size-full wp-image-1052" title="Prez McsOgdSmall" src="http://agileinthemix.com/fr/wp-content/uploads/2012/11/Prez-McsOgdSmall.jpg" alt="" width="150" height="143" /></a>TDD : du mythe à la réalité.</strong> J’aurais aimé plus de monde pour notre session.  Mais étant la dernière nous avons eu un bel échange à la fin malgré l’apéritif dans la grande salle <img src='http://agileinthemix.com/fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Nous avons partagé entre autre sur :</p>
<ul>
<li>La problématique de ne plus arriver à écrire de tests rouges</li>
<li>L’utilisation des patterns <a href="http://en.wikipedia.org/wiki/Abstract_factory_pattern">Abstract factory</a> et <a href="http://en.wikipedia.org/wiki/Single_responsibility_principle">Single Responsability Principle</a>.</li>
<li>Quand ce n’est plus testable : utilisation du pattern <a href="http://en.wikipedia.org/wiki/Adapter_pattern">Adapter</a>, injection de classes métier etc…</li>
<li>Le piège de ne pas écouter les tests et continuer dans la complexité</li>
</ul>
<p>Au ROTI  50% de j’adore / 50% de c’est correct.<br />
A refaire donc !<br />
Les slides sont sous <a href="http://prezi.com/4uw2xeukk5pu/tdd-du-mythe-a-la-realite">http://prezi.com/4uw2xeukk5pu/tdd-du-mythe-a-la-realite</a>, et le code source sous <a href="https://github.com/mathieucans/TDDice" target="_blank">https://github.com/mathieucans/TDDice</a></p>
<p>Merci aux organisateurs <a href="http://www.clubagilerhonealpes.org/">CARA</a> et sponsors de rendre ce genre d’évènement possible.</p>
<p>Merci à ceux qui écrivent sur le sujet : <a href="http://www.agilex.fr/2012/11/agile-grenoble-2012/">Agilex</a>, <a href="http://xnopre.blogspot.fr/2012/11/agile-grenoble-et-agile-innovation-2012.html">Xavier</a>, <a href="http://agilarium.blogspot.com/2012/11/retrospective-de-lagile-grenoble-2012.html">Agilarium</a>, <a href="http://agilitateur.azeau.com/post/2012/11/10/Agile-Grenoble-2012%2C-ma-journ%C3%A9e-chez-les-bin%C3%B4mes">L&#8217;Agilitateur</a>, <a href="http://ayeba.fr/2012/11/agile-grenoble-2012/" target="_blank">Alexis Monville</a>, <a href="http://atelierlogiciel.wordpress.com/2012/11/11/agile-grenoble-2012-cultiver-le-desir-et-le-plaisir-des-utilisateurs-et-des-collaborateurs/">Atelier Logiciel</a>…</p>
<p>The post <a href="http://agileinthemix.com/fr/2012/11/agile-grenoble-2012-retrospective/">Agile Grenoble 2012 &#8211; Rétrospective</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://agileinthemix.com/fr/2012/11/agile-grenoble-2012-retrospective/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Agile grenoble 2012 : J-10</title>
		<link>http://agileinthemix.com/fr/2012/10/agile-grenoble-2012-j-30/</link>
		<comments>http://agileinthemix.com/fr/2012/10/agile-grenoble-2012-j-30/#comments</comments>
		<pubDate>Mon, 29 Oct 2012 13:34:11 +0000</pubDate>
		<dc:creator>Mathieu</dc:creator>
				<category><![CDATA[conférences]]></category>

		<guid isPermaLink="false">http://agileinthemix.com/fr/?p=1007</guid>
		<description><![CDATA[<p>Plus que 10 jours avant les conférences Agile Grenoble. Le programme est très riche et comme chaque année, il va falloir traiter avec les frustrations : &#8220;on ne pourra pas tout voir&#8221;.  D&#8217;autant plus que cette année, je présente une &#8230; <a href="http://agileinthemix.com/fr/2012/10/agile-grenoble-2012-j-30/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://agileinthemix.com/fr/2012/10/agile-grenoble-2012-j-30/">Agile grenoble 2012 : J-10</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://agileinthemix.com/fr/wp-content/uploads/2012/10/logo_ag2012_speakerSmallb.png"><img class="alignleft size-full wp-image-1034" title="logo_ag2012_speakerSmallb" src="http://agileinthemix.com/fr/wp-content/uploads/2012/10/logo_ag2012_speakerSmallb.png" alt="" /></a>Plus que 10 jours avant les conférences Agile Grenoble. Le <a href="http://2012.agile-grenoble.org/programme" target="_blank">programme</a> est très riche et comme chaque année, il va falloir traiter avec les frustrations : &#8220;on ne pourra pas tout voir&#8221;.  D&#8217;autant plus que cette année, je présente une session avec Olivier Gauchard : &#8220;Mise en place du TDD : du mythe à la réalité&#8221; (d&#8217;où la belle image en tête d&#8217;article <img src='http://agileinthemix.com/fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) Je vous livre ici les autres sessions auxquelles j&#8217;aimerais assister.</p>
<p><span id="more-1007"></span></p>
<p>En ouverture, je vais commencer la matinée par &#8220;Changer pour mieux coder&#8221; et les <a href="http://www.google.fr/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=1&amp;ved=0CCgQFjAA&amp;url=http%3A%2F%2Fwww.bennadel.com%2Fresources%2Fuploads%2F2012%2FObjectCalisthenics.pdf&amp;ei=MzxzUIL-DoLC0QWIuIDQDQ&amp;usg=AFQjCNEaUNtCNOR-4DiaqL7FJBkNAWY8dw&amp;cad=rja">objets calisthéniques</a>. Mon deuxième choix sera pour &#8220;Construire une vision partagée&#8221; ou encore  &#8220;Product Owner : comment tirer toute la puissance de l&#8217;agilité&#8221;.</p>
<p>En deuxième séance mon premier choix est sans conteste &#8220;Mon Binôme m&#8217;a tué&#8221;, problème humain trop souvent rencontré. En deuxième choix ce serait &#8220;La fleur de lotus ou comment redynamiser vos rétrospectives&#8221;.</p>
<p>Pour la 3ème partie, j&#8217;hésite entre deux sessions de deux heures : REX BDD avec <a href="http://www.specflow.org/specflownew/">specflow </a>, XP games ou encore le projet CAISSE de la boite à outil.</p>
<p>Pour finir, je ne pourrais pas assister à la conférence &#8220;Well-crafted software : un code maintenable avec le &#8220;principe de responsabilité unique&#8221; qui se déroule à la même heure que ma présentation.</p>
<p>Et vous ? Qu&#8217;est-ce qui vous fait envie dans tout ça ?</p>
<p><img title="More..." src="http://agileinthemix.com/fr/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p>The post <a href="http://agileinthemix.com/fr/2012/10/agile-grenoble-2012-j-30/">Agile grenoble 2012 : J-10</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://agileinthemix.com/fr/2012/10/agile-grenoble-2012-j-30/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Et moi dans une équipe SCRUM ?</title>
		<link>http://agileinthemix.com/fr/2012/09/et-moi-dans-une-equipe-scrum/</link>
		<comments>http://agileinthemix.com/fr/2012/09/et-moi-dans-une-equipe-scrum/#comments</comments>
		<pubDate>Thu, 20 Sep 2012 19:44:30 +0000</pubDate>
		<dc:creator>Mathieu</dc:creator>
				<category><![CDATA[retours d'expérience]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[agilité]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://agileinthemix.com/fr/?p=972</guid>
		<description><![CDATA[<p>Avec sa nouvelle répartition des rôles, la migration en mode Agile remet en question la place de l&#8217;individu dans son cadre de travail. Le développeur logiciel crée du virtuel. Que lui reste il pour satisfaire sa créativité lorsqu&#8217;il n&#8217;est plus &#8230; <a href="http://agileinthemix.com/fr/2012/09/et-moi-dans-une-equipe-scrum/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://agileinthemix.com/fr/2012/09/et-moi-dans-une-equipe-scrum/">Et moi dans une équipe SCRUM ?</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://agileinthemix.com/fr/wp-content/uploads/2012/09/Et-Moi-dans-une-équipe-SCRUMb.jpg"><img class="size-medium wp-image-991 alignleft" title="Et Moi dans une équipe SCRUM" src="http://agileinthemix.com/fr/wp-content/uploads/2012/09/Et-Moi-dans-une-équipe-SCRUMb-300x151.jpg" alt="" width="300" height="151" /></a>Avec sa nouvelle répartition des rôles, la migration en mode Agile remet en question la place de l&#8217;individu dans son cadre de travail. Le développeur logiciel crée du virtuel. Que lui reste il pour satisfaire sa créativité lorsqu&#8217;il n&#8217;est plus responsable d&#8217;un projet dans son ensemble ? Comment ne pas se sentir petit post-it partie du grand dashboard? Comment les managers évaluent-ils les performances de chacun ? Cet article décrit une séance de travail d&#8217;une heure autour de la problématique : « Et moi dans une équipe SCRUM ? ».</p>
<p><span id="more-972"></span>Comme introduction, le jeu « Système complexe » trouve tout son intérêt. Le principe est simple et sans matériel : tous les individus se promènent dans la salle, chacun choisi pour lui même deux autres individus. Au signal, chaque individu se positionne à équidistance de ses deux élus. Le système est ainsi défini, plus on est nombreux moins il se stabilise. On débriefe sur le fait que l&#8217;équipe est un système interactif où le comportement de chacun influe sur celui des autres.</p>
<p>Commence ensuite la réflexion sur le vécu de chacun orientée autour de 4 axes :</p>
<ul>
<li>les manques / les apports</li>
<li>les frustrations / les satisfactions</li>
</ul>
<p>Il n&#8217;est pas toujours facile de distinguer les différences entre ces axes mais la réflexion est ouverte. Chacun parle à son tour de son vécu puis on fait une conclusion collective.</p>
<p>Le bilan de cette séance est intéressant : on dérape assez vite dans la rétrospective de projet mais les langues se délient et les idées sortent. Ce que j&#8217;en retiens est que l&#8217;équipe joue un rôle de Feedback de grande qualité quand au travail de chacun. Comme on s&#8217;y attend, pour certains, les personnes externes à l&#8217;équipe ont plutôt tendance à confondre les individualités dans une entité d&#8217;équipe.</p>
<p>The post <a href="http://agileinthemix.com/fr/2012/09/et-moi-dans-une-equipe-scrum/">Et moi dans une équipe SCRUM ?</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://agileinthemix.com/fr/2012/09/et-moi-dans-une-equipe-scrum/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mix-IT 2012 &#8211; décantation</title>
		<link>http://agileinthemix.com/fr/2012/05/mix-it-2012-decantation/</link>
		<comments>http://agileinthemix.com/fr/2012/05/mix-it-2012-decantation/#comments</comments>
		<pubDate>Tue, 08 May 2012 16:52:02 +0000</pubDate>
		<dc:creator>Mathieu</dc:creator>
				<category><![CDATA[conférences]]></category>
		<category><![CDATA[agilité]]></category>
		<category><![CDATA[eXtrem Programming]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://agileinthemix.com/fr/?p=893</guid>
		<description><![CDATA[<p>Jeudi 26 avril dernier se sont déroulées les conférences Mix-IT 2012 organisées par le CARA et le JUG de Lyon. Voici un échantillon de ce que j&#8217;ai pu y glaner. Open key note : Belle entrée en matière par Claire &#8230; <a href="http://agileinthemix.com/fr/2012/05/mix-it-2012-decantation/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://agileinthemix.com/fr/2012/05/mix-it-2012-decantation/">Mix-IT 2012 &#8211; décantation</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://agileinthemix.com/fr/wp-content/uploads/2012/05/logo-mixit.png"><img class="alignleft size-full wp-image-905" title="logo-mixit" src="http://agileinthemix.com/fr/wp-content/uploads/2012/05/logo-mixit.png" alt="" width="200" height="50" /></a>Jeudi 26 avril dernier se sont déroulées les conférences <a href="http://www.mix-it.fr/">Mix-IT 2012</a> organisées par le <a href="http://lyon.clubagilerhonealpes.org/">CARA</a> et le <a href="http://www.lyonjug.org/">JUG de Lyon</a>. Voici un échantillon de ce que j&#8217;ai pu y glaner.</p>
<p><strong><span id="more-893"></span>Open key note : </strong></p>
<p>Belle entrée en matière par Claire Blondel. Sa présentation sur <a href="http://www.youtube.com/watch?v=aMLm6DPfvdc">l&#8217;éducation positive</a>, nous pose pleins de questions sur notre éducation &#8220;à la française&#8221;, la peur de l’échec et entrepreneuriat.<br />
Claire part du constat que toute notre éducation est centrée sur le fait qu&#8217;il est interdit de se tromper. Outre la pression générée, la &#8220;non éducation à l&#8217;erreur&#8221; nous laisse peu autonome face à l’échec. Et pourtant, tout le monde s&#8217;accorde sur le fait que l’échec permet d&#8217;avancer.<br />
Quelques citations :<em></em></p>
<ul>
<li>&#8220;Je suis fatiguée d&#8217;avoir peur de me tromper&#8221;</li>
<li>&#8220;En France on a l&#8217;adulte en fin de chaîne qui vérifie si le travail est bon.&#8221;</li>
<li>&#8220;Interdire l&#8217;erreur c&#8217;est se condamner à l&#8217;immobilité&#8221;</li>
</ul>
<p lang="zxx"><strong>L&#8217;expérience des billes rouges :</strong></p>
<p lang="zxx">En première session, j&#8217;ai choisi d&#8217;assister à l&#8217;expérience des billes rouges présentée par <a href="http://ayeba.fr/">Alexis Montville</a>. Un jeu de rôle restitue le pilotage d&#8217;un projet par les indicateurs : le nombre de billes rouges dans un tirage au sort. Alexis joue le rôle du directeur d&#8217;agence, nomme un chef de projet, embauche 3 développeurs et deux auditeurs qualité. Le débriefing qui s&#8217;en suit est intéressant :</p>
<ul>
<li>L&#8217;analogie entre les billes rouges et les anomalies en informatique est toute trouvée</li>
<li>Le projet est piloté par des indicateurs qui sont indépendant de la performance du travail fourni. On fait dire n&#8217;importe quoi à l&#8217;indicateur : &#8220;regardez : en mettant la pression on obtient plus de résultat!&#8221; &#8230; Sur un tirage au sort ?</li>
<li>En tant qu&#8217;employé on voudrait se servir de l&#8217;entretien de fin d&#8217;année pour progresser. Mais un entretien par an est ridicule comme boucle de feedback. Une phrase à ce propos : &#8220;<em>L&#8217;entretien individuel est l&#8217;effet tunnel du management traditionnel</em>&#8220;</li>
</ul>
<p lang="zxx">Les échanges en fin de session étaient intéressants, dommage qu&#8217;on ai pas eu le temps de détailler les points de <a href="http://fr.wikipedia.org/wiki/William_Edwards_Deming">W.E. Deming</a>.</p>
<p lang="zxx"><strong>Lean startup, l&#8217;entreprenariat agile :</strong></p>
<p lang="zxx"> Je suis ensuite allé voir la session de Emmanuel Levi-Valensi de la société <a href="http://pia-conseil.com/">PIA</a>. <em>&#8220;L&#8217;approche lean startup est une méthode rigoureuse pour augmenter le succès des stratups&#8221;</em>. Emmanuel nous propose sa lecture du livre d&#8217;Eric Ries, qui incite à appliquer le (Plan, Do, Check, Act) du lean :</p>
<ul>
<li>Se concentrer sur la satisfaction client</li>
<li>Etre une entreprise innovante</li>
<li>Aller voir avec ses yeux</li>
<li>Accepter de se montrer</li>
</ul>
<p lang="zxx">Les concepts de pivot, de <a href="http://en.wikipedia.org/wiki/Business_Model_Canvas">Business Canvas Model</a> de <a href="http://en.wikipedia.org/wiki/Minimum_viable_product">MVP</a> sont abordés. Tout un paragraphe est consacrés au biais cognitifs notamment le fait qu&#8217;il est plus difficile de se remettre en question quand on a pris la parole en publique.</p>
<p lang="zxx">Une remarque sur l&#8217;écoute active : lorsqu&#8217;on présente le produit, il est difficile d&#8217;être attentif à la petite phrase ou à l&#8217;attitude de 15 secondes qui va nous dire beaucoup sur le ressenti utilisateur. Ça me rappelle certaines démos SCRUM, où l&#8217;équipe identifie au préalable le démonstrateur et le rapporteur responsable de collecter un max de feedback.</p>
<p lang="zxx"><strong>Sky Castle Game :</strong></p>
<p lang="zxx">L&#8217;après midi j&#8217;ai participé au <a title="Sky Castle Game" href="http://skycastlegame.net/">Sky Castle Game</a>. Animé par ses majestés : <a href="http://agilarium.blogspot.fr/">Fabrice Aimetti</a>, <a href="http://blog.crafting-labs.fr/">Antoine Vernois</a> et Philippe Launay. Inspirés des XP games, le jeu modélise la vie d&#8217;un projet. Le cadencement est assuré par un gong (très bruyant <img src='http://agileinthemix.com/fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) et on essaye de maîtriser le flux de production&#8230; pas facile :</p>
<ul>
<li>l&#8217;auto organisation sans facilitateur</li>
<li>de conserver une vision d&#8217;ensemble : on se retrouve avec le toit de la tour construite avant les murs.</li>
<li>de prendre une décision face à un goulot d&#8217;étranglement.</li>
</ul>
<p lang="zxx"><strong>Tests automatiques les mythe du ROI :</strong></p>
<div id="__ss_9173726" class="alignleft" style="width: 250px;"><iframe src="http://www.slideshare.net/slideshow/embed_code/9173726" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="250" height="170"></iframe></div>
<p lang="zxx">J&#8217;ai fini ma journée sur une session de grande qualité. <a href="http://www.slideshare.net/gmantel" target="_blank">Gilles Mantel</a> nous livre une autre approche pour estimer les gains des tests automatiques : l&#8217;utilisation du mécanisme des options en bourses pour estimer la non qualité.</p>
<p lang="zxx">L&#8217;approche est vraiment pertinente et il n’hésite pas à renverser la pyramide des tests dans le cadre de projet en cycle en V. J&#8217;ai trouvé <a href="http://www.sagadoprogramador.com.br/wp-content/uploads/2010/09/ScottAmblerCurve.jpg">la courbe de Scott Ambler</a> sur le coût des non conformité intéressante. J&#8217;ai bien aimé aussi la pique sur l&#8217;outil Selenium : le seul élément chimique qui dissout le Mercure. <img src='http://agileinthemix.com/fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p lang="zxx"><strong>Quelques sessions que j&#8217;ai ratées :</strong></p>
<p lang="zxx">Comme on ne peut pas tout voir, je suis un peu déçu de ne pas avoir pu assister (entre autres) aux sessions suivantes :</p>
<ul>
<li>Lighting talk (plusieurs présentations de 5 minutes). Heureusement j&#8217;ai pu voir certaines vidéos dont celle de Jean-Baptiste Dusseaut : <a href="http://vimeo.com/41144268">La voie du programmeur</a>. Le contenu est super et les slides avec <a href="http://prezi.com/">Prezi</a> ca jette!</li>
<li>Utilisateur, mon amour, ma migraine de Sophie Freiermuth. Mais où trouve-t-on la vidéo ??? <img src='http://agileinthemix.com/fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p lang="zxx">Super journée, merci aux organisateurs et aux intervenants de rendre possible un séminaire de cette qualité.</p>
<p>The post <a href="http://agileinthemix.com/fr/2012/05/mix-it-2012-decantation/">Mix-IT 2012 &#8211; décantation</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://agileinthemix.com/fr/2012/05/mix-it-2012-decantation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pair programming : le rôle de mentor et la théorie de la passe</title>
		<link>http://agileinthemix.com/fr/2012/03/pair-programming-le-role-de-mentor-et-la-theorie-de-la-passe/</link>
		<comments>http://agileinthemix.com/fr/2012/03/pair-programming-le-role-de-mentor-et-la-theorie-de-la-passe/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 17:03:44 +0000</pubDate>
		<dc:creator>Mathieu</dc:creator>
				<category><![CDATA[retours d'expérience]]></category>
		<category><![CDATA[eXtrem Programming]]></category>
		<category><![CDATA[pair programming]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://agileinthemix.com/fr/?p=826</guid>
		<description><![CDATA[<p>Un des travers dans l&#8217;utilisation de la programmation en paire est le syndrome du « clavier englué ». En effet qui n&#8217;a pas passé sa journée à jouer uniquement le rôle du pilote ou du co-pilote sans inverser les rôles ? En &#8230; <a href="http://agileinthemix.com/fr/2012/03/pair-programming-le-role-de-mentor-et-la-theorie-de-la-passe/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://agileinthemix.com/fr/2012/03/pair-programming-le-role-de-mentor-et-la-theorie-de-la-passe/">Pair programming : le rôle de mentor et la théorie de la passe</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></description>
			<content:encoded><![CDATA[<p><a title="By Léna (Own work) [CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0)], via Wikimedia Commons" href="http://commons.wikimedia.org/wiki/File%3APasse_Vergallo.jpg"><img class="alignleft" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Passe_Vergallo.jpg/256px-Passe_Vergallo.jpg" alt="Passe Vergallo" width="249" height="166" /></a>Un des travers dans l&#8217;utilisation de la programmation en paire est le syndrome du « clavier englué ». En effet qui n&#8217;a pas passé sa journée à jouer uniquement le rôle du pilote ou du co-pilote sans inverser les rôles ? En théorie, les rôles doivent être inversés aussi souvent que possible et au moins toutes les ½ heures (source <a title="www.wikihow.com" href="http://www.wikihow.com/Pair-Program">www.wikihow.com</a>).<br />
Alors pourquoi est-ce si difficile de laisser ou de prendre le clavier ?<span id="more-826"></span></p>
<p>Lorsque la paire est composée d&#8217;individus assez équivalents en terme d&#8217;approche, de compétences, de rapidité d&#8217;écriture etc.. le problème ne se pose pas : le clavier peut être monopolisé un moment pour passer très vite de l&#8217;un à l&#8217;autre. J&#8217;ai déjà vu le clavier changer à chaque ligne. La sensation de performance est grisante. C&#8217;est là qu&#8217;on sent que la paire va vraiment plus vite que deux &#8220;monômes&#8221;. La difficulté arrive avec la notion de mentor. Lorsque la paire n&#8217;est pas équilibrée. Pour des raisons de performances qui semblent louables, le plus expérimenté risque de monopoliser le clavier et de ne pas se mettre au niveau de son équipier, de ne pas lui laisser le temps de progresser.</p>
<p>L&#8217;analogie avec le sport est intéressante  : dans les équipes on observe parfois quelques stars du ballon qui vont droit au but sans faire de passe. Cela donne l&#8217;illusion de performance car la personne moins compétente ne progresse pas si on ne lui fait pas confiance en lui laissant la balle.</p>
<p>Il en va de même dans les projets informatiques : les experts doivent apprendre à être un peu moins performants pour laisser le temps à leur coéquiper de progresser. A court terme on livre moins; mais très vite, les compétences des individus montent et le projet est gagnant.</p>
<p>The post <a href="http://agileinthemix.com/fr/2012/03/pair-programming-le-role-de-mentor-et-la-theorie-de-la-passe/">Pair programming : le rôle de mentor et la théorie de la passe</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://agileinthemix.com/fr/2012/03/pair-programming-le-role-de-mentor-et-la-theorie-de-la-passe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Limiter son TAF avec les Design Patterns</title>
		<link>http://agileinthemix.com/fr/2012/03/limiter-son-taf-avec-les-design-patterns/</link>
		<comments>http://agileinthemix.com/fr/2012/03/limiter-son-taf-avec-les-design-patterns/#comments</comments>
		<pubDate>Thu, 08 Mar 2012 21:00:11 +0000</pubDate>
		<dc:creator>Mathieu</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[programmation objet]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[dojo]]></category>

		<guid isPermaLink="false">http://agileinthemix.com/fr/?p=752</guid>
		<description><![CDATA[<p>Au cours d&#8217;un dojo improvisé nous nous sommes intéressés à modifier le programme suivant pour limiter le nombre de tâches en cours en utilisant le plus de design patterns possibles. Le programme d&#8217;origine affiche le nombre de travaux en cours &#8230; <a href="http://agileinthemix.com/fr/2012/03/limiter-son-taf-avec-les-design-patterns/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://agileinthemix.com/fr/2012/03/limiter-son-taf-avec-les-design-patterns/">Limiter son TAF avec les Design Patterns</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></description>
			<content:encoded><![CDATA[<p>Au cours d&#8217;un dojo improvisé nous nous sommes intéressés à modifier le programme suivant pour limiter le nombre de tâches en cours en utilisant le plus de design patterns possibles.</p>
<p>Le programme d&#8217;origine affiche le nombre de travaux en cours dans la sortie console. Basé sur les timers systèmes, toutes les secondes une nouvelle tâche est lancée. Chaque tâche durant 5 secondes, il y a augmentation du nombre de tâches en cours jusqu&#8217;à stabilisation du processus.</p>
<pre class="brush: csharp; collapse: false; title: ; notranslate">
class Program
{
    static void Main(string[] args)
    {
        int workInProgress = 0;
        var workGenerator = new System.Timers.Timer();

        workGenerator.Interval = 1000;
        workGenerator.Elapsed += (o, s) =&amp;gt;
            {
                Console.WriteLine(&amp;quot;begin work {0}&amp;quot;, ++workInProgress);
                System.Threading.Thread.Sleep(5000);
                Console.WriteLine(&amp;quot;end work {0}&amp;quot;, --workInProgress);
            };

        workGenerator.Start();

        Console.WriteLine(&amp;quot;Press any key to terminate&amp;quot;);
        Console.ReadLine();

        workGenerator.Stop();
    }
}
</pre>
<p><span id="more-752"></span><br />
Voici une des solutions abordée.</p>
<p>1 &#8211; Créer une interface IWorkGenerator pour rendre le programme indépendant de la techno utilisée</p>
<pre class="brush: csharp; collapse: true; light: false; title: IWorkGenerator; toolbar: true; notranslate">
public interface IWorkGenerator
{
     double Interval { get; set; }
     event EventHandler Elapsed;
     void Start();
     void Stop();
}</pre>
<p>2 &#8211; Utiliser le pattern adapter pour adapter le System.Timer à cette nouvelle interface</p>
<pre class="brush: csharp; collapse: true; light: false; title: SystemTimerAdapter; toolbar: true; notranslate">
class SystemTimerAdapter : IWorkGenerator
{
    private System.Timers.Timer timer;

    private void OnTimerElapsed(object sender, System.Timers.ElapsedEventArgs e)
    {
    	if (this.Elapsed != null)
    	{
    	this.Elapsed(this, EventArgs.Empty);
    	}
    }

    public event EventHandler Elapsed;

    public double Interval
    {
    	get
    	{
    	return this.timer.Interval;
    	}
    	set
    	{
    	this.timer.Interval = value;
    	}
    }

    public void Start()
    {
    	this.timer.Start();
    }

    public void Stop()
    {
    	this.timer.Stop();
    }

    public SystemTimerAdapter(System.Timers.Timer timer)
    {
    	this.timer = timer;
    	this.timer.Elapsed += OnTimerElapsed;
    }

}
</pre>
<p>3 &#8211; Limiter le nombre de tâches en cours par l&#8217;utilisation du pattern decorator</p>
<pre class="brush: csharp; collapse: true; light: false; title: WorkLimiter; toolbar: true; notranslate">
class WorkLimiterDecorator : IWorkGenerator
{
    private IWorkGenerator decorated;
    private int workInProgress;

    private void OnDecoratedElapsed(object sender, EventArgs e)
    {
    	if (this.workInProgress++ &amp;lt; WorkLimit)
    	{
    	if (this.Elapsed != null)
    		this.Elapsed(this, e);
    	}
    	this.workInProgress--;
    }

    public event EventHandler Elapsed;

    public int WorkLimit { get; set; }

    public double Interval
    {
    	get { return this.decorated.Interval; }
    	set { this.decorated.Interval = value; }
    }

    public void Start()
    {
    	this.decorated.Start();
    }

    public void Stop()
    {
    	this.decorated.Stop();
    }

    public WorkLimiterDecorator(IWorkGenerator decorated)
    {
    	this.decorated = decorated;
    	this.decorated.Elapsed += OnDecoratedElapsed;
    	this.workInProgress = 0;
    }
}
</pre>
<p><a href="http://agileinthemix.com/fr/wp-content/uploads/2012/03/kambanConsole.jpg"><img class="alignnone size-full wp-image-782" title="kambanConsole" src="http://agileinthemix.com/fr/wp-content/uploads/2012/03/kambanConsole.jpg" alt="" width="585" height="314" /></a><br />
<strong>Avantages et inconvénients de cette architecture</strong><br />
<a href="http://agileinthemix.com/fr/wp-content/uploads/2011/02/plus-e1296595965675.png"><img class="alignleft size-full wp-image-451" title="plus" src="http://agileinthemix.com/fr/wp-content/uploads/2011/02/plus-e1296595965675.png" alt="" width="20" height="16" /></a><strong>Avantages</strong></p>
<ul>
<li>L&#8217;interface rend le programme indépendant de la rélisation du générateur de tâche</li>
<li>Le pattern adapter peut s&#8217;appliquer à divers implémentation (thread, événement,&#8230;)</li>
<li>Le décorateur est indépendant de la rélisation. On limite vraiment le TAF car peut appliquer la limitation à n&#8217;importe quelle implémentation de IWorkGenerator <img src='http://agileinthemix.com/fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p><a href="http://agileinthemix.com/fr/wp-content/uploads/2011/02/minus.png"><img class="alignleft size-full wp-image-450" title="minus" src="http://agileinthemix.com/fr/wp-content/uploads/2011/02/minus.png" alt="" width="30" height="24" /></a><strong>Incovénients</strong></p>
<ul>
<li>On réimplémente à chaque fois l&#8217;interface. Sur une interface compliquée celà peut être fastidieux.</li>
</ul>
<p><strong>Remarque</strong><br />
La classe WorkLimiterDecorator doit être thread safe. Une amélioration du code consiste à créer deux méthodes atomiques IncrementAndTest et Decrement.</p>
<p>The post <a href="http://agileinthemix.com/fr/2012/03/limiter-son-taf-avec-les-design-patterns/">Limiter son TAF avec les Design Patterns</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://agileinthemix.com/fr/2012/03/limiter-son-taf-avec-les-design-patterns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rétrospective 2011</title>
		<link>http://agileinthemix.com/fr/2012/01/retrospective-2011/</link>
		<comments>http://agileinthemix.com/fr/2012/01/retrospective-2011/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 21:03:14 +0000</pubDate>
		<dc:creator>Mathieu</dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[rétrospectives]]></category>

		<guid isPermaLink="false">http://agileinthemix.com/fr/?p=696</guid>
		<description><![CDATA[<p>L&#8217;année 2012 est déjà bien entamée mais il aurait été dommage de quitter le mois de janvier sans bilan de 2011. Ce qui s&#8217;est bien passé Code Retreat en janvier. Superbe expérience que je conseille à tout le monde. Migration &#8230; <a href="http://agileinthemix.com/fr/2012/01/retrospective-2011/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://agileinthemix.com/fr/2012/01/retrospective-2011/">Rétrospective 2011</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></description>
			<content:encoded><![CDATA[<p>L&#8217;année 2012 est déjà bien entamée mais il aurait été dommage de quitter le mois de janvier sans bilan de 2011.</p>
<h2>Ce qui s&#8217;est bien passé</h2>
<ul>
<li><a href="http://agileinthemix.com/fr/2011/01/code-retreat-a-grenoble-mise-en-oeuvre-de-pratiques-extrem-programming/">Code Retreat en janvier</a>. Superbe expérience que je 	conseille à tout le monde.</li>
<li>Migration du blog et un nouveau nom : &#8220;agileinthemix.com&#8221;.</li>
<li>Nouveau projet avec près de 70% de couverture par les tests et une équipe 	en constante progression.</li>
<li>Des architectures plus <a href="http://agileinthemix.com/fr/2011/03/votre-architecture-est-elle-solid/">SOLID</a></li>
<li>Mise en place d&#8217;un &#8220;<a href="http://agileinthemix.com/fr/2011/11/apprentissage-collaboratif/">Learnig (half) day</a>&#8220;.</li>
<li><a href="agile-grenoble-2011-decantation">Agile Grenoble 2011</a> : vraiment enrichissant, je mets 	en application ce que j&#8217;y ai appris.</li>
<li>Quelques articles qui m&#8217;ont marqués cette année :
<ul>
<li><a href="http://www.codeproject.com/Articles/286863/I-Interface">I Interface</a></li>
<li><a href="http://blog.goyello.com/2011/10/06/three-pillars-of-unit-tests/">Three pillars of Unit Tests</a></li>
<li><a href="http://www.codeproject.com/Articles/155756/Anonymous-Methods-Behind-the-Scenes">Anonymous Methods &#8211; Behind the Scenes</a></li>
<li><a href="http://blog.emmanueldeloget.com/index.php?post/2011/09/09/Ce-qui-est-%C3%A0-moi-est-%C3%A0-moi">Dangers et pièges des systèmes de suivi des références</a></li>
</ul>
</li>
</ul>
<h2>Ce qui s&#8217;est moins bien passé</h2>
<ul>
<li>Je n&#8217;ai pas écrit d&#8217;article sur <a href="http://agile-grenoble.org/2011/innovation">Agile innovation 2011</a>. C&#8217;est dommage, 	l&#8217;expérience était vraiment enrichissante. Si j&#8217;ai le temps, je 	ferais peut être un court billet sur le sujet courant février.</li>
<li>Participation aux <a href="http://www.clubagilerhonealpes.org/cat/activites/coding-dojo">Coding Dojos du CARA</a>. Je n&#8217;y suis allé 	qu&#8217;une fois. Le sujet était le &#8220;open/close principle&#8221;. Super intéressant, mais pas facile de traverser la ville entre midi et 	deux pour y aller plus souvent.</li>
</ul>
<h2>Les indicateurs</h2>
<table border="1" cellspacing="0" cellpadding="1" width="100%">
<colgroup>
<col width="100*"></col>
<col width="50*"></col>
<col width="50*"></col>
</colgroup>
<tbody>
<tr valign="TOP">
<td width="40%"></td>
<td style="text-align: center;" width="30%"><strong>2010</strong></td>
<td style="text-align: center;" width="30%"><strong>2011</strong></td>
</tr>
<tr valign="TOP">
<td width="40%">Nombre de visiteurs / mois</td>
<td style="text-align: center;" width="30%">60</td>
<td style="text-align: center;" width="30%">100</td>
</tr>
<tr valign="TOP">
<td width="40%">Nombre d&#8217;articles</td>
<td style="text-align: center;" width="30%">11</td>
<td style="text-align: center;" width="30%">11</td>
</tr>
<tr valign="TOP">
<td width="40%">Nombre de commentaires</td>
<td style="text-align: center;" width="30%">4</td>
<td style="text-align: center;" width="30%">6 + 2 pings back</td>
</tr>
</tbody>
</table>
<p>Bilan très positif donc, espérons que 2012 soit aussi riche. Merci à : Yann, <a href="http://www.agilex.fr/">Alex</a>, <a href="http://www.aubryconseil.com/">Claude</a>, <a href="http://www.carlconrad.net/fr/">Carl</a> et <a href="http://techaline.wordpress.com/">Aline</a> pour leurs commentaires.</p>
<p>The post <a href="http://agileinthemix.com/fr/2012/01/retrospective-2011/">Rétrospective 2011</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://agileinthemix.com/fr/2012/01/retrospective-2011/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Agile Grenoble 2011 décantation</title>
		<link>http://agileinthemix.com/fr/2011/11/agile-grenoble-2011-decantation/</link>
		<comments>http://agileinthemix.com/fr/2011/11/agile-grenoble-2011-decantation/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 22:45:08 +0000</pubDate>
		<dc:creator>Mathieu</dc:creator>
				<category><![CDATA[conférences]]></category>
		<category><![CDATA[agilité]]></category>
		<category><![CDATA[BDD]]></category>
		<category><![CDATA[équipe]]></category>
		<category><![CDATA[eXtrem Programming]]></category>
		<category><![CDATA[rétrospectives]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://agileinthemix.com/fr/?p=652</guid>
		<description><![CDATA[<p>Comme prévu cette année Agile Grenoble a été encore une fois très riche. Voici ce que j&#8217;en retiens : Keynote &#8220;Starting An Agile Transition with Why&#8221; par Karl Scotland Introduit comme une personne qui fait du Lean même quand il &#8230; <a href="http://agileinthemix.com/fr/2011/11/agile-grenoble-2011-decantation/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://agileinthemix.com/fr/2011/11/agile-grenoble-2011-decantation/">Agile Grenoble 2011 décantation</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></description>
			<content:encoded><![CDATA[<p>Comme prévu cette année Agile Grenoble a été encore une fois très riche. Voici ce que j&#8217;en retiens :<strong></strong></p>
<p><strong>Keynote &#8220;Starting An Agile Transition with Why&#8221;</strong><br />
<em>par<a href="http://availagility.co.uk/"> Karl Scotland</a></em><br />
Introduit  comme une personne qui fait du Lean même quand il fait son jardin, la  conférence de Karl recentre la réflexion sur le Why. D&#8217;après lui c&#8217;est  en répondant clairement à cette question que l&#8217;on est plus efficace car  on a plus de motivation donc plus de succès. Ça m&#8217;a rappelé  une conférence en 2009 de Marie-Pia Ignace sur l&#8217;<a href="http://a3thinking.com/">approche A3</a>.  Elle nous avait alors posé la question : pourquoi faite vous de  l&#8217;agilité ? … Et bien les réponses étaient loin d&#8217;être claires <img src='http://agileinthemix.com/fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Les tests intégrés sont une arnaque!</strong><br />
<em>par<a href="http://jbrains.ca/"> J. B. Rainsberger</a></em><br />
<a href="http://agileinthemix.com/fr/wp-content/uploads/2011/11/TestIntegreCycle.png"><img class="alignleft size-thumbnail wp-image-681" title="TestIntegreCycle" src="http://agileinthemix.com/fr/wp-content/uploads/2011/11/TestIntegreCycle-150x150.png" alt="" width="150" height="150" /></a>En  allant à cette conférence j&#8217;avais un peu peur car je me demandais ce  que j&#8217;allais y découvrir. J&#8217;en ressors rassuré : « <span style="text-decoration: underline;">les tests  unitaires sont bons car ils mettent la pression sur le design</span> ». Et  j&#8217;utilise les Mock correctement en validant d&#8217;un coté les « expectation »  et de l&#8217;autre le contrat.<br />
Par  contre, J. B. nous explique que les tests intégrés (c&#8217;est à dire ceux  qui testent plusieurs entités logicielles) nous font rentrer dans une  boucle infernale.<br />
Je rentre aussi avec une belle astuce :<a href="http://c2.com/cgi/wiki?AbstractTestCases"> les tests abstraits</a> pour factoriser le code. Merci!</p>
<p><strong>Démonstration / Kata BDD sur un logiciel pilotant un instrument</strong><br />
<em>Par Matthieu Gironnet et Johanny Bergeron</em><br />
Belle  démonstration de Behaviour Driven Developpement pour la validation d&#8217;un  driver d&#8217;un banc de test chimique. Matthieu joue le rôle du PO et  Johanny nous montre comment il implémente les tests à l&#8217;aide du  framework<a href="http://specflow.org/"> specflow</a>.</p>
<p><strong>Key note “How to Change the World”</strong><br />
<em>Par<a href="http://www.noop.nl/"> Jurgen Appelo</a></em><br />
Dans  sa keynote Jurgen nous explique que les différents facteurs dans une  transition vers l&#8217;agilité sont : le système, les individus, les  connexions et l&#8217;environnement. Ça m&#8217;a rappelé quelques bons souvenirs et  aussi quelques instants de sudation intense. J&#8217;en retiens qu&#8217;en tant que vecteur du changement, il ne faut pas partir  trop tôt sinon les derniers réfractaires reprennent le pouvoir.</p>
<p><strong>Rétrospectives’lab: décantation</strong><br />
<em>Par Emilie Franchomme</em><br />
Très belle présentation disponible<a href="http://www.slideshare.net/EFranchomme/agile-france-mai-2011-rtrospectiveslab-dcantation"> ici</a> avec beaucoup d&#8217;informations. Ça donne envie de lire le livre<a href="http://www.amazon.fr/Agile-Retrospective-Making-Teams-Great/dp/0977616649"> Agile Retrospective</a> de E. Derby et D. Larsen. Nous n&#8217;avons eu droit qu&#8217;à une seule question  en fin de séance : « <span style="text-decoration: underline;">En recherchant ainsi constamment le consensus,  comment faites-vous lorsqu&#8217;il y a clairement besoin de rupture ?</span> ». Pour  moi la solution est dans le rôle du facilitateur, qui doit amener  l&#8217;équipe à réfléchir sur les vrais problèmes&#8230; pas facile !</p>
<p><strong>Comment rendre nos entreprises Agile ?</strong><br />
<em>Par Frédéric Dufau-Joël</em><br />
Fréderic nous explique comment faire des brainstormings géants avec le<a href="http://www.integralvision.fr/methodes-integrales/world-cafe/world-cafe.html"> café découverte</a> ainsi qu&#8217;une définition de<a href="http://www.integralvision.fr/methodes-integrales/holacratie-gouverance/Holacratie.html"> HOLACRATIE</a>. Ce qui m&#8217;a plut c&#8217;est la façon dont on pouvais poser des questions (<a href="http://en.wikipedia.org/wiki/Fishbowl_%28conversation%29">le fishbowl</a>)  : l&#8217;orateur avait mit 5 chaises en rond au centre de la salle et pour  poser une question il fallait venir s&#8217;assoir. Ce qui est intéressant  c&#8217;est qu&#8217;on oublie qu&#8217;il y a 40 personnes autour qui écoutent : du coup  l&#8217;échange est beaucoup plus spontané.<br />
Liens :<a href="http://www.integralvision.fr/"> http://www.integralvision.fr</a>,<a href="http://www.inandco.com/"> http://www.inandco.com/</a>,<a href="http://www.osphere.fr/"> http://www.osphere.fr</a></p>
<p><strong>Conclusion</strong><br />
Cette  année les conférences étaient vraiment de très bonne qualité. Il y a  juste l&#8217;Atelier Neuro Agile de Laurent Bossavit auquel je n&#8217;ai pas pu  assister. C&#8217;est dommage que les conférences ne soient pas filmées : ca permettrait de profiter un peu des sessions que l&#8217;on ne peut pas voir.<br />
Merci encore à toute l&#8217;équipe d&#8217;organisation et aux sponsors pour ce bel évènement !</p>
<p>The post <a href="http://agileinthemix.com/fr/2011/11/agile-grenoble-2011-decantation/">Agile Grenoble 2011 décantation</a> appeared first on <a href="http://agileinthemix.com/fr">Agilité, Architecture, C++ &quot;in the mix&quot;</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://agileinthemix.com/fr/2011/11/agile-grenoble-2011-decantation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
