<?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>AgileKiwi</title>
	<atom:link href="http://www.agilekiwi.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.agilekiwi.com</link>
	<description>The neglected essentials of software development</description>
	<lastBuildDate>Sat, 23 Mar 2013 19:52:29 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Agile with Fixed Scope</title>
		<link>http://www.agilekiwi.com/earnedvalue/agile-with-fixed-scope/</link>
		<comments>http://www.agilekiwi.com/earnedvalue/agile-with-fixed-scope/#comments</comments>
		<pubDate>Sat, 23 Mar 2013 00:05:39 +0000</pubDate>
		<dc:creator>John Rusk</dc:creator>
				<category><![CDATA[Agile Software Development]]></category>
		<category><![CDATA[Earned Value Management]]></category>

		<guid isPermaLink="false">http://www.agilekiwi.com/?p=847</guid>
		<description><![CDATA[It’s a common misconception that agile processes can’t be used with fixed scope.  But a misconception is exactly what it is.   A number of the founders of the agile movement developed their forms of agile on fixed-scope projects. As I write this, I’m working myself on an 18-month project with about 20 people and a [...]]]></description>
				<content:encoded><![CDATA[<p>It’s a common misconception that agile processes can’t be used with fixed scope.  But a misconception is exactly what it is.   A number of the founders of the agile movement developed their forms of agile <em>on fixed-scope projects.</em> As I write this, I’m working myself on an 18-month project with about 20 people and a fixed(ish) scope (see below).  So it can be done.  But how?</p>
<p>There are several different strategies you can use:</p>
<h2>Strategy 1: Fix the scope and flex the price</h2>
<p>This keeps scope management very simple, you just build all of it.  The catch is it may take longer than you expected, so you may need to flex the price through a time-and-materials contract or some kind of <a href="http://www.agilekiwi.com/estimationandpricing/target-cost-contracts/">sharing of financial risk</a>.  Understandably, this risk of cost overruns renders this simple approach unsuitable in many environments.</p>
<h2>Strategy 2: Work in priority order and stop when the money runs out</h2>
<p>(Admittedly, this is not exactly <em>fixed</em> scope.) This is very commonly recommended on agile projects, <a href="http://www.agilekiwi.com/estimationandpricing/cutting-scope-is-not-the-whole-answer/">too commonly in my opinion</a>.  But again, it has the virtue of being relatively simple.  Do the most beneficial stuff first, leaving the least beneficial until last.  When the money runs out, just stop and don’t do the rest.  Agile makes this approach possible – but not mandatory.</p>
<h2>Strategy 3: Implement remaining features more simply when short of time</h2>
<p>There are many factors that influence the effort required to develop a feature (or user story, depending on your terminology).  Some of those factors are probably under your control: e.g. How extensive is the validation? How much effort do we put into optimising the user experience (UX) and appearance?  Do we fully automate everything, or do we allow manual overrides so we don’t have to code every single  edge case?  Can we think of something that would save development time, and still meet the overall business goal (albeit in a different way from what was originally expected)?</p>
<p>If you are using good <a href="http://www.agilekiwi.com/earnedvalue/resources/">earned value tracking</a> you should know, <em>within the first quarter of the project</em>, whether you are likely to run out of time at the end.  Once you find that out, immediately start seizing all these opportunities to simplify the remaining 75% of the project.  And, because you have good earned value tracking, you can <em>justify</em> the simplifications to your stakeholders.  The aim is to deliver all of the planned <em>business benefits</em>, just with simpler implementations than might have been originally expected.</p>
<p>We’re using a variant of this strategy on my current project.  We built the highly-used parts of the system first, taking a lot of care with their appearance and usability. The second half of the project consists of functionality that is much less commonly used, so here usability and appearance are much less important. (If it takes a user a few extra minutes to do something, it doesn’t really matter if they only do that thing a few times each year.) So for the second half of the project, we have consciously shifted our design approach away from ease of use, and towards simplicity of implementation.  Because we were using earned value-like tracking, we can justify this change of approach to users and management.</p>
<h2>Strategy 4: Split each feature (or user story) into essential and nice-to-have parts</h2>
<p>This a refinement of the previous strategy. Right from the start of the project, you split features/user stories into two pieces: an essential minimum piece, which you implement early, and nice-to-have embellishments (such as advanced data validation or visual styling) which you defer to the tail end of the project.  If you run out of time, you drop some of the embellishments from the tail, and still deliver a working system with the full scope of capability/functionality.</p>
<h2>Strategy 5: Make multiple passes over each story, doing the basics first and then improving it later</h2>
<p>Similar to strategy 4, but you may “visit” a given user story 3 or more times within the project, instead of just twice as in Strategy 4.  I like this in theory, but in practice I think it’s too hard to used earned value or burn-chart tracking in this strategy.  Whereas in strategy 4, I feel that earned value remains (just) feasible.</p>
<p>[Tim Wright's comment,  below, gives more details on how this strategy can be done]</p>
<h1>Summary</h1>
<p>The last three strategies are all variations on a theme. Within a single project, you may use several of them, and maybe also resort to strategy 2 for a few user stories.</p>
<p>I recently heard the phrase “value management” to describe the work of deciding not only what to build, but also how simply or thoroughly to build it  The aim is to meet the business goals with the optimal expenditure of effort – i.e. do what needs to be done, without overspending on superfluous details.</p>
<h1>Further Reading</h1>
<p>All of the following are excellent.</p>
<p>Alistair Cockburn’s <a href="http://alistair.cockburn.us/Design+as+Knowledge+Acquisition">Trim the Tail</a>.  A rich explanation of the theory and practice of strategies 4 and 5, with significant additional benefits in risk management.</p>
<p>Alistair’s <a href="http://alistair.cockburn.us/The+A-B+work+split,+feature+thinning+and+fractal+walking+skeletons/v/slim">list of related strategies</a>.</p>
<p>Jeff Patton’s concept of Feature Thinning: Jeff’s a leading practitioner of Strategy 5. See: <a href="http://www.stickyminds.com/sitewide.asp?ObjectId=10330&amp;Function=DETAILBROWSE&amp;ObjectType=COL&amp;sqry=%2AZ%28SM%29%2AJ%28COL%29%2AR%28createdate%29%2AK%28colarchive%29%2AF%28%7E%29%2A&amp;sidx=31&amp;sopp=10&amp;sitewide.asp?sid=1&amp;sqry=%2AZ%28SM%29%2AJ%28COL%29%2AR%28createdate%29%2AK%28colarchive%29%2AF%28%7E%29%2A&amp;sidx=31&amp;sopp=10">Finish on time by managing scale</a>, <a href="http://www.stickyminds.com/sitewide.asp?Function=edetail&amp;ObjectType=COL&amp;ObjectId=13178&amp;tth=DYN&amp;tt=siteemail&amp;iDyn=2">Difference between incremental and iterative</a>, <a href="http://www.agileproductdesign.com/blog/acurate_estimate_red_herring.html">Accurate estimation = red herring</a>  Jeff has often used these techniques on fixed-scope, fixed-price projects.</p>
<p>Description from an agile company called Atomic Object, of how they operate with fixed budget and controlled (rather than fixed): <a href="http://spin.atomicobject.com/2011/04/27/fixed-budget-fixed-scope-high-quality-custom-software/">here</a> and <a href="http://spin.atomicobject.com/2011/03/22/time-and-materials-is-dead/">here</a>.</p>
<p>Martin Fowler’s <a href="http://martinfowler.com/bliki/ScopeLimbering.html">Scope Limbering</a></p>
<p>The opening section my my own <a href="http://www.agilekiwi.com/EarnedValueForAgileProjects.pdf">agile earned value (pdf</a>) has more info on why fixed scope is a valid option in agile.</p>
<p>I’ve also posted a summary of <a href="http://www.agilekiwi.com/estimationandpricing/estimation-summary-for-agile-projects-nov-2011/">estimation tips for agile projects</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilekiwi.com/earnedvalue/agile-with-fixed-scope/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>QBS and Novopay</title>
		<link>http://www.agilekiwi.com/estimationandpricing/qbs-and-novopay/</link>
		<comments>http://www.agilekiwi.com/estimationandpricing/qbs-and-novopay/#comments</comments>
		<pubDate>Tue, 19 Mar 2013 19:32:16 +0000</pubDate>
		<dc:creator>John Rusk</dc:creator>
				<category><![CDATA[Estimation and Pricing]]></category>

		<guid isPermaLink="false">http://www.agilekiwi.com/?p=820</guid>
		<description><![CDATA[Here in NZ, we&#8217;ve had a lot of press recently a Novopay, which is a system to pay school teachers that has suffered from significant, embarrassing (and very widely-publicised) problems. I was recently asked to write an article on the subject for the Institute of IT Professionals (IITP), explaining how I believe the emphasis on [...]]]></description>
				<content:encoded><![CDATA[<p>Here in NZ, we&#8217;ve had a lot of press recently a Novopay, which is a system to pay school teachers that has suffered from significant, embarrassing (and very widely-publicised) problems.</p>
<p>I was recently asked to write an article on the subject for the Institute of IT Professionals (IITP), explaining how I believe the emphasis on price, in tender evaluation, is probably a significant root cause of such failures &#8211; and how there is a much better way to structure tenders.  The article seems to have been very well received &#8211; with one (male) reader even going so far as to tweet, &#8220;Who is John Rusk and can I have his babies?&#8221;  (Which is both the best and the weirdest feedback I&#8217;ve ever received!) <span id="more-820"></span></p>
<p>The article is here: <a href="http://www.iitp.org.nz/newsletter/article/416">Price-based tendering to blame for Novopay?</a>  Make sure to read the comment at the bottom from Cain Duell, which describes a common objection to my argument, and my reply which covers important stuff that didn&#8217;t make it to the original article.  (Acknowledgement: some of my reply to Cain&#8217;s question was inspired by an excellent chapter in Steve McConnell&#8217;s book Software Estimation.)</p>
<p>A couple of small extracts:</p>
<blockquote><p>Make the vendors compete, then lock the winner into their quoted price. That&#8217;s [the presumed] recipe for success.</p>
<p>But it&#8217;s a lie. After 15 years on the inside [of bid preparation], I know it&#8217;s a lie. In the industry, we all know. But we dare not say, because our sales and livelihoods depend on playing by the rules of the game; no matter how flawed that game might be.</p>
<p>&#8230;If you get a bunch of bids within 10% of your budget, it doesn&#8217;t mean that expert estimators agree with your budget, but merely that expert sales people have discovered it.</p></blockquote>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilekiwi.com/estimationandpricing/qbs-and-novopay/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alistair Cockburn in Wellington</title>
		<link>http://www.agilekiwi.com/other/news/alistair-cockburn-in-wellington/</link>
		<comments>http://www.agilekiwi.com/other/news/alistair-cockburn-in-wellington/#comments</comments>
		<pubDate>Sun, 03 Mar 2013 08:14:21 +0000</pubDate>
		<dc:creator>John Rusk</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.agilekiwi.com/?p=809</guid>
		<description><![CDATA[If you work in Wellington, NZ, you have an opportunity this month which may not come your way again for a long time. Alistair Cockburn, one of my all-time agile heroes, is visiting in Wellington.&#160; Not only is he speaking at the Agile NZ conference, and running courses before and after the conference, but he’s [...]]]></description>
				<content:encoded><![CDATA[<p>If you work in Wellington, NZ, you have an opportunity this month which may not come your way again for a long time. Alistair Cockburn, one of my all-time agile heroes, is visiting in Wellington.&#160; Not only is he speaking at the <a href="http://www.agilenz.co.nz/">Agile NZ conference</a>, and running <a href="http://www.assurity.co.nz/community/news-and-events/alistair-cockburn-in-new-zealand/">courses</a> before and after the conference, but he’s available for half-day, full-day or multi-day consultation at your workplace.</p>
<p>Alistair has a great approach to&#160; agile, extremely well-informed without becoming dogmatic.&#160; I’ve described more about his approach to agile, and how important it is, <a href="http://www.agilekiwi.com/other/agile/faith-doubt-and-evidence-agile-as-religion-versus-agile-as-social-science/">here</a>.&#160; When you talk with Alistair, he makes you think – and he also makes himself think (so you get advice tailored to <em>your</em> particular situation).&#160; At the risk of sounding like some book’s dust jacket: Alistair is co-author of the <a href="http://agilemanifesto.org/">Agile Manifesto</a>, co-author of the <a href="http://en.wikipedia.org/wiki/PM_Declaration_of_Interdependence">Declaration of Interdependence</a> (great idea), co-founder of the <a href="http://www.icagile.com/">International Consortium for Agile</a> (I really like their approach to agile training), author of 5 books from use cases to agile development, and a specialist in agile requirements gathering, development, methods, and organizational processes.</p>
<p>I asked Alistair to describe what he can offer to Wellington teams, and he replied:</p>
<ul>
<ul>
<li>align different parties&#8217; views on what agile is and how it fits into the company (e.g. 1/2 day)</li>
<li>organizational &quot;blood-pressure&quot; check on adoption of agile and unaddressed ailments in general (2-3 days)</li>
<li>coaching on use cases, user stories, project management, agile adoption (1/2 &#8211; 2 days)</li>
</ul>
</ul>
<p>He’s done this kind of work for many other teams around the world.&#160; If you’re interested in tapping into his expertise while he’s in town, email Alistair directly. To prevent it being harvested by spam bots, I’ll describe his email address to you as follows: the part before the ‘@’ is ‘TOtherAlistair’ (short for The Other Alistair) and the part after the ‘@’&#160; is ‘aol.com’.</p>
<p>By the way, also in Wellington this month, and speaking at the conference and at <a href="http://www.meetup.com/AgileWelly/events/106562842/">AgileWelly</a>, is <a href="http://www.agileproductdesign.com/">Jeff Patton</a>.&#160; Jeff’s an excellent speaker on defining and managing the scope of agile projects.&#160; Both Jeff and Alistair have been heavily involved in the agile community in Salt Lake City, Utah, which seems to be a breeding ground for great agile ideas.&#160; I don’t know whether Jeff is available for consulting work while he’s here, but if you’re struggling with defining or scoping agile projects, get in touch with him and ask!</p>
<p>Finally, Alistair’s surname is pronounced “Co-burn” the Scottish way.&#160; I don’t know of any other Scottish words with a silent “ck” :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilekiwi.com/other/news/alistair-cockburn-in-wellington/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Faith, doubt and evidence &#8211; agile as religion versus agile as social science</title>
		<link>http://www.agilekiwi.com/other/agile/faith-doubt-and-evidence-agile-as-religion-versus-agile-as-social-science/</link>
		<comments>http://www.agilekiwi.com/other/agile/faith-doubt-and-evidence-agile-as-religion-versus-agile-as-social-science/#comments</comments>
		<pubDate>Sun, 03 Mar 2013 05:51:42 +0000</pubDate>
		<dc:creator>John Rusk</dc:creator>
				<category><![CDATA[Agile Software Development]]></category>

		<guid isPermaLink="false">http://www.agilekiwi.com/?p=803</guid>
		<description><![CDATA[My first exposure to Agile was in the early 2000’s, when a friend leant me the Schwaber and Beedle Scrum book.  It kept talking about mysterious  “emergent properties”, which were apparently the good things that would inevitably happen when you followed the process.  But it never really explained why those properties would emerge and, to [...]]]></description>
				<content:encoded><![CDATA[<p>My first exposure to Agile was in the early 2000’s, when a friend leant me the <a href="http://www.amazon.com/Agile-Software-Development-Scrum/dp/0130676349">Schwaber and Beedle</a> Scrum book.  It kept talking about mysterious  “emergent properties”, which were apparently the good things that would inevitably happen when you followed the process.  But it never really explained <em>why</em> those properties would emerge and, to my mind, it never even gave satisfactory evidence that they really <em>would</em> emerge.</p>
<p>That was my first taste of agile as a belief-based movement.  It’s dangerous ground, a philosophical quicksand which has grown over the following years – to enthral some and to alienate others.  I vividly remember a presentation, again on Scrum, which I paid to attend some years later. It reminded me of something which no professional event should ever resemble: a recruiting session for a strange religious cult.  The kind where the charismatic speaker sways all listeners with his eloquence and fervour… then gets arrested three years later for embezzlement and child abuse.  (I once stayed in the commune of just such a cult.  After one uneventful yet unsettling night, I was glad to see the last of it.  Years later, the leader was indeed arrested!)</p>
<p><strong>Agile as a belief system</strong></p>
<p>At its worst and most cult-like extremes, belief-based agile can be dismissed out-of-hand, and rightly so.  But at the milder end of the scale, such as the Schwaber-Beedle book, it serves a valid purpose.  It presents a clear and compelling introduction to agile, which is great for people who have never heard about it before.  It worked for me.  My team tried what we read in the book, and we loved it. It was great to have such a simple introduction to agile.  Without that simplicity, we might never have got started.</p>
<p>But then we started to struggle.  Our projects didn’t seem to fit the book.  We had constraints which the book didn’t even mention.  I began to suspect Scrum was good for other people but not quite right for us.</p>
<p>But what bothered me more was that I still didn’t <em>understand</em> it.  What the heck are these so-called emergent properties anyway? And how do you force them to happen? ;-)</p>
<p><strong>Agile as (social) science</strong></p>
<p>I wasn’t until I read Alistair Cockburn’s book <a href="http://www.agilekiwi.com/other/agile/crystal-clear-methodology/">Crystal Clear</a> that things started to make sense.  The book is not about Scrum, it’s about Alistair’s rather different formulation of agile (more on that in a moment).  And yet, it was only by reading Crystal Clear that I actually understood Scrum.  Although it uses different terminology from Scrum, Crystal Clear filled in the missing pieces and answered my questions about Scrum’s “emergent properties”.</p>
<p>But Crystal Clear did three things which even more important:</p>
<ol>
<li>It showed that <strong>agile can be based on evidence and science</strong>.  (Although, when you base it on science, agile turns out slightly, yet significantly, different from the &#8220;agile&#8221; you may be accustomed to.)  I&#8217;m not talking here about the popular misconception of science-as-blind-faith-in-experts, but about the true nature of science where even the experts question their own judgement and are determined to follow the evidence where ever it may lead.  Crystal Clear grew out of Alistair&#8217;s PhD research (which in turn grew from his process work at IBM and elsewhere). Based on observations of real-world projects, Alistair formed hypotheses about the factors that led to success in software development.  Then he painfully discarded one hypothesis after another, as the evidence demanded.  He eventually arrived at the family of methodologies known as Crystal, of which Crystal Clear is the version applicable to small teams.  (Alistair’s development of Crystal <a href="http://c2.com/cgi/wiki?CrystalClearMethodology">preceded</a> the founding of the agile movement.  He was later one of the 17 co-creators of the <a href="http://agilemanifesto.org/">Agile Manifesto</a>.)</li>
<li>It showed that <strong>agile should be flexible, to suit the nature of humans</strong>.  It is impossible to read Crystal and not be struck by how human-friendly it is;  how it allows, and in fact requires, variation to meet your circumstances; and how one-size-fits-all rules are the very antithesis of agile.</li>
<li>It explained that <strong>simple belief-based formulations of agile are the starting point, not the destination</strong>.  The common rigid, belief-based formulation of agile is an ideal learning tool, but it’s only the starting point on the learning journey, not the end.</li>
</ol>
<p><strong>Conclusion</strong></p>
<p>Today, I happily use Scrum – informed by and infused with a healthy dose of Crystal Clear.  If you are not familiar with Crystal Clear and Alistair’s work in general, you owe it to yourself, and your project, to learn.</p>
<p>Seek a broader perspective and, at the risk of being facetious, don’t stay in the commune until the leader gets arrested!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilekiwi.com/other/agile/faith-doubt-and-evidence-agile-as-religion-versus-agile-as-social-science/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Challenges for 2013</title>
		<link>http://www.agilekiwi.com/peopleskills/challenges-for-2013/</link>
		<comments>http://www.agilekiwi.com/peopleskills/challenges-for-2013/#comments</comments>
		<pubDate>Mon, 31 Dec 2012 04:45:04 +0000</pubDate>
		<dc:creator>John Rusk</dc:creator>
				<category><![CDATA[People Skills]]></category>

		<guid isPermaLink="false">http://www.agilekiwi.com/?p=779</guid>
		<description><![CDATA[Reflecting on the end of another year, I feel that the interesting challenges in Agile are not about process, but instead about people. Promoting and Enhancing People Skills This has been a theme of this blog for sometime. The challenge for 2013, to myself and to anyone else who’s interested in the Agile community, is, [...]]]></description>
				<content:encoded><![CDATA[<p>Reflecting on the end of another year, I feel that the interesting challenges in Agile are not about process, but instead about people.</p>
<h2>Promoting and Enhancing People Skills</h2>
<p>This has been a theme of this blog for sometime. The challenge for 2013, to myself and to anyone else who’s interested in the Agile community, is, “How can we encourage the development of better skills in this area?”&#160; It’s one thing to highlight the fact that the Agile community <a href="http://www.agilekiwi.com/peopleskills/individuals-and-interactions/">seems to have forgotten</a> its original value of “People over process”, it’s another to actually put the people-first approach into practice.&#160; I see a lot of potential in the ideas of <a href="http://www.agilekiwi.com/peopleskills/advocacy-and-inquiry/">Chris Argyris</a>, and in the techniques described in <a href="http://www.agilekiwi.com/peopleskills/enjoying-meetings-part-1/">Crucial Conversations</a>.&#160; But how do we translate those ideas into our day-to-day work?&#160; How do we encourage and help other people to use those ideas?&#160; And, what <em>other</em> ideas should be be also taking on board?&#160; </p>
<h2>Knowledge vs Skill</h2>
<p>We tend to think that, if we can just know the “right” thing to do – the <em>right</em> way to unit test, the <em>right</em> way to plan an iteration etc – then the problem will&#160; be solved.&#160; But much of human performance is not just about knowledge, it’s also about skill.&#160; On an intellectual level, I “know” how to play tennis – but I seldom translate that knowledge into a winning performance on the court.&#160; </p>
<p>When we look at the way we, and our team, are performing on a software project, it’s tempting to treat any deficiency as a deficiency of knowledge – something that could be addressed by training.&#160; But really there are at least 5 different aspects to performance:</p>
<ol>
<li>Knowledge.&#160; You can get this through training, or you can follow a defined process.&#160; I think we put too much of “agile” into this bucket.</li>
<li>Short-term skill: skill that can be developed, through practice and experience, during the course of the project.&#160; Investing in such skills early in the project will pay off during the course of the project.&#160;&#160;&#160; But it’s hard to draw the line between this and the next….</li>
<li>Long-term skill development.&#160; This is <a href="http://www.agilekiwi.com/peopleskills/understanding-ourselves/becoming-an-expert/">deep expertise</a>, which takes about 10,000 hours to develop.&#160; You need at least some of your team members to have such expertise,&#160; since without it your project will be <em>much </em>more difficult.&#160; But since this kind of expertise takes years to develop, they can’t get it during the project.&#160; They must have it before you start.&#160; (However, just because a person is experienced, that’s no guarantee they have this kind of expertise.&#160; Some experienced people do, some don’t.&#160; Simplistically, its the difference between learning from one’s mistakes, versus merely repeating them.)</li>
<li>Innate <a href="http://en.wikipedia.org/wiki/General_intelligence_factor">general mental ability</a>: this is the “RAM capacity” and “CPU speed” of the person’s brain.&#160;&#160; To suggest that these qualities differ between people is both politically incorrect and self-evidently true.</li>
<li><a href="http://en.wikipedia.org/wiki/Conscientiousness#Academic_and_workplace_performance">Conscientiousness</a> – the personal, internal motivation to work carefully and produce a successful outcome.&#160; Research suggest conscientiousness plays a significant role in job performance.</li>
</ol>
<p>For agile coaches, I hope this list poses a challenge to you, to extend your practice into the longer-term aspects of skill (#2 and #3).</p>
<p>For team managers, I hope this list underscores the importance (and difficulty!) of recruiting well.</p>
<p>For all of us, I hope this list reminds us that #3 on the list, expertise, is something that we must take individual responsibility for developing, within ourselves. It’s important because it has more impact on our success than short-term knowledge (#1) and skill (#2).&#160; It is <em>worth</em> investing in because it is probably easier to to change your level of expertise than your level of intelligence (#4) or your personality (#5).&#160; But, we must take responsibility for it <em>ourselves</em>, because the 10,000 hours it takes to develop will probably span many different jobs, and so can’t be left to any one employer.</p>
<h2>Expecting and Accepting Individual Differences</h2>
<p>When a doctor gives medication, she expects that different patients will respond to the same drug in different ways.&#160; Some may require higher doses than others.&#160; Same may have an adverse reaction to the exact same drug.</p>
<p>So why then, do we fall into the trap of one-size-fits-all agile?&#160; Individuals differ greatly in their mix of the above 5 factors that contribute to performance.&#160; Furthermore, the projects we work on, and the organisations we work in, also differ greatly.&#160; So a given “prescription” for how to build software may be appropriate for some but not others.</p>
<p>The easy part here is to recognise the project context.&#160; It’s easy to look around and see that projects are different.&#160; The hard part is to recognise the differences <em>within</em> us.&#160; When I read code, what goes on in my head may be very different from what goes on in my colleagues head – but of the two brains working on the problem, I only get to look inside one, my own.&#160; It is naive (but common!) to assume that my colleague’s brain experiences the problem in a similar way to my own.&#160; (By the way, I’ve found <a href="http://www.agilekiwi.com/peopleskills/advocacy-and-inquiry/">Advocacy and Inquiry</a> helpful here.&#160; It’s helped me to enquire not just into what other people are thinking, but into the data and evidence that underlie their thoughts – data and evidence that I might not have seen.&#160; This can be as simple as asking questions like “Could you give me an example?” or “What happened when you tried this in the past?”)</p>
<h2>Conclusion</h2>
<p>So, these are the issues that I find most challenging and relevant as 2013 dawns.&#160; Can you suggest any relevant links, resources or thoughts?&#160; </p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilekiwi.com/peopleskills/challenges-for-2013/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>In-house development vs Outsourcing</title>
		<link>http://www.agilekiwi.com/estimationandpricing/in-house-development-vs-outsourcing/</link>
		<comments>http://www.agilekiwi.com/estimationandpricing/in-house-development-vs-outsourcing/#comments</comments>
		<pubDate>Mon, 31 Dec 2012 02:10:15 +0000</pubDate>
		<dc:creator>John Rusk</dc:creator>
				<category><![CDATA[Estimation and Pricing]]></category>
		<category><![CDATA[outsourcing]]></category>

		<guid isPermaLink="false">http://www.agilekiwi.com/?p=777</guid>
		<description><![CDATA[I spent over 16 years working for IT consultancies.  Organisations who needed software would come to us, generally negotiate an up-front price, and we’d write the software for them.  This kind of work, outsourced software development, was the focus of my working life… until 9 months ago.  That was when I moved to an internal [...]]]></description>
				<content:encoded><![CDATA[<p>I spent over 16 years working for IT consultancies.  Organisations who needed software would come to us, generally negotiate an up-front price, and we’d write the software for them.  This kind of work, outsourced software development, was the focus of my working life… until 9 months ago.  That was when I moved to an internal role at the <a href="http://www.ahb.org.nz/">Animal Health Board</a>. The Board is not an IT organisation, but rather a registered charity tasked with the single job of eradicating bovine tuberculosis from New Zealand.  It turns out that, to eradicate a microscopic bacterium from an entire country(!), you need a lot of software to keep track of everything.  We’re re-developing one of our core applications, and we&#8217;re doing it <em>in-house.</em></p>
<p>After 9 months in this very different world of in-house software development, I can share several observations:</p>
<ol>
<li>I like it.  In outsourced development, there was always an invisible “wall” between the developers and the customer – caused by contract and price negotiations, sensitivity over whether acting on user feedback was chargeable or implicit in the original price, and a tendency for both organisations to think in terms of “us versus them”. With in-house development, the wall is gone. Gone also are the considerable costs and frustrations the “wall” used to create.</li>
<li>Making sure the “wall” <em>stays</em> gone requires conscious effort from managers and staff at all levels.  In some organisations it would be easy to slip back into “us and them”, between the “business” and “IT” functions of the single organisation.  At the Animal Health Board, we’ve been blessed with management who started the project off on the right foot, and with users and team members who kept it heading in the right direction.</li>
<li>No matter how you run your project, you need good people.  I feel very lucky that good people were brought into key roles before I joined, and that we’ve been able to continue attracting good people as the project has continued.  My advice, to any organisation starting in-house development for the first time, would be to be very careful with your initial hiring choices, since so much will depend on them.  As for continuing to attract good people, I think it helps that we are a unique, focussed organisation, which does good both for the New Zealand economy and for wildlife conservation and biodiversity.  So my suggestion would be that, if your organisation has tangible benefits in the real world, promote that fact to attract staff.</li>
<li>I believe the team, which is a mix of contract and permanent staff,  is at least as good as what we would have got through any outsourcing vendor – and quite possibly better.  Plus, we have the bonus of better contact between team and business, and lower costs per developer-hour.</li>
<li>A challenging project is still a challenging project, no matter how you do it.  Bringing this major project in house hasn’t guaranteed we’ll get an effective system at an affordable cost, but it has improved the odds.</li>
</ol>
<h2>Conclusions</h2>
<p>In-house development has been effective and enjoyable.  It would now be my preference for projects that meet the following criteria:</p>
<ul>
<li>The project is big enough to justify the costs of recruiting and building a team.  (E.g. there’s at least 12 months’ worth of work for the team)</li>
<li>But it’s not <em>too</em> big. (E.g. building a team of between 10 and 20 people, as we have done, is OK, but if you think you need 100 people, and your organisation has never built an IT project team before, maybe it’s safer to find a large vendor who already has the 100 people!  Having said that, a 100-person project is risky no matter how you do it, so maybe it’s worth looking for ways to cut scope, extend timeframes, and <a href="http://martinfowler.com/bliki/LargeAgileProjects.html">do it with a smaller team</a>.)</li>
<li>There’s a workable resourcing plan for after the project goes live.  For instance, if you expect maintenance to require no more than one full-time person, after go-live, how will you keep someone on to do that work?  If they are your only programmer, won’t they get lonely and leave?  What if you need them less that full time?  In such cases, outsourced maintenance may be a better option – although bear in mind that your vendor will also struggle to maintain expertise in your system if your needs are low or intermittent. (Since they, like you, can’t devote a full-time person to the system if there’s not enough work.) In our case, at the Animal Health Board, we know we have significant IT work beyond this project, so running an on-going internal IT team was always part of the plan. (And in fact, we’ve already had such a team for several years.)</li>
</ul>
<h2>Throwing Down the Gauntlet</h2>
<p>For many years, my career goal was to make outsourced development work better.  I wanted to solve the problems of the “wall” that gets between customer and supplier. But now I see many of those problems can often be sidestepped, by moving the development in-house.  So I’d like to propose two challenges to IT consultancies:</p>
<ul>
<li>What value do you add, over and above what your customer could do in-house?  Years ago, it used to be easy for IT consultancies to possess rare knowledge.  For instance, before the internet there were only two ways to learn how to develop with complex product like Oracle: read the manuals, which took up about 1 metre of shelf space, or sit next to an experienced user.  I found both at an IT consultancy.  But today, I’d use the internet instead.   In the internet age, an IT consultancy must do more than simply possess people and documentation.</li>
<li>How much of your day-to-day activity, and your fee structure, is devoted to simply ensuring the survival of your organisation?  There may be a significant cost to ensuring your organisation survives – in sales, marketing and management.  Ultimately, your customers pay that cost though the fees you charge them.  Is the survival of your organisation worth that much, <em>to your customers</em>?</li>
</ul>
<p>I’m not saying that outsourcing is always a bad choice, just that the inherent advantages of in-house development raise the bar for those who wish to sell outsourcing.</p>
<p>For customers, investing in IT might make sense even when its <em>not</em> your core business.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilekiwi.com/estimationandpricing/in-house-development-vs-outsourcing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Become practiced in making changes</title>
		<link>http://www.agilekiwi.com/other/agile/become-practiced-in-making-changes/</link>
		<comments>http://www.agilekiwi.com/other/agile/become-practiced-in-making-changes/#comments</comments>
		<pubDate>Tue, 04 Sep 2012 09:21:24 +0000</pubDate>
		<dc:creator>John Rusk</dc:creator>
				<category><![CDATA[Agile Software Development]]></category>

		<guid isPermaLink="false">http://www.agilekiwi.com/?p=773</guid>
		<description><![CDATA[Agile has always embraced change.&#160; But businesses are still be tempted to minimise those changes, by trying to get things “right” first time.&#160; On my current project, we’re realised that minimising change is not necessarily a good thing. Why? After the system goes live, we must be able to change it.&#160; (In our opinion, an [...]]]></description>
				<content:encoded><![CDATA[<p>Agile has always embraced change.&#160; But businesses are still be tempted to <em>minimise</em> those changes, by trying to get things “right” first time.&#160; </p>
<p>On my current project, we’re realised that minimising change is not necessarily a good thing. Why? After the system goes live, we <em>must</em> be able to change it.&#160; (In our opinion, an unmaintainable system would be a failure.)&#160; So… if we are going to successfully change the system <em>after</em> go-live, then we must <em>practice</em> making changes <em>before </em>go live.&#160; Without such practice, how would we know whether the architecture is maintainable?&#160; How would we know whether the team has the necessary skills and confidence to safely change the code?</p>
<p>So each mistake, dead-end, or change of direction has a silver lining: it’s a chance for us to practice the essential skill of changing our code.&#160; We <em>need</em> these mistakes to happen, so we can practice correcting them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilekiwi.com/other/agile/become-practiced-in-making-changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Are you pair-programming in New Zealand?</title>
		<link>http://www.agilekiwi.com/other/news/are-you-pair-programming-in-new-zealand/</link>
		<comments>http://www.agilekiwi.com/other/news/are-you-pair-programming-in-new-zealand/#comments</comments>
		<pubDate>Sun, 15 Jul 2012 01:41:28 +0000</pubDate>
		<dc:creator>John Rusk</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.agilekiwi.com/?p=769</guid>
		<description><![CDATA[I&#8217;ve just been engaged in very interesting discussion of pair programming with Arlo Belshee.  Unlike me, Arlo has lots of successful experience with pairing.  If you&#8217;ve been following my recent posts on pairing, I definitely recommend that you check out Arlo&#8217;s new comments on them, and also his own post and its comments here. He [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve just been engaged in very interesting discussion of pair programming with <a href="http://arlobelshee.com/">Arlo Belshee</a>.  Unlike me, Arlo has lots of successful experience with pairing.  If you&#8217;ve been following my <a href="http://www.agilekiwi.com/other/agile/expertise-meets-pair-programming/">recent</a> <a href="http://www.agilekiwi.com/other/agile/pair-programming-wrap-up/">posts</a> on pairing, I definitely recommend that you check out Arlo&#8217;s new comments on them, and also <a href="http://arlobelshee.com/post/is-pair-programming-for-me">his own post and its comments here</a>.</p>
<p>He shows that pairing is a form of expertise, that takes time and effort to develop, just like any other type of expertise.</p>
<p>Furthermore, I would suggest, it&#8217;s very hard to imagine successful pairing if you&#8217;ve never actually seen it.  Which brings me to the point of this post: is there anyone here in New Zealand who is doing pair programming and who might be interested in letting myself and a couple of colleagues see how you do it?  We work for <a href="http://tbfree.org.nz/">a registered charity</a> (so we&#8217;re definitely not one of your competitors).  I&#8217;m hoping that, like many agile teams, you&#8217;d like to share your success stories.  If so, I&#8217;d love to hear from you.  My email address is on the <a href="http://www.agilekiwi.com/contact/">contact</a> page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilekiwi.com/other/news/are-you-pair-programming-in-new-zealand/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Looking for a Senior Tester</title>
		<link>http://www.agilekiwi.com/other/news/looking-for-a-senior-tester/</link>
		<comments>http://www.agilekiwi.com/other/news/looking-for-a-senior-tester/#comments</comments>
		<pubDate>Sat, 16 Jun 2012 02:51:38 +0000</pubDate>
		<dc:creator>John Rusk</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.agilekiwi.com/?p=764</guid>
		<description><![CDATA[At work, I need a senior tester for the TBfree New Zealand programme. We&#8217;re world leaders in our field, our work helps to safe-guard New Zealand&#8217;s biggest industries, and along the way we happen to protect lots of native wildlife from predators. Do you have strong experience in agile testing? Or are you a good [...]]]></description>
				<content:encoded><![CDATA[<p>At work, I need a senior tester for the <a href="http://tbfree.org.nz/">TBfree New Zealand</a> programme. We&#8217;re world leaders in our field, our work helps to safe-guard New Zealand&#8217;s biggest industries, and along the way we happen to protect lots of native wildlife from predators.</p>
<p>Do you have strong experience in agile testing? Or are you a good senior tester who wants to <em>learn</em> agile? Either way, we&#8217;re keen to hear from you.</p>
<p>Our project is just getting started. If you&#8217;d like to be part of a friendly, co-located agile team in central Wellington (NZ), let&#8217;s talk! The best way to contact me is via <a title="Contact" href="http://www.agilekiwi.com/contact/">email</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilekiwi.com/other/news/looking-for-a-senior-tester/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Advocacy and Inquiry</title>
		<link>http://www.agilekiwi.com/peopleskills/advocacy-and-inquiry/</link>
		<comments>http://www.agilekiwi.com/peopleskills/advocacy-and-inquiry/#comments</comments>
		<pubDate>Fri, 23 Mar 2012 19:56:15 +0000</pubDate>
		<dc:creator>John Rusk</dc:creator>
				<category><![CDATA[People Skills]]></category>

		<guid isPermaLink="false">http://www.agilekiwi.com/?p=735</guid>
		<description><![CDATA[Have you ever wondered why it is so hard to achieve real change in organisations?  Have you ever wondered why organisations don’t really seem to learn?  Have you ever feared that, in spite of all the talk about change, it will really amount to nothing in the long run? There’s little-known answer to these questions, [...]]]></description>
				<content:encoded><![CDATA[<p>Have you ever wondered why it is so hard to achieve real change in organisations?  Have you ever wondered why organisations don’t really seem to learn?  Have you ever feared that, in spite of all the talk about change, it will really amount to nothing in the long run?</p>
<p>There’s little-known answer to these questions, backed by several decades of research.  It’s not pretty, since it shows the true reasons why these problems are so incredibly hard to solve.  Fortunately, it also offers a solution.  The solution is difficult, requiring much commitment, patience and humility.  …But then, if you think about it, you already knew there wouldn’t be an <em>easy</em> solution, right?  :-)</p>
<h2>In a nutshell</h2>
<p>The heart of the problem is that we don’t learn because we don’t communicate effectively.  When humans communicate, we tend to value these things:</p>
<ul>
<li>achieve my goals (as defined by me)</li>
<li>win, don’t lose</li>
<li>avoid triggering negative emotions in myself or others</li>
</ul>
<p>Prof. <a href="http://en.wikipedia.org/wiki/Chris_Argyris">Chris Argyris</a> of Harvard University has found that these core values, or “governing variables” as  he calls them, underlie most human communication.  People espouse all sorts of ideas about we <em>ought</em> to communicate, but when Argyis and his colleagues observed how people actually <em>do</em> communicate, they found these same values occurred over and over again – across cultures, across genders and across many thousands of people.  I don’t know whether these values are encoded in our DNA, installed in us by our culture(s), or just a pattern that our minds subconsciously settle upon.  In any case, they form a consistent pattern of human communication, which I will refer to here as the <strong>“Default Communication Style”.</strong></p>
<p>One consequence of the Default Communication Style is that, in trying to prevent triggering negative emotions, people unilaterally protect themselves and others.  Rather than seeking the other party’s true thoughts, via genuine dialog, a person will guess or presume the other person’s thoughts and never put the guesses to the test.  So we end up walking around our offices assuming that certain people have “bad” goals or intentions, without ever testing to see if our assumptions are actually true. (Often they are not).  Wikipedia describes <a href="http://en.wikipedia.org/wiki/Chris_Argyris">a few familiar symptoms</a>: withholding information, creating rules to censor information and behaviour, and holding private meetings (aka talking about people behind their backs).</p>
<p>The values of &#8220;win; don&#8217;t lose&#8221; and &#8220;achieve my goals (as I define them)&#8221;  also hinder the free and full exchange of information.  All in all, the Default Communication Style causes people to withhold relevant thoughts and information.  So, deprived of full information, our organisations fail to learn.</p>
<h2>What’s the alternative?</h2>
<p>Argyris suggests that we should adopt the following value set instead.</p>
<ul>
<li>give and receive valid information</li>
<li>favour informed choice for all concerned (as opposed to unilateral control)</li>
<li>mutual responsibility for “looking out” for each other</li>
</ul>
<p>So we become more concerned with sharing what is on our minds, and equally we become more concerned with helping others to share what is on <em>their</em> minds. (Even when its different from our own views.).  The best terms I’ve heard to describe this are <strong>“Advocacy and Inquiry” </strong>(*)<strong>.</strong>  Advocating our own thoughts with skill and openness; and inquiring into the thoughts of others with skill (again) and curiosity.  We want to get the full picture flowing both ways: out of our own heads and into the group’s consciousness, and equally out of each other member of the group and into our own awareness.</p>
<p>When engaging in Advocacy and Inquiry, we should not be hamstrung by the desire to avoid causing offence.  That’s not an open licence to be deliberately offensive, but rather a recognition that our normal cop-outs are self-defeating.  When we avoid raising awkward issues, we ultimately let down ourselves and also the person who our silence is designed to “protect”.</p>
<h2>More evidence</h2>
<p>You might not have heard of Argyris’s work before.  But you probably will have heard of other people who have independently discovered the same ideas.  For instance, the authors of the book <a href="http://www.agilekiwi.com/peopleskills/enjoying-meetings-part-1/">Crucial Conversations</a>  followed around individuals who were good at “getting things done” in the workplace. The authors analysed the behaviour of these communication stars, to find out how they did it.  The answer centres around adding one’s own contributions to the group’s “pool of meaning”, <em>and helping others to do likewise. </em>I see<em> </em><a href="http://www.amazon.com/Crucial-Conversations-Talking-Stakes-ebook/dp/B005K0AYH4">Crucial Conversations</a> as a excellent “how to” manual, for Advocacy and Inquiry.</p>
<p>The classic guidebook to negotiation, <a href="http://www.agilekiwi.com/peopleskills/the-power-of-negotiation/">Getting to Yes</a>, emphasises sharing of valid information instead of “winning” one’s opening position.</p>
<p><a href="http://bobsutton.typepad.com/">Bob Sutton</a> of Stanford writes a great blog, and summarizes the same ideas with the phrase</p>
<blockquote><p>Argue like you’re right; listen like you’re wrong</p></blockquote>
<h2>Why is it so difficult?</h2>
<p>There’s a danger that all of the above will sound like common sense.  And to some degree it is.  Its easy to look at, and say, “Yes, I think that’s a good idea”.  It’s much harder is to actually put it into practice.  When it comes to the Default Communication Style, we’ve each had a whole lifetime of practice.  So, it is deeply ingrained in us, and we use it <a href="http://www.agilekiwi.com/peopleskills/understanding-ourselves/becoming-an-expert/">instinctively</a>.  And that is the real challenge: not simply to believe that Advocacy and Inquiry is the right way to go, but to actually act consistently with that belief in our moment-by-moment communication.</p>
<p>It is easy to fail.  Argyris found that people can agree with his ideas, but still have trouble putting them in to practice.  He calls this the difference between espoused theory (the theory expressed by what we claim to believe) and theory-in-use (the theory implied by what we actually do).  I recently experienced the difference first hand.  While having a conversation with a manager, I felt that the manager was becoming upset with what I was saying, so I backed away from fully expressing myself.  And what was the topic?  I was trying to say that we need more Advocacy and Inquiry!!!  In a conversation <em>about these exact issues</em>, I still slipped back into Default behaviour when the going got tough!</p>
<p>Why do we fall back into our old habits? Because we are used to them &#8212; very skilled in them, in fact.  We are much less skilled in Advocacy and Inquiry.  So, when the going gets tough, we unconsciously fall back to our old ways.</p>
<h2>What do we need to do?</h2>
<p>Practice.  Effective communication requires practice, just like playing tennis, reading music or programming a computer.  You won’t be perfect when you first start practicing, but <a href="http://www.agilekiwi.com/peopleskills/people-skills-for-nerds-a-summary-video/">everyone has to start somewhere</a>.</p>
<p>Actually, we don’t need <em>only </em>practice.  It also helps to obtain some up-front knowledge of the topic.  Something to “seed” our practice, so to speak. Two great starting points are the books <a href="http://www.amazon.com/Crucial-Conversations-Talking-Stakes-ebook/dp/B005K0AYH4">Crucial Conversations</a>, which I see as a manual for Advocacy and Inquiry, and <a href="http://www.amazon.com/Discussing-Undiscussable-Overcoming-Jossey-Bass-Management/dp/0787986321">Discussing the Undiscussable</a>, which is a beginner’s guide to Argyris’s work.</p>
<p>You can find additional resources at <a href="http://blog.benjaminm.net/argyris/">Benjamin Mitchell’s blog</a>, and at <a href="http://actiondesign.com/about/intellectual">Action Design</a>.</p>
<p>Finally, I hope to post more on this topic myself over the coming months.  So stay tuned…  In the meantime, please leave questions, comments, and links to additional resources below.</p>
<p>&#8212;-</p>
<p>(*) I’m calling the two sets of values the “Default Communication Style”, for the first, and “Advocacy and Inquiry” for the second.  If you’re familiar withe Argyris’s work you’ll know that these are not the standard terms.  Argyris himself uses the terms “Model I” and “Model II” respectively – with a self-deprecating grin at the blandness of the names.  Other authors use the terms “Unilateral Control Model” and “Mutual Learning Model”.   Those are good descriptive terms, but I just can’t imagine someone standing up at the front of a team meeting and saying, “Hey guys, we need to promote the Mutual Learning Model!”.   It seems more plausible to say, “Hey guys, we need more Advocacy and Inquiry!”.</p>
<p>/p</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilekiwi.com/peopleskills/advocacy-and-inquiry/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
