<?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>Pyxis blog &#187; éric mignot</title>
	<atom:link href="http://pyxis-tech.com/blog/author/emignot/feed/" rel="self" type="application/rss+xml" />
	<link>http://pyxis-tech.com/blog</link>
	<description>agilité, coaching, formation, développement logiciel</description>
	<lastBuildDate>Thu, 02 Feb 2012 09:00:46 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Comment créer des équipes performantes</title>
		<link>http://pyxis-tech.com/blog/2011/12/02/comment-creer-des-equipes-performantes/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=comment-creer-des-equipes-performantes</link>
		<comments>http://pyxis-tech.com/blog/2011/12/02/comment-creer-des-equipes-performantes/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 18:19:29 +0000</pubDate>
		<dc:creator>éric mignot</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Nouvelles et événements]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://pyxis-tech.com/blog/?p=3903</guid>
		<description><![CDATA[J’animerai le prochain rendez-vous Agile sur la création d’équipes performantes. Je vous invite à vous joindre à nous le 7 décembre prochain. Venez recevoir des conseils pour être plus efficace dans la prise de décision en équipe et pour savoir engager vos équipes et les responsabiliser. L’événement débutera à 8 h, pour une durée de [...]]]></description>
			<content:encoded><![CDATA[<p>J’animerai le prochain rendez-vous Agile sur la création d’équipes performantes. Je vous invite à vous joindre à nous le 7 décembre prochain. Venez recevoir des conseils pour être plus efficace dans la prise de décision en équipe et pour savoir engager vos équipes et les responsabiliser.</p>
<p>L’événement débutera à 8 h, pour une durée de 2 heures. Un petit déjeuner sera servi.</p>
<p><a href="http://pyxis-tech.com/fr/notre-offre/formation-agile/creer-des-equipes-performantes-decider-ensemble/382/7-decembre-2011">Inscrivez-vous</a> maintenant, les places sont limitées.</p>
<p>Au plaisir de vous y voir!</p>
]]></content:encoded>
			<wfw:commentRss>http://pyxis-tech.com/blog/2011/12/02/comment-creer-des-equipes-performantes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript TDD par l&#8217;exemple</title>
		<link>http://pyxis-tech.com/blog/2011/10/31/javascript-tdd-par-l-exemple/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=javascript-tdd-par-l-exemple</link>
		<comments>http://pyxis-tech.com/blog/2011/10/31/javascript-tdd-par-l-exemple/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 13:10:19 +0000</pubDate>
		<dc:creator>éric mignot</dc:creator>
				<category><![CDATA[Conférences]]></category>
		<category><![CDATA[agile tour montréal]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[tdd]]></category>

		<guid isPermaLink="false">http://pyxis-tech.com/blog/?p=3743</guid>
		<description><![CDATA[Je propose d&#8217;animer une séance de type atelier pendant laquelle les participants seront invités à programmer un jeu en JavaScript à l&#8217;aide de la technique du développement piloté par les tests (TDD). La particularité de cette séance sur le TDD vient de la combinaison du TDD et de JavaScript. En effet, même si le TDD [...]]]></description>
			<content:encoded><![CDATA[<p>Je propose d&#8217;animer une séance de type atelier pendant laquelle les participants seront invités à programmer un jeu en JavaScript à l&#8217;aide de la technique du développement piloté par les tests (TDD). La particularité de cette séance sur le TDD vient de la combinaison du TDD et de JavaScript. En effet, même si le TDD se propage assez bien dans les équipes de développement, de nombreuses équipes cessent d&#8217;utiliser cette technique au moment où elles écrivent du code JavaScript.</p>
<p><span id="more-3743"></span></p>
<p>Il s&#8217;agit donc ici non seulement d&#8217;échanger sur les barrières rencontrées, mais surtout de pratiquer le TDD dans cette couche souvent délaissée. Cette séance se veut interactive : – chaque participant dans la salle est invité à binômer avec son voisin; – toutes les 20 minutes, nous comparerons les différentes stratégies incrémentales empruntées.</p>
]]></content:encoded>
			<wfw:commentRss>http://pyxis-tech.com/blog/2011/10/31/javascript-tdd-par-l-exemple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Refactoring de tests</title>
		<link>http://pyxis-tech.com/blog/2011/10/13/refactoring-de-tests/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=refactoring-de-tests</link>
		<comments>http://pyxis-tech.com/blog/2011/10/13/refactoring-de-tests/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 08:34:22 +0000</pubDate>
		<dc:creator>éric mignot</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Développement logiciel]]></category>

		<guid isPermaLink="false">http://22.6289</guid>
		<description><![CDATA[Salut Je faisais remarquer aux participants d&#8217;une PSD le mois dernier que l&#8217;on passe énormément plus de temps à lire du code qu&#8217;à en écrire. C&#8217;est pour cette raison, entre autres, que je leur conseillais d&#8217;investir dans la lisibilité du code. Une façon de faire ça qui fonctionne bien pour moi c&#8217;est d&#8217;écrire l&#8217;intention du [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericminio.wordpress.com&#38;blog=22581660&#38;post=205&#38;subd=ericminio&#38;ref=&#38;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[Salut <img class="wp-smiley" src="http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif" alt=":)" />

Je faisais remarquer aux participants d’une PSD le mois dernier que l’on passe énormément plus de temps à lire du code qu’à en écrire. C’est pour cette raison, entre autres, que je leur conseillais d’investir dans la lisibilité du code. Une façon de faire ça qui fonctionne bien pour moi c’est d’écrire l’intention du test en langage naturel, puis de m’arranger pour faire compiler et passer ce que je viens d’écrire.

Un exemple ? Allez, un exemple… <img class="wp-smiley" src="http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif" alt=";)" />

Considérez le test suivant. Sans doute vous trouverez que j’exagère de montrer autant de choses qu’il ne faut pas faire, mais c’est pour l’exemple.

<span id="more-3369"></span>

<a href="http://ericminio.files.wordpress.com/2011/10/capture-d_c3a9cran-2011-10-13-c3a0-08-01-231.png"><img class="alignnone size-full wp-image-207" title="Capture d’écran 2011-10-13 à 08.01.23" src="http://ericminio.files.wordpress.com/2011/10/capture-d_c3a9cran-2011-10-13-c3a0-08-01-231.png?w=465&amp;h=226" alt="" width="465" height="226" /></a>

Le défaut de ce test qui m’intéresse aujourd’hui c’est que beaucoup de gens vont le lire plusieurs fois pour bien comprendre son intention. Si j’essaye de me concentrer sur l’intention du test, en tentant d’activer mon meilleur anglais, cela me donne envie d’écrire les choses plutôt comme ci-dessous.

<a href="http://ericminio.files.wordpress.com/2011/10/capture-d_c3a9cran-2011-10-13-c3a0-08-06-36.png"><img class="alignnone size-full wp-image-208" title="Capture d’écran 2011-10-13 à 08.06.36" src="http://ericminio.files.wordpress.com/2011/10/capture-d_c3a9cran-2011-10-13-c3a0-08-06-36.png?w=424&amp;h=142" alt="" width="424" height="142" /></a>

A partir de là, je dis souvent aux participants « il ne vous reste plus qu’à placer les parenthèses et les points où cela vous arrange pour faire compiler tout ça ». Il y a bien sûr plusieurs façons de le faire et je ne vais pas m’étendre sur ce point. Juste mentionner que pour ma part j’aime bien le pattern builder et, en Java, les imports statiques. Cela peut par exemple donner le résultat ci-dessous.

<a href="http://ericminio.files.wordpress.com/2011/10/capture-d_c3a9cran-2011-10-13-c3a0-08-13-55.png"><img class="alignnone size-full wp-image-209" title="Capture d’écran 2011-10-13 à 08.13.55" src="http://ericminio.files.wordpress.com/2011/10/capture-d_c3a9cran-2011-10-13-c3a0-08-13-55.png?w=443&amp;h=131" alt="" width="443" height="131" /></a>

C’est plus clair non ?

<a href="http://feeds.wordpress.com/1.0/gocomments/ericminio.wordpress.com/205/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/comments/ericminio.wordpress.com/205/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/godelicious/ericminio.wordpress.com/205/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/delicious/ericminio.wordpress.com/205/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gofacebook/ericminio.wordpress.com/205/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/facebook/ericminio.wordpress.com/205/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gotwitter/ericminio.wordpress.com/205/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/twitter/ericminio.wordpress.com/205/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gostumble/ericminio.wordpress.com/205/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/stumble/ericminio.wordpress.com/205/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/godigg/ericminio.wordpress.com/205/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/digg/ericminio.wordpress.com/205/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/goreddit/ericminio.wordpress.com/205/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/reddit/ericminio.wordpress.com/205/" alt="" border="0" /></a> <img src="http://stats.wordpress.com/b.gif?host=ericminio.wordpress.com&amp;blog=22581660&amp;post=205&amp;subd=ericminio&amp;ref=&amp;feed=1" alt="" width="1" height="1" border="0" />]]></content:encoded>
			<wfw:commentRss>http://pyxis-tech.com/blog/2011/10/13/refactoring-de-tests/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://ericminio.files.wordpress.com/2011/10/capture-d_c3a9cran-2011-10-13-c3a0-08-06-36.png" length="" type="" />
