<?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>me.andering - Willem van den Ende &#187; dojo</title>
	<atom:link href="http://me.andering.com/tag/dojo/feed/" rel="self" type="application/rss+xml" />
	<link>http://me.andering.com</link>
	<description>Systems thinking about software development</description>
	<lastBuildDate>Sun, 23 May 2010 15:07:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>As a programmer, I want to go to a coders dojo so that I can improve my skills.</title>
		<link>http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/</link>
		<comments>http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 14:54:53 +0000</pubDate>
		<dc:creator>Willem</dc:creator>
				<category><![CDATA[people & systems]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[dojo]]></category>

		<guid isPermaLink="false">http://me.andering.com/?p=327</guid>
		<description><![CDATA[Eric Lefevre and I co-organized a coders dojo at CITCON Amsterdam a few weeks ago. A coders dojo is where programmers meet to collaborate on a programming challenge, so that they can improve their skills.
What is a dojo?
The dojo takes its&#8217; inspiration from martial arts, where practitioners get together to repeatedly practice excercises (&#8216;katas&#8217;), amongst [...]]]></description>
			<content:encoded><![CDATA[<p><a target="_blank" href="http://www.ericlefevre.net">Eric Lefevre</a> and I co-organized a coders dojo at CITCON Amsterdam a few weeks ago. A coders dojo is where programmers meet to collaborate on a programming challenge, so that they can improve their skills.</p>
<h3>What is a dojo?</h3>
<p>The dojo takes its&#8217; inspiration from martial arts, where practitioners get together to repeatedly practice excercises (&#8216;katas&#8217;), amongst each other or guided by a teacher.</p>
<p>Coders dojos exist in many shapes. The form I often use is called &#8216;rand</p>
<p>ori&#8217; : one or two people prepare an excercise, explain the excercise to the group and start pair programming on the excercise in front of the group, using a video projector. After five or ten minutes one of the original pair rotates out, and someone from the audience rotates in. Rotation continues every 5 or 10 minutes.</p>
<p><a href="http://me.andering.com/wp-content/uploads/2008/10/2958181632_da477ef086.jpg"><img class="aligncenter size-full wp-image-331" title="2958181632_da477ef086" src="http://me.andering.com/wp-content/uploads/2008/10/2958181632_da477ef086.jpg" alt="" width="500" height="333" /></a></p>
<p style="text-align: center;"><em>yours truly and <a target="_blank" href="http://www.ericlefevre.net">Eric Lefevre</a> kicking off the Randori</em></p>
<h3>Benefits</h3>
<ul>
<li>Improve your skills by doing, and seeing other people do it (also teaches small things about editor etc.)</li>
<li>challenge and be challenged: accept criticism, defend your ideas, deliver criticism in such a way that others are encouraged to act on it</li>
<li>Learn how to better work in really, really small steps. If you want to rotate out in 10 minutes with a green bar &#8211; all tests pass &#8211; you have to <img src='http://me.andering.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<h3>@ CITCON Amsterdam</h3>
<p>This is also the form Eric and I used at CITCON Amsterdam a few weeks ago. We both had posted a coders dojo on the open space schedule. I wanted to do a dojo with Mockito (a relatively new mock objects framework for java), so that I could try out a modified excercise for an upcoming training on Responsability Driven Design with Mocking.  Eric wanted to do a kata on legacy code, so that he could experiment with an excercise he uses in courses.</p>
<p>We decided to apply some courage and try to see if we could combine the two: use Mockito to add tests to Eric&#8217;s case. We started after very little preparation: while we were preparing a heated debate with other conference attendees on how to teach mocking and what (not) to use) already started&#8230; We introduced the case and started to work towards adding a test. We found a defect in the only test present (it was not completely legacy code <img src='http://me.andering.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ), and we let the audience decide whether we should fix the test first.<br />
The audience decided we should fix the test. We listened. Therefore we did not show how to use Mockito&#8230; Fixing the test eventually took the better part of the coders dojo, and we never got around to having the participants to try out Mockito to make a test running. <a href="http://ericlefevre.net/wordpress/2008/10/08/coding-dojo-on-legacy-code/">Eric already summarized what came out of the mini retrospective</a> at the end of the session.</p>
<p><a href="http://me.andering.com/wp-content/uploads/2008/10/2958182032_1605b98f3f.jpg"><img class="aligncenter size-full wp-image-332" title="2958182032_1605b98f3f" src="http://me.andering.com/wp-content/uploads/2008/10/2958182032_1605b98f3f.jpg" alt="" width="500" height="333" /></a></p>
<p style="text-align: center;"><em>The audience vs. <a target="_blank" href="http://puttingtheteaintoteam.blogspot.com">Ivan Moore</a> and &#8230;</em></p>
<p><a href="http://me.andering.com/wp-content/uploads/2008/10/2957341687_1e88753f88.jpg"><img class="aligncenter size-full wp-image-330" title="2957341687_1e88753f88" src="http://me.andering.com/wp-content/uploads/2008/10/2957341687_1e88753f88.jpg" alt="" width="500" height="333" /></a></p>
<p style="text-align: center;"><em>Coding in front of an audience can be confusing at times</em></p>
<h3>A test is not worth fixing, if it is the only one you have.</h3>
<p>I would normally delete this test, guess its intention(s) and re-write the test from scratch. The reason this test was so difficult to get working, was that it was trying to do multiple things. In making the test work, it started to test even more things, so while fixing it, it became increasingly more difficult&#8230; If we had rewritten the test, we would have discovered this early on. We then would have noted the other things to test down on our &#8216;to do&#8217; list, gotten a green bar quickly and then moved to the next item on our to do list.</p>
<p><a href="http://me.andering.com/wp-content/uploads/2008/10/2958182238_5bb93d62b4.jpg"><img class="aligncenter size-full wp-image-333" title="2958182238_5bb93d62b4" src="http://me.andering.com/wp-content/uploads/2008/10/2958182238_5bb93d62b4.jpg" alt="" width="500" height="333" /></a></p>
<p style="text-align: center;"><em>Programming as a spectator sport. Henk Van Voorthuizen, <a target="_blank" href="http://blog.piecemealgrowth.net">Marc Evers</a> watch Intently, Jamie Dobson takes notes (he was making a diagram of sorts I believe). </em></p>
<h3>Some things I learned</h3>
<p>Having some of the most clever bastards of Europe in the room made this session extremely interesting. It definetely showed me there is &#8216;more than one way to do it&#8217;, and that includes refactoring and adding tests to legacy code. Some will do nothing without a test, some will use automated refactorings only (me) and then add the first test ASAP. Many of these strategies work most of the time&#8230; &#8220;Many people can be right most of the time, not all people can be right all of the time&#8221;, and that shows in a dojo. Most strategies would work to make the situation of the legacy code base better (better factored and/or more tests), but changing strategies every few minutes does not <img src='http://me.andering.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>As Eric says, I&#8217;m sure we&#8217;ll do better next year. One thing I would try would be to spend more time at the start demonstrating and setting out a direction before rotating in someone from the audience. That way, I would expect less confusion by the participants, and more work in  the same direction. This is what I normally do during courses, but the session slot had so little time that we (erroneously) skimped on it.</p>
<p>In the meantime, I&#8217;ll be doing some more experiments in (ab?)using mocking tools to shorten the &#8220;time to first test.&#8221;</p>
<h3>Credits</h3>
<ul>
<li> <a target="_blank" href="http://www.bossavit.com/thoughts/">Laurent Bossavit</a> and Emmanual Gaillot for popularizing the idea of a <a href="http://www.codingdojo.org">coding dojo</a></li>
<li>The writers of <a href="http://www.codingdojo.org/cgi-bin/wiki.pl?back=DeliberatePractice">DeliberatePractice</a> for explaining some of the benefits of a dojo</li>
<li><a target="_blank" href="http://blog.piecemealgrowth.net">Marc Evers</a> for making photos (and lending me his camera during the dojo)</li>
<li><a target="_blank" href="http://www.ericlefevre.net">Eric Lefevre</a> for the first writeup</li>
<li>The participants for making this a very interesting dojo</li>
</ul>


<!-- Begin SexyBookmarks Menu Code -->
<div class="sexy-bookmarks sexy-bookmarks-expand sexy-bookmarks-spaced sexy-bookmarks-bg-enjoy">
<ul class="socials">
		<li class="sexy-delicious">
			<a href="http://del.icio.us/post?url=http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/&amp;title=As+a+programmer%2C+I+want+to+go+to+a+coders+dojo+so+that+I+can+improve+my+skills." rel="nofollow" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="sexy-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/&amp;title=As+a+programmer%2C+I+want+to+go+to+a+coders+dojo+so+that+I+can+improve+my+skills." rel="nofollow" title="Digg this!">Digg this!</a>
		</li>
		<li class="sexy-reddit">
			<a href="http://reddit.com/submit?url=http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/&amp;title=As+a+programmer%2C+I+want+to+go+to+a+coders+dojo+so+that+I+can+improve+my+skills." rel="nofollow" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="sexy-yahoobuzz">
			<a href="http://buzz.yahoo.com/submit/?submitUrl=http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/&amp;submitHeadline=As+a+programmer%2C+I+want+to+go+to+a+coders+dojo+so+that+I+can+improve+my+skills.&amp;submitSummary=Eric%20Lefevre%20and%20I%20co-organized%20a%20coders%20dojo%20at%20CITCON%20Amsterdam%20a%20few%20weeks%20ago.%20A%20coders%20dojo%20is%20where%20programmers%20meet%20to%20collaborate%20on%20a%20programming%20challenge%2C%20so%20that%20they%20can%20improve%20their%20skills.%0D%0AWhat%20is%20a%20dojo%3F%0D%0AThe%20dojo%20takes%20its%27%20inspiration%20from%20martial%20arts%2C%20where%20practitioners%20get%20to&amp;submitCategory=science&amp;submitAssetType=text" rel="nofollow" title="Buzz up!">Buzz up!</a>
		</li>
		<li class="sexy-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/&amp;title=As+a+programmer%2C+I+want+to+go+to+a+coders+dojo+so+that+I+can+improve+my+skills." rel="nofollow" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="sexy-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/&amp;t=As+a+programmer%2C+I+want+to+go+to+a+coders+dojo+so+that+I+can+improve+my+skills." rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="sexy-twitter">
			<a href="http://twitter.com/home?status=As+a+programmer%2C+I+want+to+go+to+a+coders+dojo+so+that+I+can+improve+my+skills.+-+http://tr.im/BHJg+(via+@most_alive)" rel="nofollow" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="sexy-mail">
			<a href="mailto:?subject=%22As%20a%20programmer%2C%20I%20want%20to%20go%20to%20a%20coders%20dojo%20so%20that%20I%20can%20improve%20my%20skills.%22&amp;body=I%20thought%20this%20article%20might%20interest%20you.%0A%0A%22Eric%20Lefevre%20and%20I%20co-organized%20a%20coders%20dojo%20at%20CITCON%20Amsterdam%20a%20few%20weeks%20ago.%20A%20coders%20dojo%20is%20where%20programmers%20meet%20to%20collaborate%20on%20a%20programming%20challenge%2C%20so%20that%20they%20can%20improve%20their%20skills.%0D%0AWhat%20is%20a%20dojo%3F%0D%0AThe%20dojo%20takes%20its%27%20inspiration%20from%20martial%20arts%2C%20where%20practitioners%20get%20to%22%0A%0AYou%20can%20read%20the%20full%20article%20here%3A%20http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/" rel="nofollow" title="Email this to a friend?">Email this to a friend?</a>
		</li>
		<li class="sexy-comfeed">
			<a href="http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/feed" rel="nofollow" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="sexy-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/&amp;title=As+a+programmer%2C+I+want+to+go+to+a+coders+dojo+so+that+I+can+improve+my+skills.&amp;summary=Eric%20Lefevre%20and%20I%20co-organized%20a%20coders%20dojo%20at%20CITCON%20Amsterdam%20a%20few%20weeks%20ago.%20A%20coders%20dojo%20is%20where%20programmers%20meet%20to%20collaborate%20on%20a%20programming%20challenge%2C%20so%20that%20they%20can%20improve%20their%20skills.%0D%0AWhat%20is%20a%20dojo%3F%0D%0AThe%20dojo%20takes%20its%27%20inspiration%20from%20martial%20arts%2C%20where%20practitioners%20get%20to&amp;source=me.andering - Willem van den Ende" rel="nofollow" title="Share this on Linkedin">Share this on Linkedin</a>
		</li>
		<li class="sexy-google">
			<a href="http://www.google.com/bookmarks/mark?op=add&amp;bkmk=http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/&amp;title=As+a+programmer%2C+I+want+to+go+to+a+coders+dojo+so+that+I+can+improve+my+skills." rel="nofollow" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="sexy-friendfeed">
			<a href="http://www.friendfeed.com/share?title=As+a+programmer%2C+I+want+to+go+to+a+coders+dojo+so+that+I+can+improve+my+skills.&amp;link=http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/" rel="nofollow" title="Share this on FriendFeed">Share this on FriendFeed</a>
		</li>
		<li class="sexy-ning">
			<a href="http://bookmarks.ning.com/addItem.php?url=http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/&amp;T=As+a+programmer%2C+I+want+to+go+to+a+coders+dojo+so+that+I+can+improve+my+skills." rel="nofollow" title="Add this to Ning">Add this to Ning</a>
		</li>
		<li class="sexy-techmeme">
			<a href="http://twitter.com/home/?status=Tip+@Techmeme+http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/+&quot;As+a+programmer%2C+I+want+to+go+to+a+coders+dojo+so+that+I+can+improve+my+skills.&quot;" rel="nofollow" title="Tip this to TechMeme">Tip this to TechMeme</a>
		</li>
		<li class="sexy-pingfm">
			<a href="http://ping.fm/ref/?link=http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/&amp;title=As+a+programmer%2C+I+want+to+go+to+a+coders+dojo+so+that+I+can+improve+my+skills.&amp;body=Eric%20Lefevre%20and%20I%20co-organized%20a%20coders%20dojo%20at%20CITCON%20Amsterdam%20a%20few%20weeks%20ago.%20A%20coders%20dojo%20is%20where%20programmers%20meet%20to%20collaborate%20on%20a%20programming%20challenge%2C%20so%20that%20they%20can%20improve%20their%20skills.%0D%0AWhat%20is%20a%20dojo%3F%0D%0AThe%20dojo%20takes%20its%27%20inspiration%20from%20martial%20arts%2C%20where%20practitioners%20get%20to" rel="nofollow" title="Ping this on Ping.fm">Ping this on Ping.fm</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>
<!-- End SexyBookmarks Menu Code -->

]]></content:encoded>
			<wfw:commentRss>http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
