<?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>let x=x &#187; xp</title>
	<atom:link href="http://www.crazymcphee.net/x/tag/xp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.crazymcphee.net/x</link>
	<description>programming idiom and methodology</description>
	<lastBuildDate>Fri, 27 Jan 2012 09:36:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Agile and assembly lines</title>
		<link>http://www.crazymcphee.net/x/2009/09/26/agile-and-assembly-lines/</link>
		<comments>http://www.crazymcphee.net/x/2009/09/26/agile-and-assembly-lines/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 02:19:55 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[professional practice]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=477</guid>
		<description><![CDATA[Coder Friendly&#8217;s got an interesting article about Agile Evangelism. First I&#8217;m not going to take issue with the article itself but something that he quotes from DanC&#8217;s Lost Garden on Managing Complexity: The repetative (sic) steps that a single worker performs on an assembly line is a good example of a simple task This is [...]]]></description>
			<content:encoded><![CDATA[<p>Coder Friendly&#8217;s got an <a href="http://www.coderfriendly.com/2009/09/24/agile-evangelism-can-be-dangerous-focus-on-your-needs/">interesting article about Agile Evangelism</a>. First I&#8217;m not going to take issue with the article itself but something that he <a href="http://lostgarden.com/2006/04/managing-game-design-risk-part-i.html">quotes from DanC&#8217;s Lost Garden on Managing Complexity</a>:</p>
<blockquote><p>The repetative (sic) steps that a single worker performs on an assembly line is a good example of a simple task</p></blockquote>
<p>This is a terribly Fordist/Taylorist view to take of assembly work. That most beloved of industrial examples, Toyota, takes weeks to train its process-line workers to be able not only to do the simple repetitive steps of assembly, but also to be able to identify and rectify problems with the assembly-line. As <a href="http://chasingtherabbitbook.mhprofessional.com/apps/ab/">Steven Spear</a>, author of <a href="http://www.amazon.com/Chasing-Rabbit-Outdistance-Competition-Christensen/dp/0071499881">Chasing the Rabbit</a> (<a href="http://www.crazymcphee.net/x/2009/03/08/achieving-high-velocity/">my review here</a>) might say, anyone who thinks that &#8220;assembly line&#8221; work is simple task probably doesn&#8217;t understand the nature of their process enough to keep up with their more innovate competitors, let alone outdistance them. Understanding your process, well more importantly, your organisational goals and how your process does or does not fulfil those goals, is critical to improving your organisation, and it leads me onto the idea of &#8220;evangelism&#8221;.</p>
<p>I both agree and disagree with Coder Friendly&#8217;s position:</p>
<blockquote><p>Don’t become an evangelist yourself : look at your project and decide which methodologies is the most adapted. Sometimes, Agile is not the right one but if you see that your requirements are far from agreement or certainty, Agile approaches are probably a good choice.</p></blockquote>
<p>I agree that &#8220;evangelism&#8221; can be politically off-putting.People don&#8217;t react well to being told their old kool-aid contains poison, and to uncritically drink this new kool-aid instead. However the main problem I have with a statement like this is that non-Agile companies use this &#8220;adaptation&#8221; argument and approach, in order to keep their poor contexts alive. This is the fallacy that&#8217;s found in &#8216;scrum butt&#8217;: &#8220;Oh we do Scrum, but &#8230;&#8221;. The clauses after the &#8216;but&#8217; are typically critical. The organisation concerned is usually trying to keep some essential organisational dysfunction alive, because of politics, resistance to change, simple misunderstanding, lack of understanding about their own process, or maybe even simple laziness. I&#8217;ve got no problem with an organisation that is mature in its use of an agile method adapting it to their local circumstance &#8211; in fact if you are doing it properly, with its emphasis on empowering teams to own their process and carrying out regular &#8216;inspect and adapt&#8217; at the end of every iteration, after six or twelve months of this the process will most certainly be adapted to the local conditions.</p>
<p>However, the real danger is at the <em>start</em> of the agile adoption process, when you have people hand-waving about &#8220;can&#8217;t do that here&#8221;, for whatever value of <em>that</em> there is. I&#8217;ve seen it said about: pairing; story boards; acceptance criteria; automated testing; retrospectives; daily stand-up; adaptive and emergent design; and just about every other aspect of XP or Scrum process. The reason is, I think, that these organisations rarely understand what the real organisational goals actually are, and they understand even less about their existing process, to the point they just &#8220;do&#8221; the process that &#8220;is&#8221;. &#8220;It is what it is&#8221;, is a great term, and if anyone says this to you it&#8217;s just a fatalistic attempt to accept as unchanging something you <em>can</em> change. <em>Accept the bad. Don&#8217;t think it could be better</em>.  Attempts to meddle in the process, i.e. change it, induce fear, and with fear often comes timidity.</p>
<p>This is where you need a <em>real</em> agile evangelist. This is not someone who just thinks that Scrum or XP or whatever other process should be blindly substituted for the existing one, but someone who understands that process is about competitive advantage, eliminating waste, and that you have to start from a known position and continuously work towards improvement. Change is not just good, but necessary, and you <em>need</em> those change agents. <em>Passion for doing things better is bad?</em> Only in a change-averse company. So learn your existing process, thoroughly, and then learn the proposed agile process, thoroughly, and only then will you be able to &#8216;synthesise&#8217; a replacement. Only I think you&#8217;ll find that replacement will look a lot more like the plain old agile process than your existing unagile process. After all, if your existing process already has adequate inspect-and-adapt cycles within it (not lip-service ones, real ones), probably you are already doing and agile or lean process even if you don&#8217;t call it that, and you&#8217;re already number one in your marketplace. If not, perhaps you require the passion of an evangelist.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/09/26/agile-and-assembly-lines/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>To do redux</title>
		<link>http://www.crazymcphee.net/x/2009/06/07/to-do-redux/</link>
		<comments>http://www.crazymcphee.net/x/2009/06/07/to-do-redux/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 22:50:45 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[professional practice]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[profession]]></category>
		<category><![CDATA[refactor]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=393</guid>
		<description><![CDATA[I just want to answer the anonymous &#8220;process nazis&#8221; trackback on yesterday&#8217;s &#8216;//TODO&#8217; Considered Harmful post, because that blog desn&#8217;t allow comments without a login. Quite apart from issues with Godwin&#8217;s Law (and that the writer has enumerated a bunch of rules that get &#8220;violated&#8221; then accuses other people of being process nazis), the post [...]]]></description>
			<content:encoded><![CDATA[<p>I just want to answer the anonymous &#8220;<a href="http://chaosinmotion.com/blog/?p=279">process nazis</a>&#8221; trackback on yesterday&#8217;s <a href="http://www.crazymcphee.net/x/2009/06/06/todo-considered-harmful/">&#8216;//TODO&#8217; Considered Harmful</a> post, because that blog desn&#8217;t allow comments without a login. Quite apart from issues with Godwin&#8217;s Law (and that the writer has enumerated a bunch of rules that get &#8220;violated&#8221; then accuses <em>other</em> people of being process nazis), the post severely misattributes both my post, and also, I think, misunderstands what agile methodologies are all about.</p>
<p>First, I no where made any &#8220;assertion that if you are putting ‘//TODO’ markers in your code, you’re somehow not properly following the Scrum process&#8221; &#8211; I said if you find yourself using &#8216;//TODO&#8217; markers in your code you are being prevented from getting to done-done and that you should &#8220;<em>Identify the problem, propose a counter-measure and fix the process</em>&#8220;. I can&#8217;t emphasise that enough. &#8220;Fix the process&#8221; does not mean &#8220;follow scrum&#8221; but rather to use your team&#8217;s collective brain to work out what stops you from fixing the code then and there and propose a solution to the problem.</p>
<p>I think &#8216;//TODO&#8217; should either be in the current story (I will concede that you might want to use a &#8216;//TODO&#8217; to remind yourself about tasks in your current story, i.e. &#8220;come back here tomorrow when I add the validation&#8221;) or in the &#8220;backlog&#8221;. I put &#8220;backlog&#8221; in quotes there to point out I mean &#8220;backlog&#8221; in the broadest sense, if you using Scrum or XP that&#8217;s actually where the work-to-be-done is physically kept, but if you have some other process then your &#8220;backlog&#8221; is kept somewhere else, and what is preventing you from adding to it?</p>
<p>I will ask a question of the anonymous poster &#8211; at what point exactly  is a &#8216;//TODO&#8217; comment left decaying in the codebase without a story for days or weeks <em>a good idea</em>? Or is it that you just do not want to make what it is being done in the code base <em>transparent</em> to those who are paying your bills?</p>
<p>I will contend; &#8216;//TODO&#8217; never gets done because the product owners never see them. They act as an opaque barrier to open communication. If you find a &#8216;//TODO&#8217;, lets say a big major refactoring will be needed to support a story you already see in the backlog, what&#8217;s the problem with having an open and honest communication with the <em>team</em> about the story&#8217;s estimate? If it&#8217;s a future story, i.e. feature related, it should be in the &#8220;backlog&#8221;; if it is code or design related which impacts you now, either it should be done then and there (<a href="http://www.extremeprogramming.org/rules/refactor.html">refactor mercilessly</a>) or it&#8217;s a bug which you either fix or raise a bug report for, and if it&#8217;s just some nebulous &#8220;improvement&#8221; either do it now or <a href="http://c2.com/xp/YouArentGonnaNeedIt.html">YAGNI</a>. If you&#8217;ve got great tooling like Mylyn for Eclipse you can drop a &#8220;task&#8221; at the code point and move on. The point there is the &#8220;TODO&#8221; isn&#8217;t obscured away in the code but rather <em>visible to all</em> because the &#8216;//TODO&#8217; is now either in your Wiki, your task-tracking tooling via it&#8217;s Mylyn integration, or is included as part of a story card on the story board.</p>
<p>If you can&#8217;t refactor mercilessly &#8211; what the post is <em>really</em> about &#8211; all the usual excuses apply, i.e. &#8220;we&#8217;re not confident about the code base not breaking in unknown ways&#8221; (i.e. no tests), &#8220;it has to be done by tomorrow,&#8221; <em>et cetera</em>, and all of these are <em>symptoms of dysfunction</em> in your organisation.</p>
<p>People love their little comfort zones and they don&#8217;t like being pushed out of them, that&#8217;s for sure, programmers included (yeah, and that&#8217;s a me too). <em>Habit</em> is not an excuse for avoiding improvement.</p>
<p>Here&#8217;s a great imaginary conversation from the C2 wiki entry about <a href="http://c2.com/xp/YouArentGonnaNeedIt.html">YAGNI</a> that I think applies here:</p>
<blockquote><p>&#8220;But Ron, I know how to do it right now, and later I might not.&#8221; </p>
<p>&#8220;So, Sam, you&#8217;re telling me that this class you&#8217;re writing is so complex that even <strong>you</strong> won&#8217;t be able to maintain it?&#8221;</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/06/07/to-do-redux/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>JAOO Brisbane 2009 highlights and thoughts</title>
		<link>http://www.crazymcphee.net/x/2009/05/13/jaoo-brisbane-2009-highlights-and-thoughts/</link>
		<comments>http://www.crazymcphee.net/x/2009/05/13/jaoo-brisbane-2009-highlights-and-thoughts/#comments</comments>
		<pubDate>Wed, 13 May 2009 12:55:54 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[professional practice]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[tools and techniques]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[jaoo]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[profession]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[test first]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=356</guid>
		<description><![CDATA[I spent last Monday and Tuesday at the JAOO conference in Brisbane, and I have a couple of things which I want to say I thought interesting. (&#8216;JAOO&#8217; btw, because I see people asking about it on Twitter, is pronounced a bit like &#8220;yow&#8221; but with the &#8220;j&#8221; from German/Dutch like &#8220;jah&#8221;). Firstly, I found [...]]]></description>
			<content:encoded><![CDATA[<p>I spent last Monday and Tuesday at the <a href="http://www.jaoo.com.au/" target="_blank">JAOO</a> conference in Brisbane, and I have a couple of things which I want to say I thought interesting. (&#8216;JAOO&#8217; btw, because I see people asking about it on Twitter, is pronounced a bit like &#8220;yow&#8221; but with the &#8220;j&#8221; from German/Dutch like &#8220;jah&#8221;).</p>
<p>Firstly, I found the second day much better than the first. I did see <a href="http://www.michaelnygard.com/" target="_blank">Michael Nygard&#8217;s</a> two talks on Monday morning and got a lot a lot of useful information from those. Titled &#8216;Failure comes in flavours&#8217; the first was a great overview of the types of failure that applications running in production encounter, the second ways to avoid those failure modes. Basically it&#8217;s how many of the non-functional requirements can eat your app (and even the entire integration if you let the failure propagate easily) if you don&#8217;t give careful consideration to them. He&#8217;s got a <a href="http://www.pragprog.com/titles/mnee/release-it" target="_blank">book</a> so I&#8217;m going to check that out next.</p>
<p>The first day for me was severely spoilt by a poor vendor presentation (hint: one that is <em>not</em> Oracle, not that they would have necessarily done any better), which I should have known better to avoid. I already swim in the BPEL/BPM/SOA soup, I fully understand just how broken it is as an actual development concept (e.g. anti-test-first to name just <em>one</em>). I was fooled by the title to thinking maybe it had some insights to avoid the worst of these busted concepts, but no, the vendor&#8217;s tooling is all the rage if you drink the poor-tasting conceptual kool-aid. This stuff is marketed at managers and non-coding architects who choose to buy this stuff then dump it from a very great height into the laps of the poor developers who have to mangle it into a deliverable system (half the time with a development budget just a tenth the cost of the licence). Anyway back to the good stuff.</p>
<p>Mike Cannon-Brookes from <a href="http://www.atlassian.com/" target="_blank">Atlassian</a> (which makes great development tools, highly recommended) gave a mostly great closing speech on the first day which made me think about a couple of things. It wasn&#8217;t until the next morning however that it crystallised in my mind. It&#8217;s a bit of a minor criticism.</p>
<p>Mike threw out a minor line, an aside really, talking about Atlassian&#8217;s agile development methodology, and basically that said, people who say &#8216;you must do this&#8217; are wrong, because they miss your context. Here &#8216;this&#8217; is some type of agile process artefact like  maybe, pairing, or estimating in story points, or whatever. Well, it&#8217;s wrong and on two counts. The first count I realised just after the talk but couldn&#8217;t articulate it correctly in semi-drunken conversation. That first count is very simple. Mike&#8217;s timeline on his Atlassian experience has him, if I recall correctly, starting his company and creating the great tool Jira, in his early twenties. Now as he dissed &#8220;old people&#8221; in his talk I&#8217;m going to give some back. In your twenties you&#8217;ve got no idea <em>what works</em>, in a general sense. You might know (or think you know) <em>what works for you</em>, but that&#8217;s a completely different kettle of fish to <em>what works generally</em>. Why not? The word is <em>experience</em>. Its not until you reach &#8230; oh &#8230; I&#8217;ll say around 35 (and so maybe lose the capacity to build technical innovation, perhaps, as Mike asserted) that you can have real insights into <em>process</em> and <em>people</em>. It&#8217;s just because at this point, you just have not got enough <em>practice</em> at it (see Malcolm Gladwell&#8217;s recent book for some basic data about the power of practice).</p>
<p>But the bigger point I think is the word <em>context</em>. The phrase &#8216;my context is different&#8217;, is this classic phrase which <em>really</em> means &#8216;that won&#8217;t work here&#8217; and <em>that</em> really means, <em>I don&#8217;t want to change</em>. As a consultant , you hear this stuff all the time: &#8230; &#8220;We&#8217;re unique, our company is not like those other companies. We can&#8217;t do that here. Detailed estimates are really the most important part of the development process. The budget and the features must be fixed. We have a reporting process that allows the budget and features to be fixed. Pair programming doubles the time it takes to deliver the features. Quality doesn&#8217;t matter. Technical quality is  a business decision. The business are too busy to talk to you.&#8221; &#8230;  And a whole other other bunch of <em>epic agile fail</em>. Someone&#8217;s context is <em>exactly</em> why they aren&#8217;t as agile as their competitors and are looking at using &#8216;agile development&#8217; to help save them &#8230; but as long as they insist on <em>my context trumps all</em>, they will only get a fractional improvement and not an order-of-magnitude one. But Atlassian make great products, so it doesn&#8217;t mean you <em>have</em> to have &#8216;scrum&#8217;, or &#8216;XP&#8217; to do that, the greatness I guess, is orthogonal. However if you are looking to &#8216;do agile&#8217;, then <em>do agile</em>. Pick a method like Scrum or XP then do it all. How do you know pair programming will fail in your organisation if you don&#8217;t try it first? You don&#8217;t. Do it like it says to do it (e.g. the Kent Beck books) and after a few months experience for your team, use the lessons from the retrospectives that the team has discovered to improve the process. <em>Do not cripple the process with your &#8216;context&#8217; before you even try</em>.</p>
<p>And right on cue, on the second day along comes <a href="http://steve.cogentconsulting.com.au/" target="_blank">Steve Hayes</a> with a <em>great</em> presentation on exactly this topic: &#8220;How your choices affect your agility&#8221;. Steve is a fantastic speaker, entertaining and pretty insightful too I thought. I rated his talk the best talk of the conference. He said he got lots of red cards (participants could rate each talk as green==good, yellow==ok, red==bad) in his Sydney session &#8211; <em>what is the matter with your people</em>? It was a great talk. I loved the part about <em>naivety</em>. To propose a solution from the most naive perspective possible, and  what an <em>epic win </em>it is when a customer says &#8220;ok&#8221;! It means I understand the problem! I even tried this today with my client, I didn&#8217;t get the instant &#8220;OK&#8221; but working from the basis of that incredibly naive solution we did manage to eventually envisage <em>the simplest thing that could possibly work.</em> And I love that. So thanks tons for that insight, Steve!</p>
<p>Another great talk on the second day was <a href="http://www.lindarising.org/" target="_blank">Linda Rising&#8217;s</a> &#8216;Deception and Estimation&#8217; talk. Turns out (via psychology and evolutionary biology) we engage not in <em>rational</em> decision making but in <em>emotional</em> choices <em>all the time</em>. All choice is emotional. So we engage ourselves in self-deception <em>all the time</em>. And none of this is <em>bad</em> &#8230; <em>it&#8217;s good</em>. People who don&#8217;t engage in this constant self-deception are generally clinically insane. So get over it, and yourself, and when you&#8217;re estimating (and from the sounds of it, doing any sort of major-impact decision making) and get as <em>many perspectives as you can</em> from the most diverse range of people you can manage (to avoid <em>groupthink</em>, which is I guess, the situation where everyone&#8217;s self-deceptions all align). <a href="http://en.wikipedia.org/wiki/Joshua_Bloch" target="_blank">Joshua Bloch&#8217;s</a> second-day keynote was also highly worthy of praise. Good insight and excellent effective code examples (yes, in a <em>keynote</em>). Also worth the greatly discounted entry ticket price was the many interesting conversations I had with past colleagues and new friends on many different development issues.</p>
<p>In short, JAOO was generally of very high quality and I hope is keeps coming to Brisbane! Will definitely be going next year. Many thanks to all the organisers, presenters and sponsors.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/05/13/jaoo-brisbane-2009-highlights-and-thoughts/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>I&#8217;m not making this mess anymore!</title>
		<link>http://www.crazymcphee.net/x/2009/03/17/im-not-making-this-mess-anymore/</link>
		<comments>http://www.crazymcphee.net/x/2009/03/17/im-not-making-this-mess-anymore/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 12:14:48 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[professional practice]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[craftsmanship]]></category>
		<category><![CDATA[emergent design]]></category>
		<category><![CDATA[profession]]></category>
		<category><![CDATA[refactor]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[test driven design]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=236</guid>
		<description><![CDATA[XP: After 10 years why are we still talking about it? By Robert C. Martin. Uncle Bob argues passionately, and correctly, for the principles of software craftsmanship. Link: http://www.viddler.com/explore/sergiopereira/videos/7/.]]></description>
			<content:encoded><![CDATA[<p>XP: After 10 years why are we still talking about it? By Robert C. Martin. Uncle Bob argues passionately, and correctly, for the principles of software craftsmanship.</p>
<p><object width="437" height="370" data="http://www.viddler.com/player/ef4eb06a/" type="application/x-shockwave-flash"><param name="id" value="viddler_ef4eb06a" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.viddler.com/player/ef4eb06a/" /><param name="name" value="viddler_ef4eb06a" /><param name="allowfullscreen" value="true" /></object></p>
<p>Link: <a href="http://www.viddler.com/explore/sergiopereira/videos/7/"> http://www.viddler.com/explore/sergiopereira/videos/7/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/03/17/im-not-making-this-mess-anymore/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introduction to XP by Jason Yip</title>
		<link>http://www.crazymcphee.net/x/2009/03/14/introduction-to-xp-by-jason-yip/</link>
		<comments>http://www.crazymcphee.net/x/2009/03/14/introduction-to-xp-by-jason-yip/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 14:01:47 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[professional practice]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=233</guid>
		<description><![CDATA[This is a set of the slides for a presentation introducing Extreme Programming and Agile by Jason Yip. It&#8217;s pretty good explanation of agile development principles. An Introduction to XP and Agile View more presentations from Jason Yip.]]></description>
			<content:encoded><![CDATA[<p>This is a set of the slides for a presentation introducing Extreme Programming and Agile by Jason Yip. It&#8217;s pretty good explanation of agile development principles.</p>
<div id="__ss_1129944" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="An Introduction to XP and Agile" href="http://www.slideshare.net/jchyip/an-introduction-to-xp-and-agile?type=powerpoint">An Introduction to XP and Agile</a><object width="425" height="355" data="http://static.slideshare.net/swf/ssplayer2.swf?doc=introductiontoxpagile-090311173422-phpapp01&amp;stripped_title=an-introduction-to-xp-and-agile" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=introductiontoxpagile-090311173422-phpapp01&amp;stripped_title=an-introduction-to-xp-and-agile" /><param name="allowfullscreen" value="true" /></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/jchyip">Jason Yip</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/03/14/introduction-to-xp-by-jason-yip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Achieving high velocity</title>
		<link>http://www.crazymcphee.net/x/2009/03/08/achieving-high-velocity/</link>
		<comments>http://www.crazymcphee.net/x/2009/03/08/achieving-high-velocity/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 06:40:31 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[professional practice]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[process improvement]]></category>
		<category><![CDATA[profession]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[test driven design]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=215</guid>
		<description><![CDATA[Sprint to the lead in your industry &#8211; and stay there! So says the back of the dust cover on Chasing The Rabbit: How market leaders outdistance the competition and how great companies can catch up and win by Steven J Spear (McGraw Hill, New York, 2009). I referenced this book last week in my [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Sprint to the lead in your industry &#8211; and stay there!</p></blockquote>
<p>So says the back of the dust cover on <em>Chasing The Rabbit: How market leaders outdistance the competition and how great companies can catch up and win</em> by Steven J Spear (McGraw Hill, New York, 2009). I referenced this book last week in my post <a href="http://www.crazymcphee.net/x/2009/03/01/let-it-fail-then-learn-to-succeed/" target="_self">&#8216;Let it fail then learn to succeed&#8217;</a> which is about using failure as a signal for process improvement.</p>
<p>It&#8217;s a great book. Obviously it is not addressed directly to software development, and as I said, Spear covers its application in a range of different settings, including engineering and health-care as well as manufacturing. There&#8217;s a distinct lack of focus on the buzzwords <em>kanban</em>, <em>kaizen</em>, and <em>just-in-time</em>, all of which Spear says are merely artifacts of a deeper underlying approach that he proceeds to illustrate extremely well in the course of the book.</p>
<p>The approach might be illustrated by the asking of some fairly simple questions: &#8216;What did you do?&#8217;, &#8216;What happened then?&#8217;, &#8216;What did you expect to see?&#8217;, &#8216;Was it successful?&#8217;, &#8216;What did you do to correct it?&#8217;, &#8216;What did you learn?&#8217; (my list is not exhaustive). Spears characterises it as:</p>
<blockquote><p>&#8230; a systematic approach to designing and operating systems, a simple set of rules for problem solving and improvement, a clear way to share learning, and a well-defined role as a manager. (p 358)</p></blockquote>
<p>More formally, the organisation exhibiting these qualities shows two characteristics and four capabilities.</p>
<p>Two characteristics:</p>
<ol>
<li><em>Managing the functions as parts of the process.</em> A high-velocity organisation orientates its processes away from functional &#8216;silos&#8217; (without ignoring the necessary competency of individual functions), and towards &#8220;the way the work of individuals, teams and technologies will contribute to (or impede) the process of which they are part&#8221; (p 20). For example, Spear describes his own experience while at Toyota: he is asked what a particular factory he is being trained at makes. At first he interviews the management of the factory, and returns with a list, only to be told he doesn&#8217;t really know. Then he looks at invoices of the shipped items, which is still said to be wrong. In response to this, he examines what the receiving factory actually paid for, but he is still told he doesn&#8217;t know what the factory makes. Finally, he stands at the shipping dock, as as each shipment was sent out, ignoring the shipping label, took a note of the part number stamped onto the part. Then he checked that the factory actually possessed the die for stamping the part number. In response, he was told; &#8220;Well, that&#8217;s probably not wrong. But I have another question: How are these parts made?&#8221; (p 280).</li>
<li><em>Continually improve the pieces and the process.</em> High-velocity organisations are always learning about all the work they do. Workarounds, tolerating problems, putting out fires, and heroic efforts are simply not tolerated. Every time you have to put out a fire, or devise a workaround, or engage in a heroic measure to get work done, you&#8217;ve found a process problem that should be eliminated. Your highest priority isn&#8217;t engaging in the workaround, or performing heroic efforts of late-night last-minute production delivery effort. Your highest priority, and that of your management, is swarming the problem to fix the <em>process</em> that led to the situation. Doug South described it to me as &#8220;not tolerating things&#8221;. Instead you should fix their <em>causes</em> rather than developing a workaround to the immediate problem.</li>
</ol>
<p>Four capabilities:</p>
<ol>
<li><em>Specifying design to capture existing knowledge and building in tests to reveal problems.</em> Make explicit the most effective approach currently known to you to successfully achieve the task. Make sure that the approach has the capacity to detect failure as soon as it occurs. You need to be sure what outcomes you expect, not from a &#8220;perverse Taylorism&#8221; (p 23) but as an investment. By specifying expectations, you can more easily capture when something unexpected happens &#8211; that is, what the gaps in your current knowledge are. Go out of your way to build in these tests. Alcoa for example, focused exclusively on improving safety &#8211; with the goal of zero injuries, because this &#8220;meant perfect processes based on perfect knowledge of how to do work&#8221; (p 94). The test therefore, was the occurrence of workplace accidents. When an accident occurred, it highlighted a dangerous ignorance, and had to be rectified.</li>
<li><em>Swarming and solving problems to build new knowledge.</em> When you encounter problems, at the time and place of the encounter, the problem should be swarmed. Contain the problem to prevent it from spreading. Diagnose and treat the cause so the problem cannot reoccur. Problem-solving skills are built by solving actual problems, and those doing the work are responsible for improving the process by which the work is done.  Doing this will allow you to &#8220;build ever-deeper knowledge about how to manage the systems for doing [your] work, converting inevitable up-front ignorance into knowledge&#8221; (p 24). For example, at Alcoa, it was made a rule that business-unit presidents had to not only inform the Alcoa CEO within 24 hours of an injury or injury near-miss, &#8220;but within two days they had to report what the initial investigation had revealed about its causes and what was being done to prevent the problem from recurring&#8221; (p 96). This ensured a discipline, a warp-speed cycle involving real-time problem recognition, diagnosis and treatment.</li>
<li><em>Sharing new knowledge throughout the organisation.</em> It&#8217;s not just that <em>you</em> learn. It&#8217;s that the <em>entire organisation</em> learns. Toyota did this for a joint-venture plant it created with General Motors. Toyota&#8217;s approach was a one-variable-at-a-time tuning. The American plant would make an existing model and not an all-new car. Rather than creating an entirely new plant, or swarming the old GM plant with Toyota managers, it took newly hired American managers and coached them in the Toyota way. They didn&#8217;t just drop them into the plant. They first made similar products (Corollas) at a Toyota plant. Then they went back to the American plant and Toyota gave the new managers continuous support from Japanese experts. The joint-venture plant was far more successful than the old General Motors plant it replaced. In 2003, in order to be abale to accelerate organisational learning, Toyota created the Global Production Center, which was staffed with experienced cadres of trainers in areas identified as critical to production success. They developed standardised practice equipment and had other groups test the new equipment to identify problems with it. And because these practices are orientated around the <em>discovery</em> of solutions via practical experimentation, and rapid cycles of concepts and validaty testing, they can &#8220;smoothly converge on solutions that were agreeable across disciplines&#8221; (p 253). Having done all this, it shared it&#8217;s newfound knowledge with representatives from factories around the world, and trained managers and group-leaders who were setting up a similar centre for Toyota&#8217;s North American operations. Just as important as creating new knowledge and sharing information about particular capabilities, it&#8217;s just as critical to spread <em>problem-solving capability</em> throughout the organisation.</li>
<li><em>Leading by developing the first three capabilities.</em> Managers are not there to measure, berate, and exhort their workers in a command-and-control environment. The role of management is to ensure their organisation becomes &#8220;ever more self-diagnosing and self-improving, skilled at detecting problems, solving them, and multiplying the effect by making the solutions available throughout the organisation&#8221; (p 26). The process of finding out what the plant made which I outlined above was part of learning this fourth capability by observing a system at four levels &#8211; output, pathways, connections and activities.</li>
</ol>
<p>At the end of the book is an illuminating conversation about golf. Now personally I can&#8217;t stand golf but I suppose lots of middle-aged businessmen do, and the conversation was about the simplicity of the game. Despite protestations about bunkers, traps, and hazards, roughs and fast greens, and how difficult it really is, in the end it&#8217;s actually a simple game with very simple rules. <em>Keep hitting the ball with a club until you get it into the hole</em>. Simple rules that require a <em>lot</em> of practice to do it right. And like golf, making your organisation high-velocity might run with a fairly simple set of rules, but they require a great deal of practice at the various skills needed to make it happen.</p>
<p>That gives a general overview of the content of the book. It&#8217;s written in a very accessible style which communicates the essential concepts very well without trivialising them. If you are a software developer who is interested in thinking about development process, and general business process, then I definitely recommend this book. Sometime in the next few weeks I will try to produce a further post relating some of these specific concepts that Spear has identified and apply them to software development process. In the meantime, buy and read this book.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/03/08/achieving-high-velocity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile primer for business people</title>
		<link>http://www.crazymcphee.net/x/2009/03/07/agile-primer-for-business-people/</link>
		<comments>http://www.crazymcphee.net/x/2009/03/07/agile-primer-for-business-people/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 00:31:16 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[professional practice]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=218</guid>
		<description><![CDATA[Here is a primer for business people wanting to know what all the terminology in Agile means to them: What You Need To Know About Agile (PDF). It maps the various agile practices like TDD, Iterative Development, Retrospectives, Backlog, Continuous Integration, User Stories and so forth onto common business categories like Increased Quality, Process Visibility, [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a primer for business people wanting to know what all the terminology in Agile means to them: <a href="http://www.ternarysoftware.com/pages/downloads/WhatYouNeedToKnowAboutAgile.pdf" target="_blank">What You Need To Know About Agile</a> (PDF).</p>
<p>It maps the various agile practices like TDD, Iterative Development, Retrospectives, Backlog, Continuous Integration, User Stories and so forth onto common business categories like Increased Quality, Process Visibility, Repeatable Process, <em>et cetera</em>, in other words, shows you what sort of business issue each agile practice is aimed towards. I don&#8217;t think it&#8217;s perfect (veers off to a house-building metaphor, for example, which I don&#8217;t think is completely successful). It doesn&#8217;t also contain a section explaining the overall reasons and philosophy for Agile development. However for a manager who is thinking about Agile, and is confused about some of the jargon they&#8217;ll hear from experienced agile practitioners, it does a strong enough job at mapping the practices onto traditional process management categories for me to recommend its reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/03/07/agile-primer-for-business-people/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let it fail then learn to succeed</title>
		<link>http://www.crazymcphee.net/x/2009/03/01/let-it-fail-then-learn-to-succeed/</link>
		<comments>http://www.crazymcphee.net/x/2009/03/01/let-it-fail-then-learn-to-succeed/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 07:00:51 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[professional practice]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[profession]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[test driven design]]></category>
		<category><![CDATA[test first]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=208</guid>
		<description><![CDATA[On the scrum development mailing list, Dave Nicollette recommended shortening sprint length until it failed, then backing up one step: &#8220;Oh, my God! You&#8217;re going to let a sprint fail, just so you can determine the optimum length?&#8221; Yes. In other words, failure lets you learn your limits. But more importantly, as suggested here, is [...]]]></description>
			<content:encoded><![CDATA[<p>On the <a href="http://groups.yahoo.com/group/scrumdevelopment/" target="_blank">scrum development mailing list</a>, Dave Nicollette recommended shortening sprint length until it failed, then backing up one step:</p>
<blockquote><p>&#8220;Oh, my God! You&#8217;re going to let a sprint fail, just so you can determine the optimum length?&#8221; Yes.</p></blockquote>
<p>In other words, failure lets you learn your limits. But more importantly, as suggested here, is that failure can be <em>deliberately introduced</em> in order to <em>improve the process</em> &#8211; to decrease your limitations. I would say, for an organisation committed to process optimisation, you should shorten the sprint until it fails, but rather than just <em>accepting</em> that limit, learn <em>why</em> it fails and then experiment with optimising it until it succeeds. Let me explain.</p>
<p>Courtesy of a tip from <a href="http://trontos.com/dsouth/blog/" target="_blank">Doug South</a> at the <a href="http://groups.google.com/group/Brisbane-XP" target="_blank">Brisbane XP user&#8217;s group</a>, I&#8217;m nearly finished reading a book at the moment, <em>Chasing the Rabbit</em> by Steven J. Spear of MIT and formerly of Harvard. The book&#8217;s full title is <em>Chasing The Rabbit: How market leaders outdistance the competition and how great companies can catch up and win</em>. It&#8217;s a business book that describes the essential feature of successful companies such as Toyota and the Toyota Production System.</p>
<p>Before you roll your eyes and think I&#8217;m just another one of these lean software guys who&#8217;s about to rave over <em>kanban</em>, <em>kaizen</em>, and <em>just-in-time</em>, and applying manufacturing production-line process, possibly inappropriately, to the professional practice of software development, let me assure you I&#8217;m not. Neither does Spear. Basing his book on years of hands-on research into these high-velocity organisations (including time spent actually working on real production lines) he characterises <em>kanban</em> and friends as merely an <em>artifact</em> of a deeper philosophy towards building a successful company. In some ways its breathtaking simple, although hard to practice. The theme of the book is <em>discovery</em>.</p>
<blockquote><p>The factory was not only a place to to produce physical products, it was also a place to learn <em>how</em> to produce those products and &#8211; most important of all &#8211; it was a place to <em>keep</em> learning how to produce those products. In fact, this is exactly what so much of the early research about Japanese management had revealed &#8211; that learning and discovery were intrinsic to success. But that idea had gotten lost as people focused on the particular tools and artifacts used in the workplace at the expense of understanding the principles of how those systems where managed. (p 15).</p></blockquote>
<p>These companies don&#8217;t <em>succeed</em> or <em>fail</em>. They <em>succeed</em> or <em>learn to succeed</em>.</p>
<p>Now it is of course slightly more complex that just that. There are two characteristics and four capabilities that high-velocity organisations exhibit. The four capabilities are:</p>
<ol>
<li>Specifying design to capture existing knowledge and building in tests to reveal problems.</li>
<li>Swarming and solving problems to build new knowledge.</li>
<li>Sharing new knowledge throughout the organisation.</li>
<li>Leading by developing the first three capabilities.</li>
</ol>
<p>Now these capabilities can be developed &#8211; in different manifestations &#8211; in any sort of process, not just production-line processes. Spear shows it in action in health-care, in nuclear engineering, in aluminium production, and of course automotive production. I&#8217;ll into further detail perhaps in a later post. Here I&#8217;m going to discuss a simple example illustrating not just capability 1, in which a process not only captures knowledge but has built-in tests, and also capability 2, involving problem solving and process improvement, where the process is tested to failure, in order to reveal what knowledge is missing about the process.</p>
<p>In the book he describes a mattress factory, Aisin, that, after a long capability improvement process ends up with two production lines each capable of making (e.g.) 100 units a day to custom order. On some given day, imagine they have a requirement to make say 180 units. Rather instead of running one line at 100 the other at 80, or both at 90 units, they will instead <em>deliberately</em> overload one of the lines (e.g. ramp it to 110 or 120 units) in order to discover the process failure modes (that is, the process&#8217;s bottlenecks) so as to to improve them. They already know how to make 100 units a day. They can learn more about their process if they try to make 120. The reason they do this on days of lighter loading, is that the can use the unstressed production line as a back up, if the test was too stressful for the line under test.</p>
<p>Experienced software engineers might recognize this <em>stress testing</em> from their performance testing toolkit. Loading a software system to the point of failure is one quick way to learn where a system&#8217;s bottlenecks are, and what to do about eliminating them, and thus making your software architecture more efficient, and discovering new knowledge about how your architecture performs and what needs to change.</p>
<p>The point is of course, I&#8217;m not talking about stress testing <em>software</em>. I&#8217;m talking about stress testing software development <em>methodology</em> so you can discover what you don&#8217;t already know about your process, and therefore improve it. I don&#8217;t mean, just arbitrarily place more demands on your software teams to produce more with less. That&#8217;s just the most retarded type of management-by-objective.</p>
<p>Think about all the moving parts in your development process. What do you know about them? What do you assume? What do you just take for granted? How much do your team members know about the process? Can they identify problems and propose solutions? Do they need to learn that capability? Where are your failure modes? Do you just accept them, and perform a work around, or do you understand them as signals to elicit further discovery about the things you don&#8217;t understand about the process?<em> Embrace failure</em>. In fact, actively seek it out. Use it an opportunity to discover unknown information about your business and to improve your team&#8217;s skills.</p>
<p><em>Chasing The Rabbit</em> is a great book, highly recommended that all software development practioners read it, and special thanks to Doug for bringing it to my attention.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/03/01/let-it-fail-then-learn-to-succeed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scrum methodology</title>
		<link>http://www.crazymcphee.net/x/2009/01/29/scrum/</link>
		<comments>http://www.crazymcphee.net/x/2009/01/29/scrum/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 02:33:12 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[professional practice]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[profession]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=99</guid>
		<description><![CDATA[In my personal development preferences, I&#8217;ve been a keen proponent of XP (eXtreme Programming) for quite a few years, from when I first learnt about it, and started using it, in the early part of this decade. Since that time I&#8217;ve been generally, an Agilist, but I always tried to align my own programming with [...]]]></description>
			<content:encoded><![CDATA[<p>In my personal development preferences, I&#8217;ve been a keen proponent of XP (eXtreme Programming) for quite a few years, from when I first learnt about it, and started using it, in the early part of this decade. Since that time I&#8217;ve been generally, an Agilist, but I always tried to align my own programming with the practices of XP.</p>
<p>The past couple of years though I&#8217;ve been thinking about how Agile engages with the management culture of Australian firms.  One thing I&#8217;ve been trying to grapple with is the perception of XP as a &#8216;developer culture&#8217; &#8211; from outside it&#8217;s typically seen as geekdom infinity raised to the power of nerd, times <em>pi</em> + the square root of two. In other words, management really perceives the XP practices and disciplines as part and parcel of the software developer&#8217;s particularly obtuse culture. They don&#8217;t like it, they don&#8217;t understand it; therefore they fear it (typical of the conservative Australian corporate culture if you ask me). But what to do about it?</p>
<p>All this was brought to a head last night, when I attended the <a title="Brisbane Scrum user group on meetup" href="http://www.meetup.com/Scrummaster/" target="_blank">Brisbane Scrum user group</a> meeting. I went to the first meeting (very well attended) and this was my first follow up meeting (Unfortunately I missed <a title="Dave Thomas" href="http://www.davethomas.net/" target="_blank">Dave Thomas</a> of <a title="Bedarra Labs" href="http://www.bedarra.com/" target="_blank">Bedarra Labs</a> in the December meeting due to unavoidable circumstances). Last night was a presentation by <a title="Meetup details Brisbane Scrum user group 28 Jan 2009" href="http://www.meetup.com/Scrummaster/calendar/9271878/" target="_blank">Martin Kearns</a> of Renewtech in Melbourne. He was presenting the results of the Australian Scrum Survey.</p>
<p>As discussion ensued regarding the state of Scrum versus the other agile methods. There is some fear and loathing amongst the developer community regarding Scrum. I believe this is due to a single factor. The <a title="Scrum Alliance" href="http://www.scrumalliance.org/" target="_blank">Scrum Alliance</a> is quite open about engaging with the <a title="Project Management Institute" href="http://www.pmi.org" target="_blank">PMI (Project Management Institute)</a> and other &#8220;mainstream&#8221; project management organisations. Now developers, generally (and often rightfully) fear this type of &#8220;suit culture&#8221; &#8211; the suit-and-tie, project managed, management-reporting, Prince II, ISO9000, driven culture of the MBA. And Scrum is trying to talk to these people! Therefore, the Scrum Alliance is these people. Well such a misconception is ill-founded in my view. Philosophically, in my opinion such a  view is akin to the &#8220;pure but powerless&#8221; view that people often take in relation to politics. In my experience, it is trivially easy to convince a developer of the benefits of agile methodologies. And even though agile is focused on <em>delivering real business value</em> to the customer, it&#8217;s much harder to break through <em>organisational</em> inertia to have agile methodologies accepted by the &#8220;business&#8221; &#8211; the customer &#8211; and practiced in a really healthy way.</p>
<p>The eXtreme Programming &#8220;brand&#8221; just doesn&#8217;t really help. Even my wife, when she saw the title of one of the Kent Beck  books I had put into our new big bookshelf, made some joking comment about &#8220;<em>to the eXXXXXttttrrrreeeeemmmmeee!</em>&#8220;. You know, <em>dude</em>, four guys snowboarding off the top of a Nissan Xtrail down some <em>gnarly</em> 300 metre vertical drop with a can of <em>Pepsi Max</em> in one hand and the rock-and-roll &#8220;<em>devil&#8217;s horn</em>&#8221; sign on the other, all <em>cranking</em> to some <em>totally bitchin&#8217;</em> death metal soundtrack, I mean, <em>totally sick mate</em> &#8211; or some parody of same off The Simpsons. And it&#8217;s also really not productive to have a thousand businesses describe themselves as &#8220;agile&#8221; or &#8220;lean&#8221; when what they really mean they&#8217;re under-resourced, focussed purely on flogging the team to meet spurious deadlines, committed to fixed-price-and-feature outcomes, and generally planning-light and <em>completely</em> quality-adverse. We need to lift our game so these cowboys are seen as such by the <em>business</em> community.</p>
<p>Scrum, in my view, has the best game plan of all the agile methods to break down this conservative reaction to agility and achieve some real results.</p>
<p>In short, then, I&#8217;m looking at spending my own money on a <a title="CSM courses for Australia, Feb/Mar 2009" href="http://www.scrum.com.au/2009/01/20/februarymarch-public-certified-scrummaster-courses-in-australia" target="_blank">Certified Scrum Master course</a> sometime over the next month in Brisbane and continuing my journey in Agile on the Good Ship Scrum.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/01/29/scrum/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

