<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wikidot="http://www.wikidot.com/rss-namespace">

	<channel>
		<title>A new Kata is born!</title>
		<link>http://dojo.wikidot.com/forum/t-90028/a-new-kata-is-born</link>
		<description>Posts in the discussion thread &quot;A new Kata is born!&quot;</description>
				<copyright></copyright>
		<lastBuildDate>Sat, 14 Mar 2026 20:27:04 +0000</lastBuildDate>
		
					<item>
				<guid>http://dojo.wikidot.com/forum/t-90028#post-296206</guid>
				<title>A continued success</title>
				<link>http://dojo.wikidot.com/forum/t-90028/a-new-kata-is-born#post-296206</link>
				<description></description>
				<pubDate>Thu, 30 Oct 2008 09:20:00 +0000</pubDate>
				<wikidot:authorName>ThomasG</wikidot:authorName>				<wikidot:authorUserId>193962</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>After four sessions I'm still very fond of the roman calculator. Yesterday we continued the work where we started. The code was not even compilable after the last pair left it. But after 5 minutes we were up and running. And I must say it was the right decistion to continue on the code, and not to begin again as we have done several times before. Now we see some things to deal with coming up very soon in the calculator. But the best part of it is ofcourse all the discussions about TDD, BDD, and refactoring.<br /> Yesterday we had a great discussion about</p> <ol> <li>why we need to refactor at all</li> <li>can we overdo refactoring?</li> <li>what is the next test after a refactoring that make the code more generalized?</li> <li>what happens to tests if we need to split a class</li> </ol> <p>The third question was perhaps the insight-of-the-day.<br /> After adding a test, then code just to make the test pass over and over again, we had some ugly if-statements with different cases that we wanted to refactor, generalizing just a little bit to remove all the chain of if statements, duplication, etc. The pair did it.<br /> We got a green bar after the refactoring. Good - lets move on. But some protested when the pair wanted to go on with the next test to be able to add more functionality. What if there's something wrong with that refactoring? What if&#8230;? What assumptions have we made? Shouldn't we try to break it?<br /> Everybody had the gut feeling that there might be some case we had left out&#8230;<br /> The next tests proved that the gut feeling was there for a reason.</p> <p>Insight:<br /> Before a refactoring, ask your self - will I generalize the code? Do I need more tests before I get going with it?<br /> After a refactoring, ask your self - have I generalized the code? Then the next tests should be in the same &quot;theme&quot; as the last tests and the code I just added.</p> <p>The fifth question came during the break, and also in the talk after the Dojo. Some of the participants hoped that we would come longer in the Kata soon, so we would see class splitting and all that somes with that. Of course they had real world experience of the pain of moving tests and all the decisions you have to do there. Some said that it would be fun to do a much longer Dojo, to be able to come into these questions, and that's one reason why we at Responsive have developed the &quot;Developer training course&quot; where you have a full day of TDD and pair programming.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dojo.wikidot.com/forum/t-90028#post-262755</guid>
				<title>A new Kata is born!</title>
				<link>http://dojo.wikidot.com/forum/t-90028/a-new-kata-is-born#post-262755</link>
				<description></description>
				<pubDate>Thu, 18 Sep 2008 11:04:28 +0000</pubDate>
				<wikidot:authorName>ThomasG</wikidot:authorName>				<wikidot:authorUserId>193962</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Yesterday we started our Dojo again for fall 2008.<br /> This time we created a completely new Kata:<br /> The roman calculator.</p> <p><em>&quot;As a roman clerc, I want to add two roman numerals and see the result&quot;</em></p> <p>And what a great Kata it is! It's perfect. Not too complicated, very suitable to do in small small baby steps.<br /> We could really concentrate on the TDD stuff, like &quot;what is the first test&quot;, &quot;what will be the next test&quot;, &quot;how to refactor this&quot;, etc. instead of all of other aspects of programming that sometimes comes up.</p> <p>It will sure be fun to continue this kata next session.</p> <p>/Thomas Grönwall</p> 
				 	]]>
				</content:encoded>							</item>
				</channel>
</rss>