<?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; marc-andré thibodeau</title>
	<atom:link href="http://pyxis-tech.com/blog/author/mathibodeau/feed/" rel="self" type="application/rss+xml" />
	<link>http://pyxis-tech.com/blog</link>
	<description>agilité, coaching, formation, développement logiciel</description>
	<lastBuildDate>Tue, 07 Feb 2012 14:11:12 +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>Welcome additions in Sonar 2.0</title>
		<link>http://pyxis-tech.com/blog/2010/03/11/welcome-additions-in-sonar-2-0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=welcome-additions-in-sonar-2-0</link>
		<comments>http://pyxis-tech.com/blog/2010/03/11/welcome-additions-in-sonar-2-0/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 21:19:03 +0000</pubDate>
		<dc:creator>marc-andré thibodeau</dc:creator>
				<category><![CDATA[Développement logiciel]]></category>

		<guid isPermaLink="false">http://34.2416</guid>
		<description><![CDATA[Sonar 2.0 is just out and adds very interesting stuff. It focuses especially on architecture and OO metrics, which were the missing part of the metrics puzzle in previous releases.]]></description>
			<content:encoded><![CDATA[<p><a href="http://sonar.codehaus.org/sonar-2-0-in-screenshots/?utm_source=feedburner&amp;utm_medium=email&amp;utm_campaign=Feed%3A+Sonar+%28Sonar%29">Sonar 2.0</a> is just out and adds very interesting stuff. It focuses especially on architecture and OO metrics, which were the missing part of the metrics puzzle in previous releases.</p>
]]></content:encoded>
			<wfw:commentRss>http://pyxis-tech.com/blog/2010/03/11/welcome-additions-in-sonar-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Souffrez-vous de Scrum flasque?</title>
		<link>http://pyxis-tech.com/blog/2009/08/17/souffrez-vous-de-scrum-flasque/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=souffrez-vous-de-scrum-flasque</link>
		<comments>http://pyxis-tech.com/blog/2009/08/17/souffrez-vous-de-scrum-flasque/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 03:44:57 +0000</pubDate>
		<dc:creator>marc-andré thibodeau</dc:creator>
				<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://34.392</guid>
		<description><![CDATA[Martin Fowler a publié un article sur son blogue qui présente les symptômes d&#8217;un mal qu&#8217;il nomme le Scrum Flasque (Flaccid Scrum). J&#8217;ai vu les symptômes qu&#8217;il cite se manifester à plusieurs reprises lors de divers mandat en clientèle chez des entreprises faisant une transition vers Scrum: They want to use an agile process, and [...]]]></description>
			<content:encoded><![CDATA[<p>Martin Fowler a publié <a href="http://martinfowler.com/bliki/FlaccidScrum.html">un article</a> sur son blogue qui présente les symptômes d&#8217;un mal qu&#8217;il nomme le Scrum Flasque (Flaccid Scrum). J&#8217;ai vu les symptômes qu&#8217;il cite se manifester à plusieurs reprises lors de divers mandat en clientèle chez des entreprises faisant une transition vers Scrum:</p>
<p><em>They want to use an agile process, and pick Scrum<br />
They adopt the Scrum practices, and maybe even the principles<br />
After a while progress is slow because the code base is a mess<br />
</em></p>
<p>Comme le mentionne Fowler, Scrum est un processus mettant l&#8217;emphase sur des techniques de gestion de projet et qui, contrairement à Xtreme Programming, ne met délibérément pas de l&#8217;avant des pratiques d&#8217;ingénierie spécifiques. Selon lui, les gens adoptant Scrum ont tendance à croire que si le processus ne parle pas des aspects techniques, c&#8217;est qu&#8217;ils sont moins importants que le reste. Ainsi, rapidement, « No Big Design Up-Front » devient «No Design At All ». Et s&#8217;ensuit une dette technique qui ne s&#8217;arrête plus de grandir&#8230;</p>
<p>Que faire pour inverser la vapeur? Les pratiques XP (le <em>Test-Driven Development</em>, le <em>refactoring</em>, le <em>pair programming</em>, le <em>collective code ownership</em>) sont une réponse possible et souhaitable. Toutefois, selon mon expérience, elle prennent du temps à assimiler, tout particulièrement dans les grandes organisations ayant souvent connu un fonctionnement plus directif par lequel les développeurs ont l&#8217;habitude de recevoir d&#8217;un architecte une grande partie des détails de la solution à réaliser. On demande la plupart du temps à ces développeurs d&#8217;apprendre TDD alors qu&#8217;ils vivent la pression d&#8217;un projet et qu&#8217;ils ont parfois des difficultés à reconnaître les symptômes d&#8217;un mauvais design et qu&#8217;ils maîtrisent mal les bases mêmes de l&#8217;orienté-objet. Comment faire pour aider les développeurs ainsi conditionnés à prendre en main une plus grande part du travail de conception? Et comment faire pour aider les équipes adoptant une approche agile à minimiser et contrôler leur dette technique?</p>
<p>Pourquoi ne pas introduire des code reviews? Non, non, ne fuyez pas! Je ne parle pas d&#8217;un processus de revue de code à la Fagan, extrêmement rigide et coûteux. Je parle plutôt d&#8217;un processus léger de revue par les pairs, et en partie au moins automatisé. On ne parle presque pas des revues de code dans le monde agile parce qu&#8217;elles semblent souffrir de cette image désuète, dépassée et poussiéreuse. Une image de lourdeur tout ce qu&#8217;il y a de moins agile&#8230;</p>
<p>Pourtant, les outils d&#8217;inspection du code automatisés deviennent de plus en plus sophistiqués et aptes non pas seulement à détecter les erreurs de style, mais aussi à mettre en lumière les duplications, les code smells de toutes sortes, les failles dans la couverture de test, etc. Par exemple, dans le monde Java, il faut désormais considérer un outil comme <a href="http://sonar.codehaus.org/">Sonar</a>, libre et gratuit, comme un indispensable, une aide monumentale à la visualisation et l&#8217;identification de la dette technique s&#8217;adressant à tous les intervenants d&#8217;un projet. Sonar consolide les données recueillies par plusieurs autres outils, comme <a href="http://findbugs.sourceforge.net/">Findbugs</a>, <a href="http://checkstyle.sourceforge.net/">Checkstyle</a>, <a href="http://pmd.sourceforge.net/">PMD</a>, <a href="http://cobertura.sourceforge.net/">Cobertura</a> et bien d&#8217;autres, les digère et les présente sous une forme compréhensible et grandement utile.</p>
<p>En dehors des outils, pourquoi ne pas inclure dans notre définition de <em>done</em> une revue de code « humaine » pour traiter en équipes des problématiques plus pointues comme le respect des requis, la qualité des tests, le respect du cadre architectural, etc. La compagnie SmartBear a produit un très bon <a href="http://smartbear.com/docs/BestPracticesForPeerCodeReview.pdf">papier</a> présentant des recommandations dans l&#8217;adoption un tel processus. Et d&#8217;autres outils émergent également pour supporter ce type léger de revue de code par les pairs à même l&#8217;IDE (<a href="http://code.google.com/p/jupiter-eclipse-plugin/">Jupiter</a>, <a href="http://www.inso.tuwien.ac.at/projects/reviewclipse/">ReviewClipse</a>, <a href="http://code.google.com/appengine/articles/rietveld.html">Rietveld</a>, <a href="http://smartbear.com/codecollab.php">CodeCollaborator</a>, etc.) permettant par exemple d&#8217;associer des commentaires avec des lignes ou blocs de code. Certains de ceux-ci s&#8217;intègrent également avec les systèmes de gestion des sources pour automatiser la revue de code avant ou après un <em>commit</em>.</p>
<p>Je crois fermement aujourd&#8217;hui que les revues de code, autant humaines qu&#8217;automatisées, sont un outil complémentaire et nécessaire durant l&#8217;apprentissage des techniques XP par une équipe de développement. Elle sont une occasion en or pour un coach technique d&#8217;enseigner le repérage des <em>code smells</em> et une aussi belle occasion pour les membres de l&#8217;équipe d&#8217;apprendre en observant le travail des autres, de mieux communiquer, de se sentir comme faisant partie d&#8217;un groupe uni et organisé et de se sentir engagés dans le développement d&#8217;un logiciel de qualité supérieure. Allez-y! Redonnez du tonus à votre Scrum!</p>
]]></content:encoded>
			<wfw:commentRss>http://pyxis-tech.com/blog/2009/08/17/souffrez-vous-de-scrum-flasque/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

