<?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/"
	>

<channel>
	<title>Elapse Blog</title>
	<atom:link href="http://www.elapsetech.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.elapsetech.com/blog</link>
	<description>Blogue de l'équipe Elapse</description>
	<pubDate>Mon, 04 May 2009 18:41:45 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Un livre pour les Product Owner</title>
		<link>http://www.elapsetech.com/blog/?p=51</link>
		<comments>http://www.elapsetech.com/blog/?p=51#comments</comments>
		<pubDate>Mon, 04 May 2009 18:41:45 +0000</pubDate>
		<dc:creator>David Beaumier</dc:creator>
		
		<category><![CDATA[Agile]]></category>

		<category><![CDATA[Product Owner]]></category>

		<guid isPermaLink="false">http://www.elapsetech.com/blog/?p=51</guid>
		<description><![CDATA[En visitant le site de Mike Cohn, je viens de découvrir qu&#8217;un livre destiné aux propriétaires de produits (PO) est en rédaction. Le PO est souvent un rôle difficile à introduire dans un projet puisqu&#8217;il n&#8217;existe généralement pas d&#8217;équivalent dans les équipes. Espérons que ce bouquin saura bien vulgariser ce rôle, si critique à la [...]]]></description>
			<content:encoded><![CDATA[<p>En visitant le <a href="http://blog.mountaingoatsoftware.com" target="_blank">site</a><a href="http://blog.mountaingoatsoftware.com"> de Mike Cohn</a>, je viens de découvrir qu&#8217;un livre destiné aux propriétaires de produits (PO) est en rédaction. Le PO est souvent un rôle difficile à introduire dans un projet puisqu&#8217;il n&#8217;existe généralement pas d&#8217;équivalent dans les équipes. Espérons que ce bouquin saura bien vulgariser ce rôle, si critique à la réussite des projets.</p>
<p>Voici donc le lien pour obtenir une version électronique de deux des chapitres du livre à venir:</p>
<blockquote><p>Roman Pichler is writing about the product owner role in his book, <em>Agile  Product Management: Turning Ideas into Winning Products with Scrum</em>. Two of  his <a href="http://www.mikecohnsignatureseries.com/books/agile-product-management">chapters  are available now</a>.</p></blockquote>
<p>Bonne lecture!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elapsetech.com/blog/?feed=rss2&amp;p=51</wfw:commentRss>
		</item>
		<item>
		<title>Liste des outils de gestion du carnet de projet</title>
		<link>http://www.elapsetech.com/blog/?p=48</link>
		<comments>http://www.elapsetech.com/blog/?p=48#comments</comments>
		<pubDate>Wed, 18 Mar 2009 12:52:20 +0000</pubDate>
		<dc:creator>David Beaumier</dc:creator>
		
		<category><![CDATA[Agile]]></category>

		<category><![CDATA[Développement]]></category>

		<category><![CDATA[Gestion de projets]]></category>

		<category><![CDATA[outils]]></category>

		<guid isPermaLink="false">http://www.elapsetech.com/blog/?p=48</guid>
		<description><![CDATA[Le site www.userstories.com publie une liste des principaux outils pouvant être utilisés pour gérer un carnet de projet en mode Agile. Le site est publié par Mike Cohn, l&#8217;auteur du livre de référence sur les user stories. C&#8217;est un bon point de départ pour les équipes à la recherche d&#8217;un outil informatisé pour les aider [...]]]></description>
			<content:encoded><![CDATA[<p>Le site <a href="http://www.userstories.com " target="_blank">www.userstories.com </a>publie une <a href="http://www.userstories.com/products" target="_blank">liste des principaux outils</a> pouvant être utilisés pour gérer un carnet de projet en mode Agile. Le site est publié par Mike Cohn, l&#8217;auteur du <a href="http://www.userstories.com/book">livre de référence sur les user stories</a>. C&#8217;est un bon point de départ pour les équipes à la recherche d&#8217;un outil informatisé pour les aider dans la gestion des user stories.</p>
<p>Par expérience, j&#8217;encourage généralement les équipes à débuter avec des outils de gestion simple au début afin de bien saisir leurs besoins en la matière. À mon avis, il est important de sélectionner l&#8217;outil le plus simple qui puisse répondre aux besoins de l&#8217;équipe afin d&#8217;éviter la complexité souvent associée aux outils qui offrent des solutions mur à mur.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elapsetech.com/blog/?feed=rss2&amp;p=48</wfw:commentRss>
		</item>
		<item>
		<title>Groupes de recherche sur le développement logiciel chez Microsoft Research</title>
		<link>http://www.elapsetech.com/blog/?p=32</link>
		<comments>http://www.elapsetech.com/blog/?p=32#comments</comments>
		<pubDate>Tue, 03 Mar 2009 03:14:57 +0000</pubDate>
		<dc:creator>David Beaumier</dc:creator>
		
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://www.elapsetech.com/blog/?p=32</guid>
		<description><![CDATA[J&#8217;ai pensé partager avec vous le site de quelques groupes œuvrant du côté du développement logiciel au sein de Microsoft Research. On y retrouve sur le site de chacun des groupes du contenu très intéressant et bien souvent applicable dans un contexte d&#8217;entreprise.
L&#8217;équipe Human Interactions in Programming a comme mission d&#8217;offrir de meilleurs outils de [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai pensé partager avec vous le site de quelques groupes œuvrant du côté du développement logiciel au sein de Microsoft Research. On y retrouve sur le site de chacun des groupes du contenu très intéressant et bien souvent applicable dans un contexte d&#8217;entreprise.</p>
<p><span id="more-32"></span>L&#8217;équipe <a href="https://research.microsoft.com/en-us/groups/hip/" target="_blank">Human Interactions in Programming</a> a comme mission d&#8217;offrir de meilleurs outils de génie logiciel en appliquant les pratiques d&#8217;utilisabilité. On a longtemps cru que les outils de développement s&#8217;adressaient à un public de &#8220;nerds&#8221; et qu&#8217;il n&#8217;était pas nécessaire d&#8217;investir au niveau de l&#8217;expérience utilisateur. Ils essaient aussi d&#8217;identifier <a href="https://research.microsoft.com/en-us/projects/teamcoordination/default.aspx">les interactions qu&#8217;on retrouve dans le jeux coopératif qu&#8217;est le développement logiciel</a> et qui influencent directement le succès des projets.</p>
<p>Le  <a href="http://research.microsoft.com/en-us/projects/esm/" target="_blank">groupe spécialisé sur les approches empiriques de développement logiciel</a> concentre ses travaux sur trois axes: fiabilité des systèmes, impact des processus de développement et études empiriques sur les pratiques de développement. Malgré que le groupe ne semble composé que de quelques individus seulement, on retrouve sur leur site un bon nombre de publications reliées à leurs travaux.</p>
<p>Un autre groupe se concentre quant à lui sur les <a href="http://research.microsoft.com/en-us/groups/rse/default.aspx" target="_blank">pratiques rigoureuses de génie logiciel</a>. Là encore on retrouve d&#8217;intéressantes publications, mais dans ce cas-ci on parle de recherches assez poussées. Je suppose que c&#8217;est un peu comme en formule 1, un jour les innovations se retrouvent, pour le plus grand bénéfice de tous,  dans les voitures de tourisme. On dira sans doute un jour du résultat de ces recherches: &#8220;Bientôt disponible dans un IDE près de chez-vous!&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elapsetech.com/blog/?feed=rss2&amp;p=32</wfw:commentRss>
		</item>
		<item>
		<title>Études sur l&#8217;amélioration de la qualité par l&#8217;utilisation du TDD</title>
		<link>http://www.elapsetech.com/blog/?p=27</link>
		<comments>http://www.elapsetech.com/blog/?p=27#comments</comments>
		<pubDate>Mon, 02 Mar 2009 22:27:02 +0000</pubDate>
		<dc:creator>David Beaumier</dc:creator>
		
		<category><![CDATA[Agile]]></category>

		<category><![CDATA[Développement]]></category>

		<category><![CDATA[Étude]]></category>

		<category><![CDATA[Qualité]]></category>

		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://www.elapsetech.com/blog/?p=27</guid>
		<description><![CDATA[Un article publié dans le Empirical Software Engineering journal présente le résultats de quatre études qui comparent l&#8217;impact de l&#8217;utilisation de TDD sur la réduction des anomalies. L&#8217;article s&#8217;intitule Realizing quality improvement through test driven development: results and experiences of four industrial teams. Les auteurs proviennent de Microsoft, IBM et de l&#8217;Université de la Caroline [...]]]></description>
			<content:encoded><![CDATA[<p>Un article publié dans le <a href="http://www.springer.com/computer/programming/journal/10664">Empirical Software Engineering</a> journal présente le résultats de quatre études qui comparent l&#8217;impact de l&#8217;utilisation de TDD sur la réduction des anomalies. L&#8217;article s&#8217;intitule <a href="http://www.springerlink.com/content/q91566748q234325/" target="_blank">Realizing quality improvement through test driven development: results and experiences of four industrial teams</a>. Les auteurs proviennent de Microsoft, IBM et de l&#8217;Université de la Caroline du Nord.</p>
<p>Selon ses auteurs, l&#8217;article conclu que l&#8217;application du TDD permet une réduction variant de 40 à 90% par rapport à des projets similaires n&#8217;utilisant pas cette pratique de développement. Ils dénotent aussi une augmentation du temps de développement, mais comme je l&#8217;ai mentionné dans <a href="http://www.elapsetech.com/blog/?p=6" target="_self">cet article précédent</a>, il est fort probable qu&#8217;en comparaison les équipes témoin ne faisent pas (ou très peu) de tests unitaires. N&#8217;en demeure pas moins que l&#8217;augmentation de la qualité relevée est impressionnante.</p>
<p><a href="http://www.infoq.com/news/2009/03/TDD-Improves-Quality" target="_blank">InfoQ rapporte</a> également une <a href="http://www.agile-itea.org/public/deliverables/ITEA-AGILE-D2.7_v1.0.pdf" target="_blank">publication de Maria Siniaalto</a> datant de 2006 dans laquelle l&#8217;auteur compare 13 expérimentations portant sur l&#8217;application de TDD dans divers contextes. Ses conclusions rejoignent celles de l&#8217;article du Empirical Software Engineering journal pour ce qui touche l&#8217;amélioration de la qualité. Fait intéressant, elle note qu&#8217;aucune étude à ce jour (2006) ne mesure l&#8217;impact de TDD sur la conception logicielle, alors qu&#8217;il s&#8217;agit pourtant d&#8217;un des première promesse de cette pratique. Tiens, un autre aspect de TDD sur lequel il me faudrait fouiller un peu plus et voir si des mesures ont été publiées au cours des trois dernières années.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elapsetech.com/blog/?feed=rss2&amp;p=27</wfw:commentRss>
		</item>
		<item>
		<title>L&#8217;impact du TDD sur la productivité</title>
		<link>http://www.elapsetech.com/blog/?p=6</link>
		<comments>http://www.elapsetech.com/blog/?p=6#comments</comments>
		<pubDate>Mon, 02 Mar 2009 20:53:26 +0000</pubDate>
		<dc:creator>David Beaumier</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.elapsetech.com/blog/?p=6</guid>
		<description><![CDATA[[Cet article est une version mise à jour d'un article originalement publié sur le site de FocusIntelligence]
Parmi les études sur l’utilisation du TDD recensées sur Internet, on retrouve un cas qui implique deux équipes de produits chez Microsoft (dans les divisions Windows et MSN). Dans les deux cas étudiée chez le géant de Redmond, l’impact [...]]]></description>
			<content:encoded><![CDATA[<p>[Cet article est une version mise à jour d'un <a href="http://blog.focusintelligence.ca/?p=46" target="_blank">article originalement publié sur le site de FocusIntelligence]</a></p>
<p>Parmi les <a href="http://biblio.gdinwiddie.com/biblio/StudiesOfTestDrivenDevelopment" target="_blank">études sur l’utilisation du TDD</a> recensées sur Internet, on retrouve <a href="ttp://research.microsoft.com/en-us/projects/esm/fp17288-bhat.pdf" target="_blank">un cas qui implique deux équipes de produits chez Microsoft</a> (dans les divisions Windows et MSN). Dans les deux cas étudiée chez le géant de Redmond, l’impact de la pratique de TDD sur le temps de développement et sur le nombre d’anomalies ont été mesurés. En se basant sur les données recueillies, l &#8216;étude démontre que la qualité du code livré est de beaucoup supérieure lorsque l’équipe applique TDD. Les mesures ont permis d&#8217;identifier une augmentation de 4.2 fois dans la qualité du code développé en utilisant TDD lorsque comparé à une projet réalisé dans un contexte organisationnel similaire mais n&#8217;utilisant pas cette pratique.</p>
<p><span id="more-6"></span>Toutefois, l’étude fait ressortir le fait que les programmeurs utilisant une approche TDD sont moins rapide. L&#8217;écart rapporté est de 16%. En se questionnant sur cet écart je crois nécessaire d&#8217;apporter un bémol par rapport au chiffre avancé. En effet il est beaucoup plus facile de calculer le temps total engagé pour développer une fonctionnalité lorsqu&#8217;on utilise TDD que lorsqu&#8217;on utilise une approche traditionnelle. La notion &#8220;d&#8217;avoir terminé&#8221; une fonctionnalité donnée est beaucoup plus claire avec TDD. En mode traditionnel, avoir terminé est plus une question de confiance par rapport à ce qu&#8217;on a réalisé; confiance qu&#8217;on a produit du code assez robuste et couvrant l&#8217;ensemble des attentes. Avec TDD, avoir termin. une fonctionnalité se produit lorsque l&#8217;ensemble des tests unitaires s&#8217;exécutent avec succès. Je crois qu&#8217;une grande partie de la réduction des anomalies notée dans l&#8217;étude de Microsoft est dû à cette formalisation de la notion  &#8220;d&#8217;avoir terminé&#8221;.</p>
<p>Les auteurs ont d&#8217;ailleurs eux aussi apportés une nuance face à cet écart en indiquant que &#8220;les programmeurs du groupe de contrôle omettaient fréquemment de réaliser les cas d&#8217;essais automatisés après avoir complété leur code&#8221;. Cela n&#8217;est pas surprenant en soi et c&#8217;est un phénomène fréquent dans les équipes n’utilisant pas TDD. Dans ce contexte, les tests sont réalisés après le code et deux raisons sont fréquemment cités pour justifier le fait d&#8217;escamoter les essais unitaires.</p>
<ul>
<li>Contrainte dans le temps</li>
<li>Conception limitant la capacité de tester unitairement le code</li>
</ul>
<p>Même en prenant pour acquis que la réduction de productivité est bien de l&#8217;ordre de 16%, cela demeure tout de même un bien faible coût à payer en regard des bénéfices de qualité généré. Sachant que plus une anomalie est découverte tardivement dans le cycle de développement plus elle est coûteuse à régler, une réduction de plus de 4x du nombre d&#8217;anomalie apporte une économie de beaucoup supérieure à l&#8217;augmentation possible du temps initial de développement.  Dans cette optique cet écart, s&#8217;il est bie réel, devrait plutôt être considéré comme un investissement.</p>
<p>Une <a href="http://www-i11.informatik.rwth-aachen.de/fileadmin/user_upload/Redakteure/Vorlesungen/05winter/MethEmpSWTechn/Ritzkopf__Philip.pdf" target="_blank">présentation de Philip Ritzkopf</a> fait une synthèse intéressante de quelques expériences et études portant sur la pratique du TDD. Dans sa conclusion (à la page 40), on peut voir que, dans l&#8217;ensemble, l’utilisation de TDD ne réduit pas la productivité des développeurs. L&#8217;application de TDD n&#8217;engendrerait donc pas l&#8217;instauration d&#8217;une &#8220;taxe&#8221; au développement comme plusieurs pourraient le croire.</p>
<p>L&#8217;<a href="http://iit-iti.nrc-cnrc.gc.ca/iit-publications-iti/docs/NRC-47445.pdf" target="_blank">article</a> publié en 2005 par Erdogmus, Morisio et Torchiano dans <span style="text-decoration: underline;">IEEE Transactions on Software Engineering</span> présente les conclusions d&#8217;une expérience comparant le travail de deux groupes d&#8217;étudiants, où l&#8217;un appliquait une approche TDD alors que l&#8217;autre rédigeait les tests après avoir avoir terminé le code. Dans les deux cas les participants devaient appliquer une approche incrémentale en ajoutant les fonctionnalités une par une et en s&#8217;assurant de ne pas avoir introduit de la régression entre chaque cas.</p>
<p>Les auteurs arrivent à la conclusion que les participants ayant appliqué TDD on généralement écrit plus de tests que ceux ayant écrit les tests après.  Aussi, ils ont remarqué que la courbe de productivité a tendance à augmenter en fonction du nombre de tests. Les auteurs de l&#8217;étude suggèrent que ces gains en productivité découlent des éléments suivants:</p>
<ul>
<li>Meilleure compréhension de la tâche à réaliser</li>
<li>Focus sur la tâche à accomplir</li>
<li>Apprentissage plus rapide</li>
<li>Réduction de l&#8217;effort de réécriture du code</li>
</ul>
<p>Dans un premier temps, on voit que le fait de travailler par petites étapes et d&#8217;avoir toujours comme objectif à court terme de faire passer un test permet au développeur de focuser son attention sur une activité bien précise tout en ayant une meilleur compréhension de celle-ci. On réduit ainsi les chances d&#8217;être distrait pas une préoccupation provenant d&#8217;un autre aspect du système que celui sur lequel on travaille. Les trois auteurs notent que l&#8217;application du TDD par les participants &#8220;encourage une meilleure décomposition, augmente la compréhension des exigences et réduit la portée de la tâche à réaliser&#8221;.</p>
<p>La plupart des études citées cherchent à mesurer l&#8217;impact à court terme de l&#8217;application du TDD. Il s&#8217;en dégage clairement une tendance où l&#8217;on constate que l&#8217;impact sur la productivité de l&#8217;équipe est négligeable, voir même nul. Dès que l&#8217;on introduit l&#8217;élément qualité dans l&#8217;équation, l&#8217;amélioration générale constatée dans les études rend non-significatif tout impact sur la productivité.</p>
<p>Par contre qu&#8217;en est-il des impacts sur la productivité à long terme? Est-ce que l&#8217;important patrimoine de tests qu&#8217;engendre la pratique du TDD affecte la capacité de l&#8217;équipe à avancer au même rythme au fil du temps? Je reviendrai sur ce sujet en espérant apporter des réponses à ces interrogations dans un prochain article.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elapsetech.com/blog/?feed=rss2&amp;p=6</wfw:commentRss>
		</item>
		<item>
		<title>Mélanger Scrum et Kanban</title>
		<link>http://www.elapsetech.com/blog/?p=20</link>
		<comments>http://www.elapsetech.com/blog/?p=20#comments</comments>
		<pubDate>Wed, 11 Feb 2009 04:04:08 +0000</pubDate>
		<dc:creator>David Beaumier</dc:creator>
		
		<category><![CDATA[Agile]]></category>

		<category><![CDATA[Développement]]></category>

		<category><![CDATA[Lean]]></category>

		<category><![CDATA[Kanban]]></category>

		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://www.elapsetech.com/blog/?p=20</guid>
		<description><![CDATA[Corey Ladas a récemment publié un livre électronique s&#8217;intitulant Scrumban - Essays on Kanban Systems for Lean Software Development dans lequel il propose de réunir le meilleur de Scrum et de Lean.
J&#8217;ai bien hâte de découvrir plus en détails la proposition de Ladas. C&#8217;est une lecture que j&#8217;ajoute à ma (toujours longue) liste de bouquins.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://leansoftwareengineering.com/2007/04/12/about-the-authors/" target="_blank">Corey Ladas</a> a récemment publié un livre électronique s&#8217;intitulant <a href="http://www.lulu.com/content/3864767">Scrumban - Essays on Kanban Systems for Lean Software Development</a> dans lequel il propose de réunir le meilleur de Scrum et de Lean.</p>
<p>J&#8217;ai bien hâte de découvrir plus en détails la proposition de Ladas. C&#8217;est une lecture que j&#8217;ajoute à ma (toujours longue) liste de bouquins.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elapsetech.com/blog/?feed=rss2&amp;p=20</wfw:commentRss>
		</item>
	</channel>
</rss>
