{"id":21,"date":"2004-07-14T23:48:33","date_gmt":"2004-07-14T21:53:15","guid":{"rendered":"http:\/\/www.craigmurphy.com\/blog\/?p=21"},"modified":"2004-07-14T23:57:03","modified_gmt":"2004-07-14T22:57:03","slug":"how-big-are-your-steps","status":"publish","type":"post","link":"http:\/\/www.craigmurphy.com\/blog\/?p=21","title":{"rendered":"How big are your steps?"},"content":{"rendered":"<p>I re-ran my <a href=\"http:\/\/www.craigmurphy.com\/bug\/index.php\">An Introduction to Test-Driven Development<\/a> session yesterday&#8230;to an exceptionally interactive and responsive audience.  <\/p>\n<p>The slides are free to download <a href=\"http:\/\/www.craigmurphy.com\/bug\/tdd\/13Jul2004\/TDDIntro.zip\">here<\/a> (1134k).  Feel free to download the <a href=\"http:\/\/www.craigmurphy.com\/bug\/tdd\/code_tdd.zip\">Delphi 5-7<\/a> code, the <a href=\"http:\/\/www.thedelphimagazine.com\/disks\/dmag104.zip\">Delphi 8<\/a> code or the <a href=\"http:\/\/www.craigmurphy.com\/vbug\/tdd_v_code.zip\">Visual Basic.net<\/a> code.<\/p>\n<p>I was using <a href=\"http:\/\/dunit.sourceforge.net\/\">DUnit<\/a> with Delphi 7.   I re-iterated the fact that eXtreme Programming and TDD extol the virtues of &#8220;doing the simplest thing that could possibly work&#8221;.  <\/p>\n<p>Read more about the session <a href=\"http:\/\/www.craigmurphy.com\/blog\/index.php?p=20\">here<\/a>.<\/p>\n<p>Tied in with this debate was a lengthy discussion about the concept of &#8220;small steps&#8221;.  <\/p>\n<p>Early on in my session I took lots of really small steps, panicking the audience slightly as they wondered how long it would take me to get from 1 to 2000 in Roman numerals (I was applying TDD to a Roman numeral conversion class).<\/p>\n<p>TDD promotes the notion of taking plenty of small steps, gradually taking slightly larger steps as your confidence increases.  However, the instant you step over your mark and take a step that&#8217;s too large, you should revert to taking smaller steps until to regain your confidence.<\/p>\n<p>The size of TDD steps is important and it&#8217;s one that you have to be happy with yourself: a &#8220;small step&#8221; that works for you might be a large step to somebody else.  It&#8217;s about finding a happy medium &#8211; go out and try TDD for yourself, make the mistakes that I did, take large steps, try to do too much in a method and test.  It&#8217;ll all come out in the wash and eventually as <a href=\"http:\/\/c2.com\/cgi\/wiki?ErichGamma\">Erich Gamma<\/a> said, you&#8217;ll be &#8220;<a href=\"http:\/\/c2.com\/cgi\/wiki?TestInfected\">test infected<\/a>&#8221;<\/p>\n<p>Want to learn more about TDD?  These books are highly recommended:<\/p>\n<p><a href=\"http:\/\/www.amazon.co.uk\/exec\/obidos\/ASIN\/0735619484\/craigmurphyco-21\"><img decoding=\"async\" src=\"http:\/\/www.craigmurphy.com\/images\/0735619484.01.MZZZZZZZ.jpg\" border=\"0\" alt=\"Test-Driven Development in Microsoft .net\" hspace=\"3\" vspace=\"3\" \/><\/a><br \/>\n               <a href=\"http:\/\/www.amazon.co.uk\/exec\/obidos\/ASIN\/0131016490\/craigmurphyco-21\"><img decoding=\"async\" src=\"http:\/\/www.craigmurphy.com\/images\/0131016490.02.MZZZZZZZ.jpg\" border=\"0\" alt=\"Test-Driven Development: a practical guide\" hspace=\"3\" vspace=\"3\" \/><\/a><\/p>\n<p>Test-Driven Development: a practical guide: <a href =\"http:\/\/www.craigmurphy.com\/bug\/tdd\/review.php\">Reviewed here.<\/a><\/p>\n<p>                 <a href=\"http:\/\/www.amazon.co.uk\/exec\/obidos\/ASIN\/0321146530\/craigmurphyco-21\"><img decoding=\"async\" src=\"http:\/\/www.craigmurphy.com\/images\/0321146530.02.MZZZZZZZ.jpg\" border=\"0\" alt=\"Test-Driven Development by example\" hspace=\"3\" vspace=\"3\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>During a test-driven development session, the size of your steps (the amount of work you try to achieve in one go) varies&#8230;and it&#8217;s very personal: your steps might be bigger than mine.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,6],"tags":[],"class_list":["post-21","post","type-post","status-publish","format-standard","hentry","category-development","category-tdd"],"_links":{"self":[{"href":"http:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/21","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=21"}],"version-history":[{"count":0,"href":"http:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/21\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}