<enclosure url="http://ericminio.files.wordpress.com/2011/10/capture-d_c3a9cran-2011-10-13-c3a0-08-13-55.png" length="" type="" />
<enclosure url="http://ericminio.files.wordpress.com/2011/10/capture-d_c3a9cran-2011-10-13-c3a0-08-01-231.png" length="" type="" />
<enclosure url="http://ericminio.files.wordpress.com/2011/10/capture-d_c3a9cran-2011-10-13-c3a0-08-13-55.png" length="" type="" />
<enclosure url="http://ericminio.files.wordpress.com/2011/10/capture-d_c3a9cran-2011-10-13-c3a0-08-06-36.png" length="" type="" />
<enclosure url="http://ericminio.files.wordpress.com/2011/10/capture-d_c3a9cran-2011-10-13-c3a0-08-01-231.png" length="" type="" />
		</item>
		<item>
		<title>Un rêve étrange</title>
		<link>http://pyxis-tech.com/blog/2011/09/29/un-reve-etrange/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=un-reve-etrange</link>
		<comments>http://pyxis-tech.com/blog/2011/09/29/un-reve-etrange/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 05:00:51 +0000</pubDate>
		<dc:creator>éric mignot</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://22.6256</guid>
		<description><![CDATA[Incroyable mais vrai, j&#8217;ai revé de Git cette nuit. Et &#171;&#160;forcément&#160;&#187; comme je rêvais de Git, il y avait aussi @dgageot et @samidalouche. Sami m&#8217;a dit un jour quelque chose comme : &#171;&#160;oublie les branches, pense graph&#160;&#187;. Sur le coup j&#8217;ai compris intellectuellement cette phrase mais pas l&#8217;utilité pratique. Le temps passe et voici qu&#8217;un [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericminio.wordpress.com&#38;blog=22581660&#38;post=183&#38;subd=ericminio&#38;ref=&#38;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[Incroyable mais vrai, j’ai revé de Git cette nuit. Et « forcément » comme je rêvais de Git, il y avait aussi <a href="http://twitter.com/#!/dgageot">@dgageot</a> et <a href="http://twitter.com/#!/samidalouche">@samidalouche</a>.

Sami m’a dit un jour quelque chose comme : « oublie les branches, pense graph ». Sur le coup j’ai compris intellectuellement cette phrase mais pas l’utilité pratique. Le temps passe et voici qu’un nouveau défi Git se présente à mon cerveau – c’est assez fréquent. Hier soir j’aurais exprimé le défi comme ça : je voudrais bien faire un cherry-pick d’un commit précédent dans ma branche, pourrais-je faire un merge et non un cherry-pick ? Un merge d’une branche sur elle-même ? Je m’endors là dessus et j’entends Sami de nouveau : « oublie les branches, pense graph ». Et cette fois ça me parle ! Et cela me pose une autre question : « What if… » je ne connaissais pas le commit en question mais uniquement son effet. David cette fois me parle à l’oreille : « bisect ». Cela fait plusieurs années il me semble que David me « rabâche » les oreilles en conférence avec ce bisect qui permet enfin de faire mieux que d’utiliser Git en première vitesse.

<span id="more-3306"></span>

Je me réveille et là plus possible de dormir, il faut que j’essaye ça.
<ol>
	<li>Merger une branche sur elle-même</li>
	<li>Rechercher un commit</li>
</ol>
<strong>Merger une branche sur elle-même</strong>

Je conserve ce titre « merger » mais ce terme me semble de plus en plus inapproprié.

Donc, j’ouvre mon terminal préféré et je me lance :
<ol>
	<li>Créer un nouveau répertoire suivi par git.</li>
	<li>Repérer un commit en particulier. En pratique un code chat, du genre 3a68fd32ca3b16547c5abb2da52fdf7aed290ee3</li>
	<li>Contredire le commit héros de cette histoire</li>
	<li>git cherry-pick 3a68fd32ca3b16547c5abb2da52fdf7aed290ee3</li>
	<li>Et là, « magie » <img class="wp-smiley" src="http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif" alt=":)" /></li>
</ol>
Bien sûr un git merge est sans effet puisque ce raccourcis de plusieurs commandes git se censure lui-même. Comme souvent quand on sait faire, la solution à mon problème d’hier soir semble triviale. Je le note quand même dans un petit blog pour pas oublier <img class="wp-smiley" src="http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif" alt=";)" /> .

<strong>Rechercher un commit avec git bisect</strong>

Maintenant, j’imagine que je ne connais pas le commit que je cherche. En pratique dans mon exemple le commit en question ne fait que créer un fichier. Je veux trouver un commit qui crée ce fichier.
<ol>
	<li>Créer un fichier shell qui teste si mon fichier existe.</li>
	<li>initialiser git bisect. Je prends l’intervale le plus large : [HEAD premier-commit]</li>
	<li>lancer le run: git bisect run search.sh</li>
</ol>
Et là c’est juste E-norme ! J’ai trouvé des tas de blogs sur bisect qui finissent comme ça : c’est E-norme. A croire que dans la vie d’un utilisateur de Git c’est une étape mentale qui mérite d’être criée au monde. Je ne résiste pas à l’envie de vous partager la copie d’écran du retour de git.

<a href="http://ericminio.files.wordpress.com/2011/09/capture-d_c3a9cran-2011-09-29-c3a0-07-01-31.png"><img class="size-medium wp-image-184 aligncenter" title="Capture d’écran 2011-09-29 à 07.01.31" src="http://ericminio.files.wordpress.com/2011/09/capture-d_c3a9cran-2011-09-29-c3a0-07-01-31.png?w=300&amp;h=157" alt="" width="300" height="157" /></a>

<a href="http://feeds.wordpress.com/1.0/gocomments/ericminio.wordpress.com/183/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/comments/ericminio.wordpress.com/183/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/godelicious/ericminio.wordpress.com/183/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/delicious/ericminio.wordpress.com/183/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gofacebook/ericminio.wordpress.com/183/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/facebook/ericminio.wordpress.com/183/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gotwitter/ericminio.wordpress.com/183/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/twitter/ericminio.wordpress.com/183/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gostumble/ericminio.wordpress.com/183/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/stumble/ericminio.wordpress.com/183/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/godigg/ericminio.wordpress.com/183/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/digg/ericminio.wordpress.com/183/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/goreddit/ericminio.wordpress.com/183/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/reddit/ericminio.wordpress.com/183/" alt="" border="0" /></a> <img src="http://stats.wordpress.com/b.gif?host=ericminio.wordpress.com&amp;blog=22581660&amp;post=183&amp;subd=ericminio&amp;ref=&amp;feed=1" alt="" width="1" height="1" border="0" />]]></content:encoded>
			<wfw:commentRss>http://pyxis-tech.com/blog/2011/09/29/un-reve-etrange/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Forecast vs. Commitment ?</title>
		<link>http://pyxis-tech.com/blog/2011/09/02/forecast-vs-commitment/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=forecast-vs-commitment</link>
		<comments>http://pyxis-tech.com/blog/2011/09/02/forecast-vs-commitment/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 14:35:20 +0000</pubDate>
		<dc:creator>éric mignot</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://22.6188</guid>
		<description><![CDATA[Une fois n&#8217;est pas coutume, voici un titre en anglais qui me semble dans l&#8217;air du temps suite aux mises à jour du Scrum guide cet été. Parmi les points qui sont clefs à mon avis dans cette mise à jour il y a l&#8217;introduction de la notion de prévision faite au début de l&#8217;itération. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericminio.wordpress.com&#38;blog=22581660&#38;post=178&#38;subd=ericminio&#38;ref=&#38;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[Une fois n’est pas coutume, voici un titre en anglais qui me semble dans l’air du temps suite aux mises à jour du Scrum guide cet été.

Parmi les points qui sont clefs à mon avis dans cette mise à jour il y a l’introduction de la notion de prévision faite au début de l’itération. Cela en a interpellé certains qui aimaient bien se raccrocher à cette idée répandue que « ok on fait du Scrum et on ne fixe pas un plan à 6 mois, mais, les gars, quand même, pour ces 3 semaines qui commencent, c’est quoi votre engagement, combien pouvez-vous prendre ? ».

Hmm…

Cette remarque m’inspire deux penseés…

1. … à propos des itérations en cascades :

Peut être avez-vous rencontré des équipes, moi beaucoup, qui reproduisent un processus de développement en cascade dans chaque itération. La plupart ont bien fait leur devoir et bien compris que chaque itération devait livrer un incrément terminé. Ils reproduisent alors à l’intérieur de chaque itération le processus en place pour livrer quelque chose de terminé, soit souvent un processus en cascade. Cela me semble une déduction logique.

Ce que je trouve décevant dans cette approche c’est que, certes l’horizon de planification est passé de plusieurs mois à une itération, mais le modèle mental est resté le même : une demande d’engagement forte sur le triplet date+budget+scope. Rien n’a en fait changé en profondeur dans notre compréhension du caractère émergent de l’activité créatrice du développement logiciel.

Cette interprétation erronée amène d’ailleurs des équipes à s’épuiser rapidement après quelques itérations. C’est écrit d’avance pour ces équipes qui reproduisent à chaque itération le stress de ce type d’engagement.

2. … et à propos de la qualité :

Malheureusement la qualité des logiciels construits dans cet état d’esprit ne s’améliore pas sensiblement dans cette situation. On continue à construire des fonctionnalités inutiles. On continue à avoir de nombreuses anomalies.
<div>Dans <a href="http://ericminio.wordpress.com/2009/10/06/sengager/">un précédent billet</a>, j’avais partagé cette idée de mettre la qualité au coeur de notre engagement. J’ai d’ailleurs eu la chance de mettre en place ces idées chez un client depuis. Ca marche ! Aujourd’hui la nouvelle version du Scrum guide me conforte dans cette idée. L’ensemble des engagements de l’équipe de développement se simplifie et du même coup se concentre :</div>
<div>
<ul>
	<li>engagement de transparence</li>
	<li>engagement de respecter la définition de terminé</li>
	<li>engagement de concentration sur l’objectif du sprint</li>
</ul>
</div>
<div>Il ne s’agit donc pas de substituer un engagement de sprint par une prévision de sprint mais bien de préciser que l’engagement de qualité est au service de l’atteinte d’objectifs itératifs. C’est un message puissant pour les équipes : il est plus utile d’avoir un engagement sur la qualité que d’avoir un engagement sur un contenu.</div>
<div>J’utilisais depuis quelques temps déjà le terme « sélection » pour décrire l’ensemble de PBI que l’équipe sélectionne en planning. Le terme « prévision » est plus puissant car il reconnaît l’incertitude de nos connaissances et ouvre la porte à l’émergence.</div>
<div>« Nous prévoyons d’atteindre cet objectif en construisant ces 3 fonctionnalités. La priorité est l’objectif. Si nous découvrons en cours de route une meilleure idée pour l’atteindre, nous la suivrons. »</div>
<a href="http://feeds.wordpress.com/1.0/gocomments/ericminio.wordpress.com/178/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/comments/ericminio.wordpress.com/178/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/godelicious/ericminio.wordpress.com/178/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/delicious/ericminio.wordpress.com/178/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gofacebook/ericminio.wordpress.com/178/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/facebook/ericminio.wordpress.com/178/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gotwitter/ericminio.wordpress.com/178/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/twitter/ericminio.wordpress.com/178/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gostumble/ericminio.wordpress.com/178/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/stumble/ericminio.wordpress.com/178/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/godigg/ericminio.wordpress.com/178/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/digg/ericminio.wordpress.com/178/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/goreddit/ericminio.wordpress.com/178/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/reddit/ericminio.wordpress.com/178/" alt="" border="0" /></a> <img src="http://stats.wordpress.com/b.gif?host=ericminio.wordpress.com&amp;blog=22581660&amp;post=178&amp;subd=ericminio&amp;ref=&amp;feed=1" alt="" width="1" height="1" border="0" />]]></content:encoded>
			<wfw:commentRss>http://pyxis-tech.com/blog/2011/09/02/forecast-vs-commitment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oubliez Scrum !</title>
		<link>http://pyxis-tech.com/blog/2011/07/14/oubliez-scrum/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=oubliez-scrum</link>
		<comments>http://pyxis-tech.com/blog/2011/07/14/oubliez-scrum/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 14:53:31 +0000</pubDate>
		<dc:creator>éric mignot</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://22.6102</guid>
		<description><![CDATA[Joe: Nous sommes une équipe distribuée sur plusieurs fuseaux horaires. Il est impossible de trouver 15 minutes en commun pour faire un Daily Scrum. Scrum ne marche pas chez nous, il faut l&#8217;adapter. Oubliez Scrum ! Est-ce difficile de se rencontrer rapidement dans la journée lorsque vous en avez subitement besoin ? Le Daily Scrum [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericminio.wordpress.com&#38;blog=22581660&#38;post=169&#38;subd=ericminio&#38;ref=&#38;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[Joe: Nous sommes une équipe distribuée sur plusieurs fuseaux horaires. Il est impossible de trouver 15 minutes en commun pour faire un Daily Scrum. Scrum ne marche pas chez nous, il faut l’adapter.

Oubliez Scrum ! Est-ce difficile de se rencontrer rapidement dans la journée lorsque vous en avez subitement besoin ? Le Daily Scrum vous permet de vous entraîner à cela pour que cela ne soit jamais un problème dans la journée.

Dan: Chez nous il y a deux personnes différentes qui gèrent les priorités et le budget. Il est impossible de trouver un Product Owner. Scrum ne marche pas chez nous, il faut l’adapter.

Oubliez Scrum ! Sur quels critères décidez-vous (de continuer) d’investir dans un développement ? Sur quels critères décidez-vous d’arrêter un développement ? Sur quels critères décidez-vous de libérer une version au marché ? Le Product Owner vous permet de vous entraîner à ces questions en se les posant à chaque itération.

Jude: Notre système est extrêmement complexe, inclus des dizaines de modules qui gèrent des centaines de millions de dollars. Il est impossible de livrer chaque itération un incrément potentiellement prêt pour la production. Scrum ne marche pas pour nous, il faut l’adapter.

Oubliez Scrum ! Combien de temps se passe-t-il entre le moment où votre client préféré à une idée géniale et le moment où vous lui livrer un (morceau de) logiciel qui lui permet de tirer profit de son idée ? Que faudrait-il faire pour diviser ce temps par 2 ? La livraison d’incréments terminés à chaque itération vous permet de vous entraîner à diminuer ce temps pour pouvoir être opportuniste, pour pouvoir saisir facilement les opportunités marché.

Oubliez Scrum ! L’objectif n’est pas Scrum. L’objectif est l’amélioration. Scrum vous propose plusieurs axes d’amélioration. Chaque outils de Scrum – Sprint, Product Owner, Equipe, Done, Retro, Revue, Planning, Vision, Product Backlog, etc – se concentre sur un thème précis. Ils sont conçus pour fonctionner ensemble. Ils sont difficiles à comprendre. Votre Scrum Master est là pour vous les enseigner.

<a href="http://feeds.wordpress.com/1.0/gocomments/ericminio.wordpress.com/169/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/comments/ericminio.wordpress.com/169/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/godelicious/ericminio.wordpress.com/169/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/delicious/ericminio.wordpress.com/169/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gofacebook/ericminio.wordpress.com/169/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/facebook/ericminio.wordpress.com/169/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gotwitter/ericminio.wordpress.com/169/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/twitter/ericminio.wordpress.com/169/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gostumble/ericminio.wordpress.com/169/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/stumble/ericminio.wordpress.com/169/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/godigg/ericminio.wordpress.com/169/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/digg/ericminio.wordpress.com/169/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/goreddit/ericminio.wordpress.com/169/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/reddit/ericminio.wordpress.com/169/" alt="" border="0" /></a> <img src="http://stats.wordpress.com/b.gif?host=ericminio.wordpress.com&amp;blog=22581660&amp;post=169&amp;subd=ericminio&amp;ref=&amp;feed=1" alt="" width="1" height="1" border="0" />]]></content:encoded>
			<wfw:commentRss>http://pyxis-tech.com/blog/2011/07/14/oubliez-scrum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Refactoring challenge</title>
		<link>http://pyxis-tech.com/blog/2011/06/17/refactoring-challenge/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=refactoring-challenge</link>
		<comments>http://pyxis-tech.com/blog/2011/06/17/refactoring-challenge/#comments</comments>
		<pubDate>Fri, 17 Jun 2011 18:11:20 +0000</pubDate>
		<dc:creator>éric mignot</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://22.6098</guid>
		<description><![CDATA[Mercredi soir, le groupe Alt.Net de Montréal m&#8217;a invité à un coding-dojo dans les locaux de Microsoft qui leur ouvre ses locaux. Cela a encore été une bonne occasion d&#8217;apprentissage. Nous avons pris le temps d&#8217;explorer plusieurs manières d&#8217;exprimer nos tests : les  assertions basiques de NUnit, l&#8217;écriture d&#8217;une contrainte personnalisée. Nous avons évoqué le Broken [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericminio.wordpress.com&#38;blog=22581660&#38;post=166&#38;subd=ericminio&#38;ref=&#38;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[Mercredi soir, le groupe Alt.Net de Montréal m’a <a href="http://www.dotnetmontreal.com/dnn/Activit%C3%A9s/Calendrier/tabid/61/ModuleID/379/ItemID/111/mctl/EventDetails/selecteddate/2011-06-15/language/fr-CA/Default.aspx">invité</a> à un coding-dojo dans les locaux de Microsoft qui leur ouvre ses locaux.

Cela a encore été une bonne occasion d’apprentissage.
<ul>
	<li>Nous avons pris le temps d’explorer plusieurs manières d’exprimer nos tests : les  assertions basiques de NUnit, l’écriture d’une contrainte personnalisée.</li>
	<li>Nous avons évoqué le <em>Broken Test Pattern</em> avant la pause. Partir avec un test rouge avant la pause nous aide au retour à savoir où nous en sommes.</li>
	<li>Nous avons utilisé nos moments de refactoring pour introduire au maximum le langage du domaine qui faciliterait une conversation avec un expert du domaine.</li>
	<li>Chemin faisant nous avons créé de la duplication algorithmique et nous avons ressenti le dilemme entre payer cette dette et augmenter les capacités de notre code.</li>
</ul>
Cela a été une séance très agréable avec beaucoup d’interactions. Cela nous a tous donner envie de refaire une séance de ce type à l’automne.

Le lendemain matin, je me suis lancé dans un refactoring. Puis je me suis dit que j’aimerais connaître vos idées de refactoring. Quelles modifications ferriez-vous ? Bien sûr, il ne suffit pas de dire ce que vous ferriez, il faut le prouver avec du code.

Le code de départ est sur Github : <a href="https://github.com/ericminio/refactoring-challenge">le refactoring-challenge</a>. Faites un ou plusieurs refactoring et partagez-nous vos réflexions et résultats.

Amusez-vous bien <img class="wp-smiley" src="http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif" alt=":)" /> .

<a href="http://feeds.wordpress.com/1.0/gocomments/ericminio.wordpress.com/166/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/comments/ericminio.wordpress.com/166/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/godelicious/ericminio.wordpress.com/166/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/delicious/ericminio.wordpress.com/166/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gofacebook/ericminio.wordpress.com/166/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/facebook/ericminio.wordpress.com/166/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gotwitter/ericminio.wordpress.com/166/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/twitter/ericminio.wordpress.com/166/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gostumble/ericminio.wordpress.com/166/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/stumble/ericminio.wordpress.com/166/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/godigg/ericminio.wordpress.com/166/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/digg/ericminio.wordpress.com/166/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/goreddit/ericminio.wordpress.com/166/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/reddit/ericminio.wordpress.com/166/" alt="" border="0" /></a> <img src="http://stats.wordpress.com/b.gif?host=ericminio.wordpress.com&amp;blog=22581660&amp;post=166&amp;subd=ericminio&amp;ref=&amp;feed=1" alt="" width="1" height="1" border="0" />]]></content:encoded>
			<wfw:commentRss>http://pyxis-tech.com/blog/2011/06/17/refactoring-challenge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>commitment and #scrum</title>
		<link>http://pyxis-tech.com/blog/2011/06/14/commitment-and-scrum/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=commitment-and-scrum</link>
		<comments>http://pyxis-tech.com/blog/2011/06/14/commitment-and-scrum/#comments</comments>
		<pubDate>Tue, 14 Jun 2011 22:52:03 +0000</pubDate>
		<dc:creator>éric mignot</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://22.6087</guid>
		<description><![CDATA[PM: I get angry when the team does not deliver its commitment because it breaks my plan. PO: what do you call commitment? PM: the features they commit to deliver. PO: how does this understanding of commitment help you? PM: well actually it doesn&#8217;t&#8230; &#8230; PM: what do you call commitment? PO: the Team and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericminio.wordpress.com&#38;blog=22581660&#38;post=160&#38;subd=ericminio&#38;ref=&#38;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><strong>PM</strong>: I get angry when the team does not deliver its commitment because it breaks my plan.</p>
<strong>PO</strong>: what do you call commitment?

<strong>PM</strong>: the features they commit to deliver.

<strong>PO</strong>: how does this understanding of commitment help you?

<strong>PM</strong>: well actually it doesn’t…

…

<strong>PM</strong>: what do you call commitment?

<strong>PO</strong>: the Team and myself we commit to be transparent.

<strong>PM</strong>: what do you expect from this commitment?

<strong>PO</strong>: from the Team, typically two things. First, the Team will ask me if it needs help to clarify requirements. Second, the Team will only deliver done increments.

<strong>PM</strong>: what if the Team does not deliver anything?

<strong>PO</strong>: it means we failed to express my vision into product backlog items that the Team can turn into potentially shippable increments

<strong>PM</strong>: … and it breaks your plan!

<strong>PO</strong>: my plan is never broken, I change it to maximize the value of my product.

<strong>PM</strong>: what if you don’t find a better plan?

<strong>PO</strong>: I’m accountable for maximizing the return on investment. Sometimes the best business decision is to stop investing in a product.

<a href="http://feeds.wordpress.com/1.0/gocomments/ericminio.wordpress.com/160/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/comments/ericminio.wordpress.com/160/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/godelicious/ericminio.wordpress.com/160/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/delicious/ericminio.wordpress.com/160/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gofacebook/ericminio.wordpress.com/160/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/facebook/ericminio.wordpress.com/160/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gotwitter/ericminio.wordpress.com/160/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/twitter/ericminio.wordpress.com/160/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gostumble/ericminio.wordpress.com/160/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/stumble/ericminio.wordpress.com/160/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/godigg/ericminio.wordpress.com/160/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/digg/ericminio.wordpress.com/160/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/goreddit/ericminio.wordpress.com/160/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/reddit/ericminio.wordpress.com/160/" alt="" border="0" /></a> <img src="http://stats.wordpress.com/b.gif?host=ericminio.wordpress.com&amp;blog=22581660&amp;post=160&amp;subd=ericminio&amp;ref=&amp;feed=1" alt="" width="1" height="1" border="0" />]]></content:encoded>
			<wfw:commentRss>http://pyxis-tech.com/blog/2011/06/14/commitment-and-scrum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Après #scrum</title>
		<link>http://pyxis-tech.com/blog/2011/06/03/apres-scrum/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=apres-scrum</link>
		<comments>http://pyxis-tech.com/blog/2011/06/03/apres-scrum/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 12:02:55 +0000</pubDate>
		<dc:creator>éric mignot</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://22.6043</guid>
		<description><![CDATA[Quiconque ayant une idée peut engager une équipe qui lui livre un logiciel en un mois pour l&#8217;aider à tirer le meilleur de cette idée Qu&#8217;est-ce que tu vois après Scrum ? De mon expérience, lorsque quelqu&#8217;un me pose cette question, il s&#8217;attend à ce que l&#8217;on parle de la prochaine méthode, de la prochaine [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericminio.wordpress.com&#38;blog=22581660&#38;post=128&#38;subd=ericminio&#38;ref=&#38;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align: right;"><em>Quiconque ayant une idée</em>

<em>peut engager une équipe qui lui livre un logiciel en un mois</em>

<em>pour l’aider à tirer le meilleur de cette idée</em></p>
<p style="text-align: left;"><strong>Qu’est-ce que tu vois après Scrum ?</strong></p>
<p style="text-align: left;">De mon expérience, lorsque quelqu’un me pose cette question, il s’attend à ce que l’on parle de la prochaine méthode, de la prochaine approche, du prochain outil. Il a souvent envie d’avoir un avis comparé sur toutes les méthodes ou techniques du moment. Je me souviens par exemple que c’est de cette manière qu’était posé le thème d’une table pendant un world-café Scrum avec l’intention d’étudier le buzz de l’époque sur le Kanban.</p>
<p style="text-align: left;">Aujourd’hui, ce n’est pas cet aspet de la question qui m’interpelle. Considérant Scrum comme un outil que l’on utilise pour découvrir ce que l’on a besoin de changer pour devenir meilleurs à développer des logiciels, la question de l’après Scrum m’incite à imaginer le monde lorsqu’effectivement nous serons devenus meilleurs à développer des logiciels.</p>
<p style="text-align: left;"><strong>Est-ce que tu imagines qu’alors nous n’aurons plus besoin de Scrum ?</strong></p>
<p style="text-align: left;">Non car d’une part on peut toujours progresser, et d’autre part il faudra toujours former la relève.</p>
<p style="text-align: left;">Cette question de la formation des jeunes m’amène à considérer l’intégration de Scrum à l’enseignement universitaire non pas comme l’outil à apprendre mais comme un outil à utiliser au cours de la formation pour construire des équipes performantes. Ces universités, ou plutôt ces académies du logiciel, ne formeront plus des individus mais des équipes complètes capable de livrer un logiciel utile en un mois.</p>
<p style="text-align: left;">Le mouvement du <em>software craftmanship</em> qui étudie des modèles autour du compagnonnage nous donne des pistes pour repenser la formation continue autour du parrainage actif de ces nouvelles équipes par des professionnels d’expérience.</p>
<p style="text-align: left;">De son côté le <em>lean startup</em> explore des modèles de recherche de valeur en se basant sur des cycles d’apprentissage très rapide.</p>
<p style="text-align: left;"><strong>Plusieurs questions se bousculent. Que veux-tu dire par livrer un logiciel utile en un mois ? Pourquoi un mois ? J’ai en tête des systèmes qui ont mis des années à être construits, imagines-tu pouvoir les construire en un seul mois ?</strong></p>
<p style="text-align: left;">Lol. Allons-y doucement.</p>
<p style="text-align: left;">Plusieurs pièces du même puzzle s’emboîtent pour moi très naturellement.</p>
<p style="text-align: left;">Une première pièce concerne la formation que l’on vient d’évoquer. Une autre concerne le mode de financement.</p>
<p style="text-align: left;">Le passage du <em>Waterfall</em> à Scrum a des impacts importants sur de nombreux aspects. Néanmoins, sur le terrain, le mode de financement est souvent resté le même. Je rencontre de nombreux cas dans lesquels des projets démarrent pour 12 ou 18 mois tout en disant qu’ils vont utiliser Scrum. Plusieurs éléments m’interpellent dans ces situations. Par exemple on parle alors souvent de projets, et non de produits. Ou encore, plus évident, on a déjà un plan et un financement pour plusieurs mois, ce qui me semble contradictoire avec une approche empirique, c’est à dire une approche qui considère que l’humain ne sait pas identifier ce qui sera une bonne idée dans 6 mois.</p>
<p style="text-align: left;">Imaginons maintenant une rupture plus nette. Un mois, un seul.</p>
<p style="text-align: left;">Cela nous invite à considerer un mode de financement différent. Dans ce mode, je ne finance que le premier mois et je mets en production l’incrément construit. Cet incrément ensuite génère lui même les bénéfices pour financer un autre incrément.</p>
<p style="text-align: left;"><strong>Cela suppose que l’on sache trouver de la valeur en un seul mois.</strong></p>
<p style="text-align: left;">Oui. Et que l’on sache livrer un incrément terminé en un mois. C’est une invitation à aller au delà du <em>potentially shippable</em>, c’est une invitation à <em>shipper</em>.</p>
<p style="text-align: left;">Scrum est un outil pour être meilleur. Un outil pour s’entraîner à livrer un logiciel utile en un mois. S’entraîner à trouver la fonctionnalité utile. S’entraîner à construire un incrément terminé. Les deux.</p>
<p style="text-align: left;"><em>Shipper</em> plutôt que <em>potentially shippable</em> me semble puissant car dans sa recherche de ROI, le Product Owner doit mettre en production pour effectivement avoir accès au ROI. Sinon, ce ROI n’est que potentiel.</p>
<p style="text-align: left;"><strong>N’as-tu pas peur de perdre les avantages de l’empirisme dans cette idée de faire des itérations d’un mois ?</strong></p>
<p style="text-align: left;">Je n’ai pas dit ça.</p>
<p style="text-align: left;">Vous vous rappelez sans doute que dans la première description de Scrum, Ken et Jeff parlaient de sprints d’un mois, plus exactement de 30 jours. On a tous interprété cela comme des itérations d’un mois. Et on continue d’ailleurs à traduire sprint par itérations et de parler de sprints ayant des tailles comprises entre 1 et 4 semaines. Il faut dire que cela a des côtés pratiques dans nos calendriers.</p>
<p style="text-align: left;">Si on cantonne la notion de sprint au container de 30 jours dans lequel l’équipe se dote d’un objectif de sprint, le <em>sprint goal</em>, et s’impose un niveau de qualité production, rien n’empêche l’équipe de faire des itérations à l’intérieur de ce sprint, par exemple d’une semaine.</p>
<p style="text-align: left;"><strong>Cela ouvre l’idée de livrer un logiciel en un mois, puis de s’arrêter pour attendre d’avoir de nouvelles idées. Ne penses-tu pas que les clients continueront à avoir envie d’ajouter immédiatement d’autres fonctionnalités ?</strong></p>
<p style="text-align: left;">On parle de clients dans un futur avec des équipes capables de leur livrer en un mois un logiciel pour les aider à tirer profit de leur idée. Ce ne sont pas les clients que l’on connait aujourd’hui. Leurs états d’esprit n’est plus le même. Ils valorisent le feedback d’utilisateurs qui ont utilisé le logiciel en situation réelle. Parfois plusieurs semaines, plusieurs mois peut être seront nécessaires pour un feedback pertinent. Pour ceux qui sont dans ce cas, s’ils ont envie d’ajouter une fonctionnalité, ils ne voudront certainement pas l’ajouter immédiatement, ce serait trop risqué.</p>
<p style="text-align: left;"><strong>Reprendre un développement plus tard représente un risque, comment être sûr que l’on trouvera une équipe capable d’ajouter une fonctionnalité ?</strong></p>
<p style="text-align: left;">Aujourd’hui on est déjà dans cette situation. Il n’y a pas de raison de penser que le monde va devenir plus simple. Il y aura toujours des incertitudes, elles ne feront que changer et probablement que nous ne pouvons pas aujourd’hui anticiper de quelles natures elles seraient dans ce futur.</p>
<p style="text-align: left;">On peut néanmoins anticiper que les équipes continueront à avoir des spécialités. Certaines choisiront par exemple les énormes systèmes à modifier en un mois pour ajouter une fonctionnalité clef. D’autres se spécialiseront sur les nouveaux logiciels sans héritage à inspecter et un nouveau domaine à explorer.</p>
<p style="text-align: left;">L’industrie continuera à progresser. Les techniques et les outils continueront à s’améliorer et les prochaines promotions feront en une semaine ce qui prenait un mois aux précédentes. Le parrainage permettra d’enrichir mutuellement les mondes universitaires et professionnels.</p>
<p style="text-align: left;">Le point clef est d’apprendre à livrer un logiciel utile en un mois. Les équipes ont l’embarras du choix pour s’entraîner. Le monde regorge d’associations caritatives qui pourraient bénéficier de leur travail. Un seul critère d’évaluation : que le logiciel soit utilisé.</p>
<p style="text-align: left;"><strong>Tu parles d’académies, de mettre au placard les développements de plus d’un mois, mais tu vois ça pour quand ?</strong></p>
<p style="text-align: left;">Les progrès accomplis dans les 10 dernières années tels que je les comprends me font penser que cela mettra plus de 10 ans. J’aimerais que cela prenne moins de 20 ans pour pouvoir en profiter.</p>
<p style="text-align: left;"><strong>Cela semble ambitieux. Par où commencer ?</strong></p>
<p style="text-align: left;">C’est la troisième pièce de mon puzzle : le chemin pour nous y rendre. Pour l’instant je n’en connais que le début bien sûr. Et encore, <em>un</em> début qui fait du sens pour moi.</p>
<p style="text-align: left;">Evidemment il faut continuer à s’entraîner car nous sommes loin de ce monde. Cela veut dire enseigner tout ce qui peut aider une équipe à livrer un logiciel utile en un mois. Je contribue à cette effort en donnant des formations sur les pratiques agiles.</p>
<p style="text-align: left;">S’entraîner cela veut dire aussi aider les équipes à mettre en place ce qui fonctionne pour nous et que nous enseignons. Je me concentre aujourd’hui sur deux activités clefs qui maximisent selon moi cette transmission. D’une part l’animation de dojos dans les équipes. D’autre part l’immersion dans ces équipes : un mois avec une équipe avec l’objectif de lui transmettre le plus de savoir-faire et savoir-être possible.</p>
<p style="text-align: left;">S’entraîner enfin c’est livrer des logiciels utiles en un mois. De nombreuses personnes ont des idées et voudraient trouver une équipe pour leur livrer un logiciel rapidement pour tirer profit de leur idée.</p>
<p style="text-align: left;"><strong>Donc si je comprend bien, ils n’ont qu’à te contacter.</strong></p>
<p style="text-align: left;">Exactement <img class="wp-smiley" src="http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif" alt=":)" /> .</p>
<p style="text-align: left;">
<a href="http://feeds.wordpress.com/1.0/gocomments/ericminio.wordpress.com/128/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/comments/ericminio.wordpress.com/128/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/godelicious/ericminio.wordpress.com/128/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/delicious/ericminio.wordpress.com/128/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gofacebook/ericminio.wordpress.com/128/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/facebook/ericminio.wordpress.com/128/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gotwitter/ericminio.wordpress.com/128/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/twitter/ericminio.wordpress.com/128/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gostumble/ericminio.wordpress.com/128/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/stumble/ericminio.wordpress.com/128/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/godigg/ericminio.wordpress.com/128/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/digg/ericminio.wordpress.com/128/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/goreddit/ericminio.wordpress.com/128/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/reddit/ericminio.wordpress.com/128/" alt="" border="0" /></a> <img src="http://stats.wordpress.com/b.gif?host=ericminio.wordpress.com&amp;blog=22581660&amp;post=128&amp;subd=ericminio&amp;ref=&amp;feed=1" alt="" width="1" height="1" border="0" /></p>]]></content:encoded>
			<wfw:commentRss>http://pyxis-tech.com/blog/2011/06/03/apres-scrum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>#tdd at school</title>
		<link>http://pyxis-tech.com/blog/2011/06/01/tdd-at-school/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tdd-at-school</link>
		<comments>http://pyxis-tech.com/blog/2011/06/01/tdd-at-school/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 20:28:34 +0000</pubDate>
		<dc:creator>éric mignot</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://22.6037</guid>
		<description><![CDATA[J&#8217;ai eu la chance plusieurs fois de discuter avec des professeurs qui enseignent le Java à l&#8217;université. Nous discutions d&#8217;intégrer le tdd à l&#8217;enseignement. Une approche consiste à intégrer le tdd à la fin de l&#8217;enseignement. J&#8217;ai d&#8217;ailleurs eu la chance de participer à cette approche en allant enseigner le tdd dans plusieurs universités. En [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericminio.wordpress.com&#38;blog=22581660&#38;post=145&#38;subd=ericminio&#38;ref=&#38;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[J’ai eu la chance plusieurs fois de discuter avec des professeurs qui enseignent le Java à l’université. Nous discutions d’intégrer le tdd à l’enseignement.

Une approche consiste à intégrer le tdd à la fin de l’enseignement. J’ai d’ailleurs eu la chance de participer à cette approche en allant enseigner le tdd dans plusieurs universités. En pratique ce sont les dernières années qui en ont profité puisque cette approche suppose qu’il faut tout d’abord apprendre un langage puis apprendre le tdd.

Une autre approche consiste à intégrer le tdd tout au long l’apprentissage. J’ai eu la chance d’assister à plusieurs des cours donnés par ces professeurs et ce qui m’a frappé c’est la manière utilisée pour avoir du feedback sur un code. Typiquement les étudiants exécute un programme et regardent les traces envoyées dans la console. L’idée est bien sûr de modifier cette habitude et d’utiliser des tests pour avoir du feedback sur le code.

Pour rendre cela concret, nous avons pris le sujet du cours qu’il venait de donner, un cours sur l’héritage et le polymorphisme en Java, et nous avons écrit le test ci dessous.
<pre>@Test public void
showPolymorphism() {
    Vehicle bicycle = new Bicycle();
    Vehicle car = new Car();
    assertThat( bicycle.wheelCount(), equalTo(2) );
    assertThat( car.wheelCount(), equalTo(4) );
}</pre>
Les professeurs ont vite imaginé comment ils pourraient grandement simplifier leur travail de correction <img class="wp-smiley" src="http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif" alt=";)" /> .

L’utilisation des tests est ici bien différente. Au lieu de considérer le tdd comme une approche à part, nous l’intégrons tout au long l’enseignement. Les praticiens du tdd le savent et l’écrivent souvent : le tdd est parfait pour apprendre un nouveau langage. Alors pourquoi pas à l’école ?

<a href="http://feeds.wordpress.com/1.0/gocomments/ericminio.wordpress.com/145/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/comments/ericminio.wordpress.com/145/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/godelicious/ericminio.wordpress.com/145/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/delicious/ericminio.wordpress.com/145/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gofacebook/ericminio.wordpress.com/145/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/facebook/ericminio.wordpress.com/145/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gotwitter/ericminio.wordpress.com/145/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/twitter/ericminio.wordpress.com/145/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/gostumble/ericminio.wordpress.com/145/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/stumble/ericminio.wordpress.com/145/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/godigg/ericminio.wordpress.com/145/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/digg/ericminio.wordpress.com/145/" alt="" border="0" /></a> <a href="http://feeds.wordpress.com/1.0/goreddit/ericminio.wordpress.com/145/" rel="nofollow"><img src="http://feeds.wordpress.com/1.0/reddit/ericminio.wordpress.com/145/" alt="" border="0" /></a> <img src="http://stats.wordpress.com/b.gif?host=ericminio.wordpress.com&amp;blog=22581660&amp;post=145&amp;subd=ericminio&amp;ref=&amp;feed=1" alt="" width="1" height="1" border="0" />]]></content:encoded>
			<wfw:commentRss>http://pyxis-tech.com/blog/2011/06/01/tdd-at-school/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

