{"id":297,"date":"2006-01-13T17:29:14","date_gmt":"2006-01-13T22:29:14","guid":{"rendered":"http:\/\/UnhinderedByTalent.com\/Phi\/?p=297"},"modified":"2006-01-13T11:30:06","modified_gmt":"2006-01-13T16:30:06","slug":"hmmm-how-many-iterations-to-do","status":"publish","type":"post","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2006\/01\/13\/hmmm-how-many-iterations-to-do\/","title":{"rendered":"Hmmm, how many iterations to do&#8230;?"},"content":{"rendered":"<p><a href=\"http:\/\/www.amazon.com\/exec\/obidos\/redirect?tag=manalangcom-20%26link_code=xm2%26camp=2025%26creative=165953%26path=http:\/\/www.amazon.com\/gp\/redirect.html%253fASIN=0321278658%2526tag=manalangcom-20%2526lcode=xm2%2526cID=2025%2526ccmID=165953%2526location=\/o\/ASIN\/0321278658%25253FSubscriptionId=0EMV44A9A5YT1RVDGZ82\" title=\"View product details at Amazon\"><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/images.amazon.com\/images\/P\/0321278658.01._SCMZZZZZZZ_.jpg?w=840\" alt=\"Extreme Programming Explained : Embrace Change (2nd Edition)\" align='right' vspace='10' hspace='10' data-recalc-dims=\"1\" \/><\/a><br \/>\nI&#8217;m teaching our Software Design and Development course again this semester after what I think is the longest hiatus I&#8217;ve ever had from the class (1.5 years!).  This break is giving me a nice (and somewhat frightening) chance to see some things afresh and ask some questions about how some things have been handled historically.<\/p>\n<p>One thing I&#8217;ve been contemplating is the number of releases we want to run.  We run a fairly agile\/XP process; for more see the <a href=\"http:\/\/agilemanifesto.org\/\">Agile Manifesto<\/a>, <a href=\"http:\/\/www.extremeprogramming.org\/\">this nice introduction from Don Wells<\/a>, <a href=\"http:\/\/www.martinfowler.com\/articles\/newMethodology.html\">Martin Fowler&#8217;s history<\/a>.<\/p>\n<p><a href=\"http:\/\/www.amazon.com\/exec\/obidos\/redirect?tag=manalangcom-20%26link_code=xm2%26camp=2025%26creative=165953%26path=http:\/\/www.amazon.com\/gp\/redirect.html%253fASIN=0135974445%2526tag=manalangcom-20%2526lcode=xm2%2526cID=2025%2526ccmID=165953%2526location=\/o\/ASIN\/0135974445%25253FSubscriptionId=0EMV44A9A5YT1RVDGZ82\" title=\"View product details at Amazon\"><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/images.amazon.com\/images\/P\/0135974445.01._SCMZZZZZZZ_.jpg?w=840\" alt=\"Agile Software Development, Principles, Patterns, and Practices\" align='left' hspace='10' vspace='10' data-recalc-dims=\"1\" \/><\/a><br \/>\nOne of the key ideas here is to do <a href=\"http:\/\/www.extremeprogramming.org\/rules\/releaseoften.html\">frequent small releases<\/a> that are broken up into e<a href=\"http:\/\/www.extremeprogramming.org\/rules\/iterative.html\">ven shorter iterations<\/a>.  Historically I&#8217;ve usually done 3 releases, each composed of 3 (or sometimes 2) one week iterations. Re-reading the Bob Martin&#8217;s excellent <cite><a href=\"http:\/\/www.objectmentor.com\/resources\/bookstore\/books\/AgileSoftwareDevelopmentPPP\">Agile software development<\/a><\/cite> and thinking about how that&#8217;s gone in the past, I&#8217;m wondering if it might make more sense to two 2 releases, each composed of 2 two week iterations. The problem is that a 1 week iteration doesn&#8217;t give you very much time for planning and tracking, especially since everyone is &#8220;part time&#8221;. Martin&#8217;s text, for example, suggests two week iterations (for full time employees!) with a planning\/tracking meeting half-way. (With one week iterations we try to have something like that mid-week, which gives them feedback sooner, but we tend not to do it every week because it would just take up too much time, etc., etc.  So maybe two week iterations are just more honest?)<\/p>\n<p>I see two possible downsides to this. One is that a two week iteration is a long time, giving groups more time to delude themselves that everything&#8217;s OK and they&#8217;ll pull it all out in the end. The mid-point planning\/tracking meeting\/report will help mitigate that, but it won&#8217;t make it go away.<\/p>\n<p><a href=\"http:\/\/www.flickr.com\/photos\/nicmcphee\/23167265\/\" title=\"Photo Sharing\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/i0.wp.com\/static.flickr.com\/17\/23167265_c462cb5be3_m.jpg?resize=240%2C180\" width=\"240\" height=\"180\" alt=\"Numbered parts\" align='right' hspace='10' vspace='10' data-recalc-dims=\"1\" \/><\/a><br \/>\nThe other is that we only get two releases which cuts down on several opportunities for pedagogical fun. One thing I&#8217;ve often done, for example, is have groups swap code bases after the first release and see how much fun it is to deal with someone else&#8217;s code in the second release. We then get the third release to pull everything back together and reduce the amount of chaos.<\/p>\n<p>If I thought that was <em>really<\/em> important to do this kind of swapping I could make them swap in the middle of the first release, so everyone does a single two week iteration on Project A, and then switches to Project B for the second iteration. Then they&#8217;re also stuck with that group&#8217;s planning and estimates, which could be fun (or a complete mess!).<\/p>\n<p>Anyone out (including the several of you that have actually been through this course) there have anything thoughts?<\/p>\nNo tag for this post.\n\t<h4>Related posts<\/h4>\n\t<ul class=\"st-related-posts\">\n\t<li>No related posts.<\/li>\n\t<\/ul>\n\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m teaching our Software Design and Development course again this semester after what I think is the longest hiatus I&#8217;ve ever had from the class (1.5 years!). This break is giving me a nice (and somewhat frightening) chance to see some things afresh and ask some questions about how some things have been handled historically. &hellip; <a href=\"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2006\/01\/13\/hmmm-how-many-iterations-to-do\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Hmmm, how many iterations to do&#8230;?&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0},"categories":[4,17],"tags":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p90sy-4N","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"jetpack-related-posts":[{"id":298,"url":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2006\/01\/13\/links-for-2006-01-13\/","url_meta":{"origin":297,"position":0},"title":"links for 2006-01-13","author":"Nic McPhee","date":"13 Jan 06","format":false,"excerpt":"Extreme Programming: A Gentle Introduction. An excellent overview of the key ideas of extreme programming\/agile development. (tags: agile code design development planning programming project projectmanagement software testing xp methodology UMM:CSci3601) XProgramming.com - an Agile Software Development Resource Ron Jeffries' site on XP. I really don't like the design, but there's\u2026","rel":"","context":"In &quot;Daily links&quot;","block_context":{"text":"Daily links","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/category\/daily-links\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":651,"url":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2007\/09\/17\/a-different-kind-of-computing-curriculum-thoughts-on-an-interview-with-smalltalk-dave\/","url_meta":{"origin":297,"position":1},"title":"A different kind of computing curriculum? &#8211; Thoughts on an interview with Smalltalk Dave","author":"Nic McPhee","date":"17 Sep 07","format":false,"excerpt":"I finally got around to listening to this interview with Smalltalk Dave Thomas (as opposed to Ruby's Dave Thomas) from the Agile Toolkit Podcast. There's a lot of interesting stuff in this puppy, and curriculum design would be a totally different animal if more academics were listening to people like\u2026","rel":"","context":"In &quot;Computing&quot;","block_context":{"text":"Computing","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/category\/computing\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":422,"url":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2007\/01\/05\/422\/","url_meta":{"origin":297,"position":2},"title":"The importance of language and notation in problem solving","author":"Nic McPhee","date":"5 Jan 07","format":false,"excerpt":"Found this in the slides for a presentation by Jim Weirich entitled \"10 things every Java programmer should know about Ruby\": A language that doesn\u2019t affect the way you think about programming is not worth knowing \u2014 Alan Perlis Amen, brother! A little searching reveals that it was included in\u2026","rel":"","context":"In &quot;Computing&quot;","block_context":{"text":"Computing","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/category\/computing\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1630,"url":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2013\/03\/03\/im-looking-to-do-software-development-in-the-cities-this-summer\/","url_meta":{"origin":297,"position":3},"title":"I&#8217;m looking to do software development in the Cities this summer","author":"Nic McPhee","date":"3 Mar 13","format":false,"excerpt":"I'm looking to do software development in the Cities this summer to enrich my teaching here at UMM. Any ideas or suggestions?","rel":"","context":"In &quot;Computing&quot;","block_context":{"text":"Computing","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/category\/computing\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":245,"url":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2005\/10\/09\/a-rockin-umm-csci-reunion-dinner\/","url_meta":{"origin":297,"position":4},"title":"A rockin&#8217; UMM CSci reunion dinner","author":"Nic McPhee","date":"9 Oct 05","format":false,"excerpt":"Nick Hopper (UMM '99, now a tenure-line CSci faculty at the Twin Cities campus) invited us out to the Twin Cities' Computer Science and Engineering biennial technology forum\/open house, which was very cool. At various times it looked like as many as 10 or more UMMers might make the trip,\u2026","rel":"","context":"In &quot;Computing&quot;","block_context":{"text":"Computing","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/category\/computing\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/posts\/297"}],"collection":[{"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/comments?post=297"}],"version-history":[{"count":0,"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/posts\/297\/revisions"}],"wp:attachment":[{"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/media?parent=297"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/categories?post=297"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/tags?post=297"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}