<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>James Christie&#039;s Blog</title>
	<atom:link href="http://clarotesting.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://clarotesting.wordpress.com</link>
	<description>thoughts of a software testing consultant from Scotland</description>
	<lastBuildDate>Thu, 15 Sep 2011 14:44:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='clarotesting.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/5dab6205ad2d334dabaf7e3945cc79aa?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>James Christie&#039;s Blog</title>
		<link>http://clarotesting.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://clarotesting.wordpress.com/osd.xml" title="James Christie&#039;s Blog" />
	<atom:link rel='hub' href='http://clarotesting.wordpress.com/?pushpress=hub'/>
		<item>
		<title>It always takes longer!</title>
		<link>http://clarotesting.wordpress.com/2011/09/13/it-always-takes-longer/</link>
		<comments>http://clarotesting.wordpress.com/2011/09/13/it-always-takes-longer/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 10:34:57 +0000</pubDate>
		<dc:creator>James Christie</dc:creator>
				<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://clarotesting.wordpress.com/?p=748</guid>
		<description><![CDATA[Assume you&#8217;re going on holiday. Your flight is at 9:30 on a Friday morning. You live 60 km from the airport, and you have to check in no later than 8:45. You&#8217;ve taken many flights in the past, often at the same time. You know it will take probably about 75 minutes to cover the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=748&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Assume you&#8217;re going on holiday. Your flight is at 9:30 on a Friday morning. You live 60 km from the airport, and you have to check in no later than 8:45.</p>
<p>You&#8217;ve taken many flights in the past, often at the same time. You know it will take probably about 75 minutes to cover the distance at the busiest time of the day. You know how long it will take to get parked and into the terminal. You allow a bit of padding for safety, decide when you&#8217;re going to leave home, and you catch your flight.</p>
<p>What you never do is say, <em>“well, if there are no problems and I&#8217;m not held up I can do it in 50 minutes, so I&#8217;ll set off at 7:55”</em>.</p>
<p>I&#8217;m also very confident that you never say, <em>“I can do the 50 km to the end of the motorway at 120 kph, so that&#8217;s 25 minutes, then the last 10km at 60 kph, so that&#8217;s another 10 minutes, and if I park in the middle of the car park I will be 150 metres from the check in desk, a distance I can cover in 2 minutes, so if I allow 10% contingency I can leave home at 8:04 and I will be fine.”</em></p>
<p>That would be insane. You use your experience, you know where things can go wrong and you catch your flight. You always catch your flight! That&#8217;s the priority, not impressing people by shaving time off your estimated journey to the airport, or demonstrating your mastery of the trip by building up a pointlessly detailed estimate.</p>
<p>Ok, in the airport case you knew the route and the problems, so you&#8217;d obviously go with your direct experience. But would you try doing a detailed estimate for the separate components of the return journey from your hotel to the airport? Would you plan optimistically?</p>
<p>Of course not. You&#8217;d rely on your past experience of getting to airports in general and you&#8217;d plan the trip cautiously because you&#8217;d want to be extremely confident that you&#8217;d catch your flight.</p>
<p>So why, when we size IT work, do we habitually go for estimates that are based on best case scenarios, rather than bitter experience, often constructing detailed estimates, full of meaningless spurious attempts at accuracy?</p>
<p>We pile up optimistic guesswork on top of deluded nonsense, then pretend that it has some validity just because it consists of an impressive amount of detail. If it ever works it&#8217;s pure luck.</p>
<p>We kid ourselves that we have learnt from past mistakes, that we won&#8217;t repeat them, and that any unavoidable problems we hit were bad luck, someone else&#8217;s fault or were simply unique to that particular project.</p>
<p>For some reason we find it very difficult to apply the results of past experience to estimating future work. There are various related reasons for this.</p>
<h4>We value the specific over the general</h4>
<p>Firstly, we value detailed knowledge of the specific task we&#8217;re looking at over experience that we, and others, have had with similar work. Logically that&#8217;s not an explanation. All I have done is rephrase the problem, but I&#8217;ve done so in a way that helps explain why we kid ourselves.</p>
<p>Applying our detailed knowledge maximises the relevant information that we are feeding into the equation. Excluding the results of past experience is rational, but only if one makes completely unrealistic assumptions about risk, probability and our ability to dodge problems that always hit projects.</p>
<p><a href="http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA047747&amp;Location=U2&amp;doc=GetTRDoc.pdf" target="_blank"><strong><span style="color:red;">Kahneman and Tversky</span></strong></a> (PDF, opens in new window) illustrated this point by discussing how we would predict the life expectancy of an individual. We can call on singular information and distributional information.</p>
<p>Singular information applies specifically to that person. Distributional information ignores the individual and is concerned with the distribution of outcomes; how long human beings live for.</p>
<p>Most people would accept that the most accurate prediction would require both sorts of information. However, we have a tendency to shy away from even the most obviously relevant distributional data.</p>
<p>Kahneman and Tversky found that the more familiar we are with a subject the more likely we are to focus on the singular and to ignore distributional data. The result is that the distribution of predicted outcomes is significantly different from the distribution of real outcomes. Worse, the variation is firmly in one direction and amounts to a bias.</p>
<p>Obviously that bias is towards optimism. We might know that things tend to go wrong, but we don&#8217;t know exactly what form the problems will take. We only know for sure how long things ought to take, and we fail lamentably to build in adequate contingency or to acknowledge the probability that life will not be perfect.</p>
<h4>We are incorrigibly optimistic</h4>
<p>This is the second reason for our inability to use past experience wisely. Regardless of the preference for estimating using singular rather than general information, we are inherently optimistic, and we wildly overestimate the probability of our estimates being accurate.</p>
<p>Or rather, we are hopeless at estimating accurately how long <em><strong>we</strong></em> will take to do something. We are far better at estimating how long someone else will take. We are more likely to look dispassionately at their past performance and not kid ourselves about how long the new task could take in ideal circumstances.</p>
<h4>We revere confidence</h4>
<p>This ability to apply careful judgement to others people&#8217;s work should be valuable in estimating software development projects, and it should help compensate for our preference for the singular over the general. However, any benefit is largely swamped by the effects of the third reason for our failure to learn from experience.</p>
<p>I believe this third factor is the most pernicious of all. It is simply that we value confidence over realism.</p>
<p>I remember a senior IT manager telling me that it was far better to plunge confidently into a project with an impossible deadline, and then emerge sweaty, exhausted and late than it was to tell users at the start how long it would really take. The users just wouldn&#8217;t accept realism.</p>
<p>The first time I had to estimate a development project I was concerned that we were using an unproven mixture of tools and technology, and we were applying them to an application for which they&#8217;d never been used at that site. I estimated cautiously, and was briskly told that my estimate was far too high.</p>
<p><em>“You can only estimate for what you know will happen, plus some contingency. You can&#8217;t expect to get approval for work to cover problems you don&#8217;t know you&#8217;re going to have”.</em></p>
<p>The estimate was halved, and I brought the project in 100% over budget. By a delicious coincidence my initial guess was accurate. I received plenty of praise for my achievement. There was no criticism for being wildly over budget, and that&#8217;s certainly not because anyone might have remembered the original estimate!</p>
<p>In such an environment managers who do estimate accurately are likely to get a reputation for “padding their estimates”, not for being right!</p>
<p>The lesson I learned was that an estimate was the highest figure that was politically acceptable. Not commercially acceptable, but the highest figure you could get away with, almost invariably less than the real one.</p>
<p>I&#8217;ve got extensive personal experience of this phenomenon, but the evidence isn&#8217;t just anecdotal.</p>
<p>In a fascinating study by <a href="http://hanson.gmu.edu/EC846/sources/BetterSureThanSafe.pdf" target="_self"><strong><span style="color:blue;">Jørgensen et al</span></strong></a> 37 software developers were asked to assess the competence of two developers based on their ability to estimate and deliver work.</p>
<p>Both produced identical estimates and results. However, one was much more confident and predicted narrower margins of error. The other was more realistic about the level of uncertainty and predicted wider margins.</p>
<p>The subjects in the study rated the confident developer as being more competent than the realistic one. In effect, confidence was regarded as a sign of competence. Even when the actual result was outside the confident developer&#8217;s margins of error and within the realistic one&#8217;s margins it was still the confident developer who was rated higher.</p>
<p>A comment from one of the subjects was revealing.</p>
<p><em>“I feel that if I estimate very wide (margins of error), this will be interpreted as a total lack of competence and has no informative value to the project manager. I’d rather have fewer actual values inside the minimum-maximum interval, than providing meaningless, wide (margins)”.</em></p>
<p>This study looked specifically at confidence, rather than optimism, but the constant danger in software development is, of course, over-confident optimism rather than pessimism.</p>
<h4>Catch 22? Or catching that flight?</h4>
<p>These are consistent biases. The problem is not simply that we get estimates wrong, but we approach them in a way that ensures we consistently err on the side of optimism.</p>
<p>I wonder if there&#8217;s a Catch 22 that keeps us trapped in a cycle of poor, over-optimistic estimating.</p>
<p>The less we know about a problem area the less we will know about the complexities and what could go wrong. So we are likely to to be over-confident about our estimates.</p>
<p>But once we have learned more about the problem area, the more tempted we will be to focus on the specifics of the task and ignore the distribution of outcomes, i.e. to ignore the lessons of experience. So we are still likely to be over-confident about our estimates.</p>
<p>There&#8217;s a huge exception, however. Remember the analogy I was using at the start of this piece? About getting to the airport to go on holiday.</p>
<p>We always catch our flight. It&#8217;s not simply that estimating accurately is easier. It really matters to us. I mean <em><strong>really</strong></em> matters.</p>
<p>Does it really matter as much in software development? I don&#8217;t think it does. Just consider the research suggesting we prefer to seem confident rather than right. Perhaps we sometimes need to do a check.</p>
<p>Do we really want to catch that flight? Or do we just want to seem confident?</p>
<p>I&#8217;ll expand on possible remedies in my next post. In the meantime if you want to delve further into this area here are a couple of interesting links.</p>
<p><a href="http://www.math.mcgill.ca/vetta/CS764.dir/judgement.pdf" target="_self"><strong><span style="color:blue;">Tversky and Kahneman</span></strong></a> look at how people have difficulty making sound judgements about probability based on their direct experience.</p>
<p><a title="Buehler et al on underestimating task times" href="http://www.canni.be/FUSL/Wibaut/Comportement%20des%20investisseurs/Procrastination/Buehler_planning.pdf" target="_self"><strong><span style="color:blue;">Buehler et al&#8217;s study</span></strong></a> of our tendency to underestimate task completion times.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clarotesting.wordpress.com/748/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clarotesting.wordpress.com/748/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clarotesting.wordpress.com/748/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clarotesting.wordpress.com/748/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clarotesting.wordpress.com/748/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clarotesting.wordpress.com/748/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clarotesting.wordpress.com/748/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clarotesting.wordpress.com/748/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clarotesting.wordpress.com/748/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clarotesting.wordpress.com/748/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clarotesting.wordpress.com/748/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clarotesting.wordpress.com/748/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clarotesting.wordpress.com/748/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clarotesting.wordpress.com/748/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=748&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clarotesting.wordpress.com/2011/09/13/it-always-takes-longer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f3a41686277ea847bd809c7b7de812a5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">clarotesting</media:title>
		</media:content>
	</item>
		<item>
		<title>Prototyping &#8211; making informed decisions at the right time</title>
		<link>http://clarotesting.wordpress.com/2011/07/06/prototyping-making-informed-decisions-at-the-right-time/</link>
		<comments>http://clarotesting.wordpress.com/2011/07/06/prototyping-making-informed-decisions-at-the-right-time/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 12:58:32 +0000</pubDate>
		<dc:creator>James Christie</dc:creator>
				<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://clarotesting.wordpress.com/?p=620</guid>
		<description><![CDATA[The day after I wrote my last blog about taking decisions I went to a talk arranged by the Scottish Usability Professionals Association, “An Introduction to Prototyping”. The speaker was Neil Allison of the University of Edinburgh&#8217;s Website Development Project. There&#8217;s no need for me to discuss Neil&#8217;s talk at length because he&#8217;s posted it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=620&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The day after I wrote my last blog about taking decisions I went to a talk arranged by the <a title="Scottish UPA" target="_self" href="http://www.scottishupa.org.uk/"><font color="blue"><strong>Scottish Usability Professionals Association</strong></font></a>, “An Introduction to Prototyping”. </p>
<p>The speaker was Neil Allison of the <a title="University of Edinburgh Website Project" target="_self" href="http://www.ed.ac.uk/schools-departments/website-programme"><font color="blue"><strong>University of Edinburgh&#8217;s Website Development Project</strong></font></a>.</p>
<p>There&#8217;s no need for me to discuss Neil&#8217;s talk at length because <a title="Neil Allison's prototyping presentation" target="_self" href="http://usability-ed.blogspot.com/2011/06/intro-to-prototyping-presentation-supa.html"><font color="blue"><strong>he&#8217;s posted it here</strong></font></a>.</p>
<p>Neil used a phrase that leapt out at me. Prototyping <i>”helps us take informed decisions at the right time”.</i></p>
<p>That was exactly what I was thinking about when I wrote <a title="my blog about decisions" target="_self" href="http://clarotesting.wordpress.com/2011/06/21/decisions-about-decisions/"><font color="blue"><strong>in my last blog</strong></font></a> about taking decisions at the right time, the last responsible moment in Lean terms.</p>
<p>Neil&#8217;s phrase summed up the appeal of prototyping perfectly for me. We can take <i><b>informed</b></i> decisions at the <i><b>right</b></i> time; not take poor, arbitrary or ill-informed decisions when we&#8217;ve simply run out of options and have to take whatever default option we&#8217;re left with.</p>
<p>In a later email Neil made the point that I keep on trying to make; that usability testing should shape the design, rather than evaluate it.</p>
<p><i>&#8220;When I do usability testing, it&#8217;s to check the requirements and the ease of use of a preferred solution. Usually before development begins in earnest as it&#8217;s too time consuming and/or costly to backpedal later. (Almost) pointless doing usability testing if you don&#8217;t have the resources to take action on the findings&#8221;.</i></p>
<p>Prototyping may have clear benefits but Neil is still trying to raise awareness within the university, spreading the word and trying to widen the use of the technique.</p>
<p>Testers should never see their role as being defined by a rigid process. They should always be looking for better ways to do their job, and be prepared to lobby and educate others.</p>
<p>Please have a look at Neil&#8217;s presentation, which contains advice on useful books and tools.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clarotesting.wordpress.com/620/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clarotesting.wordpress.com/620/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clarotesting.wordpress.com/620/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clarotesting.wordpress.com/620/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clarotesting.wordpress.com/620/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clarotesting.wordpress.com/620/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clarotesting.wordpress.com/620/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clarotesting.wordpress.com/620/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clarotesting.wordpress.com/620/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clarotesting.wordpress.com/620/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clarotesting.wordpress.com/620/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clarotesting.wordpress.com/620/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clarotesting.wordpress.com/620/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clarotesting.wordpress.com/620/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=620&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clarotesting.wordpress.com/2011/07/06/prototyping-making-informed-decisions-at-the-right-time/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f3a41686277ea847bd809c7b7de812a5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">clarotesting</media:title>
		</media:content>
	</item>
		<item>
		<title>Decisions about decisions</title>
		<link>http://clarotesting.wordpress.com/2011/06/21/decisions-about-decisions/</link>
		<comments>http://clarotesting.wordpress.com/2011/06/21/decisions-about-decisions/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 19:43:40 +0000</pubDate>
		<dc:creator>James Christie</dc:creator>
				<category><![CDATA[Requirements]]></category>

		<guid isPermaLink="false">http://clarotesting.wordpress.com/?p=324</guid>
		<description><![CDATA[Last week I was sounding off about the poor way we often handle problems. There&#8217;s another topic that&#8217;s been bugging me; the poor way we deal with decisions, applying a decision making style suited to one environment in a completely inappropriate context. People often have a strange attitude towards decisions. Their instinct is that important [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=324&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last week I was sounding off about the poor way we often handle problems. There&#8217;s another topic that&#8217;s been bugging me; the poor way we deal with decisions, applying a decision making style suited to one environment in a completely inappropriate context.</p>
<p>People often have a strange attitude towards decisions. Their instinct is that important decisions require a lot of time and effort. Also, they have an irrational gut feeling that decisions become important and justify lots of our time simply because they are complex. We can get rattled by trivial decisions, where there are surprising complexities that make it difficult to give a definitive right answer.</p>
<p>I&#8217;ve been given two pieces of invaluable advice about decision making. The first was from my father when I was still at school.</p>
<p><em>”Very often the worst decision is no decision. Often the difference between two options is less than the consequences of hanging around, wasting time and not making any decisions at all. Just make your decision and get on with it.”</em></p>
<p>The second piece of advice was from my manager just after I left university. He went on to become a famous and wealthy businessman. He also had a somewhat cavalier approach to business ethics, which ultimately attracted some very unfavourable press, so I won&#8217;t name him. I don&#8217;t want to give the impression I endorse his views in general. We disagreed about the way to conduct business, but I&#8217;ve found his advice about decision making valuable.</p>
<p>He&#8217;d asked me to research a company that we might invest in. I took a couple of days to produce a detailed and thorough analysis explaining all the pros and cons of investing.</p>
<p>He read it, then told me that it was a good, thorough piece, but I&#8217;d wasted time on delving into too much detail.</p>
<p><em>“There are probably no more than about three factors you have to take account of before you make a decision. The rest are either unimportant or irrelevant. The trick is being able to recognise the key points and not waste time on stuff that won&#8217;t actually affect the decision”.</em></p>
<p>Often we get intimidated by the thought of taking responsibility and taking decisions. So we retreat into time-wasting detail. It shows we&#8217;re taking our responsibilities seriously and helpfully defers the point when we have to make our decision.</p>
<p>So, yes, my father and my manager were right. An unwillingness to take appropriately quick decisions <em>can</em> have a paralysing effect, and we <em>do</em> have a tendency to plunge into suffocating detail rather than focussing on what really matters.</p>
<p>However, the advice from my father and my manager weren&#8217;t rigid rules. They were just guidelines, and shouldn&#8217;t be applied inflexibly in every situation.</p>
<p>During the Second World War my father served in the airborne forces, a branch of the army in which making quick decisions and then getting on with it wasn&#8217;t a management style, it was a matter of life and death. Later he was a successful salesman and senior sales manager. That career encouraged and rewarded his decisiveness.</p>
<p>My manager was leading a fast moving investment team, buying and selling shares every day. Again, cool and quick thinking were crucial.</p>
<p>The context is crucial when it comes to selecting a style of decision making. In software development we&#8217;ve been hopeless at taking decisions and that&#8217;s largely because we haven&#8217;t recognised the context, which is different from the environment my father and manager thrived in.</p>
<p>Some organisations have a culture that assumes sound decisions require time and detail; if they throw a load of time and analytical effort at a problem they can confidently set their decisions in stone. That&#8217;s how the Waterfall, and traditional development methods operated.</p>
<p>Other places favour bold, early decisions, imposing arbitrary implementation dates on projects before anyone knows how much work is involved, or settling on outline design solutions before the requirements are understood (or <em>instead</em> of the requirements, <a title="my blog on Tom Gilb's teaching about requirements" href="http://clarotesting.wordpress.com/2010/05/19/tom-gilb-and-project-requirements/"><font color="blue"><strong>see my blog on Tom Gilb&#8217;s thoughts on requirements</strong></font></a>).</p>
<p>Mostly we&#8217;ve mixed up our decision making styles in a way that defies logic and business sense and has given us the worst of both worlds.</p>
<p>Senior executives have applied the advice of my father and manager recklessly, going for ill-informed decisions while project teams have got lost in detail, ignoring big and simple signs that could have let them take important decisions earlier.</p>
<p>The paradox for such teams has been that they might have been taking months to reach irreversible decisions, but the truth was that the decisions were often taken too early in the logical sequence of the project, e.g. the confusion of design and requirements (Gilb again) and the pretence that a viable user interface can be confirmed before the users have tried it.</p>
<p>So, my experience in IT has taught me a third maxim.</p>
<p><em><strong>The right initial decision is usually to decide what sort of decision we&#8217;re looking at.</strong></em></p>
<p>Should we just do it? Take a quick decision and move on. Either it doesn&#8217;t matter, or the right answer is clear now.</p>
<p>Should we park it till later and not waste time agonising over it now, when we don&#8217;t have the right supporting information?</p>
<p>Or should we make a provisional decision, act on it and revisit it when we know more?</p>
<p>The trick is to know what sort of problem we&#8217;re looking at.</p>
<p>That takes us on to Lean, which has a very pragmatic and helpful attitude towards decision making. It incorporates the principle of taking decisions at the “last responsible moment”.</p>
<p>That doesn&#8217;t mean the last possible moment. It&#8217;s not a recipe for indecision and procrastination. The last responsible moment could be very early, depending on the circumstances.</p>
<p>This is one of the aspects of Lean that appeals to me. It not only makes sense in software development terms, it also recognises the general point that context is crucial rather than pretending that a single, inflexible approach to decision making applies in every circumstance.</p>
<p>As Mary Poppendieck put it in <em>“The Predictability Paradox”</em>, sadly not available on-line.</p>
<p><em>“You need to develop a sense of when decisions must be made and then make them when their time has come. It is equally important to develop a sense of what is critically important in the domain and make sure these areas are not overlooked in the decision-making process.”</em></p>
<p>Mary and Tom Poppendieck expanded on this in their book <a title="Mary &amp; Tom Poppendieck's book on Lean software development" target="_self" href="http://bit.ly/m1I2qW"><font color="blue"><em><strong>“Lean software development: an agile toolkit”</strong></em></font></a>.</p>
<p>So it&#8217;s useful to keep running mental checks, to make sure you&#8217;re treating the decision appropriately, and not just taking a decision because you&#8217;re feeling gung ho, or deferring a decision because you want more and more information that won&#8217;t really affect the final decision.</p>
<p>It&#8217;s also important to have confidence in your own judgement and experience. Point out to critics that a quick decision isn&#8217;t necessarily a hasty one, and a deferred decision doesn&#8217;t mean indecisiveness. It all depends on the context.</p>
<p>Finally, and please, if you know me, don&#8217;t inflict on me any more meetings that last for an hour after everyone has reached agreement, but in which people felt they had to drag in more and more ammunition to support the big decision. One day I may just go berserk!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clarotesting.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clarotesting.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clarotesting.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clarotesting.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clarotesting.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clarotesting.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clarotesting.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clarotesting.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clarotesting.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clarotesting.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clarotesting.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clarotesting.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clarotesting.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clarotesting.wordpress.com/324/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=324&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clarotesting.wordpress.com/2011/06/21/decisions-about-decisions/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f3a41686277ea847bd809c7b7de812a5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">clarotesting</media:title>
		</media:content>
	</item>
		<item>
		<title>The problem is not the problem</title>
		<link>http://clarotesting.wordpress.com/2011/06/15/the-problem-is-not-the-problem/</link>
		<comments>http://clarotesting.wordpress.com/2011/06/15/the-problem-is-not-the-problem/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 15:15:25 +0000</pubDate>
		<dc:creator>James Christie</dc:creator>
				<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://clarotesting.wordpress.com/?p=317</guid>
		<description><![CDATA[There are two issues that have been bugging me for a while now and I mean to get them off my chest this week. They&#8217;re not software testing topics but as with so many psychological, organisational or social problems they do have a very real relevance for testers. We don&#8217;t exist in a technical or [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=317&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There are two issues that have been bugging me for a while now and I mean to get them off my chest this week.</p>
<p>They&#8217;re not software testing topics but as with so many psychological, organisational or social problems they do have a very real relevance for testers. We don&#8217;t exist in a technical or procedural bubble that insulates us from the blizzard of conflicting and confusing influences that swirl around every organisation.</p>
<p>The first issue is that of problems. Very often the problem is not the problem. The problem we see is not necessarily the real, possibly very damaging, problem.</p>
<p>As testers this shouldn&#8217;t be news. We&#8217;re used to root cause analysis, delving behind the curtain to find out why things have gone wrong and not being deceived by what we initially see. We should also be familiar with the “five whys”, or some variant on that; the discipline of repeatedly challenging answers till we burrow down to the heart of the problem.</p>
<p>That&#8217;s not what I want to talk about here. Things go wrong, in life, at work, and especially in software development. That&#8217;s the way of it.</p>
<p>What really matters, certainly in the long run, is often not the problem itself but the way we deal with it.</p>
<p>We can deal with the problem in a brisk and efficient manner, resolving the immediate concerns, learning the right lessons and moving on. Or we can blunder into any one of several traps that could hurt us far more than the original problem did.</p>
<p>The first is the cover up. Watergate is the great historical example. The original crime might have been handled without damaging Richard Nixon, but it was the cover up that ended his presidency.</p>
<p>When we, as software developers, hit problems the worst thing we can do is attempt to cover up. Honesty with customers and users isn&#8217;t simply honourable and ethical, it also buys you trust and support. </p>
<p>Own up on the smaller problems and it may just buy you the credibility and goodwill to save your skin when you hit big, career threatening problems.</p>
<p>Denial is the sibling of the cover up. It might not be a vigorous, outspoken denial. It may just be a matter of kidding ourselves that there&#8217;s nothing really wrong, that we can carry on as before once we&#8217;ve sorted the problem. It was just bad luck, or a bit of carelessness. No big deal. Just move on folks. Nothing to learn here.</p>
<p>The next trap is the one you plunge into if you head off in the opposite direction; over-reaction. Losing your temper and savaging staff is obviously damaging and isn&#8217;t tolerated in healthy organisations any more, but a more insidious variant is still too prevalent. That is the tendency to blame individuals. </p>
<p>Someone must be to blame, somebody must have screwed up and be held to account. I once worked somewhere with an appalling blame culture. Problems were something to run away from, not something to fix. No-one wanted to jump in and proactively resolve problems in case they got implicated in the management investigation and fallout.</p>
<p>A more respectable form of over-reaction is the assumption that the problem justifies sweeping changes or drastic action rather than careful tweaking. Instead of a careful analysis of what actually went wrong and what the cause was, there is the presumption that it was confirmation of a trend, or deeper problem, that was previously suspected. </p>
<p>That leads me on to the fourth trap, confirmation bias. We convince ourselves the world should work a certain way. Any and every problem can be interpreted as supporting evidence.</p>
<p>The glaring example in the history of software development was the conviction that software development should be essentially the same as construction engineering. Early experts saw practitioners struggling to manage projects with a more or less structured and orderly linear process. They concluded that the answer to the problem was to try and make the process even more rigidly structured, more ordered and more linear. We got Structured Methods (shudder!).</p>
<p>After all, nobody builds a bridge incrementally, opening it bit by bit. No-one erects a building in several iterations. So software engineering shouldn&#8217;t be any different. That was more or less the line of thought. Life might be simpler if software development were a highly predictable and controllable process, but the truth is that development is not like that.</p>
<p>I referred to this problem on my blog earlier this year when I explained <a title="the predictability paradox" href="http://clarotesting.wordpress.com/2011/01/12/usability-and-external-suppliers-%E2%80%93-part-2/"><font color="blue"><strong>the predictability paradox</strong></font></a>.</p>
<p>The correct response to the problem would have been to go with the grain of the problem, embracing the uncertainty, building iteration and incremental development into the development process rather than pretending that we understand the business problem sufficiently well to proceed down a rigid, linear route. </p>
<p>The problem was assumed to be that software engineering was not sufficiently like construction engineering. Divergence between the two activities was seen not as evidence of a genuine difference, but as proof that the software developers were out of line. The truth was that software development is a quite separate discipline and the real problem was that developers were forced to contort their practices to fit a wildly inappropriate paradigm.</p>
<p>The real problem wasn&#8217;t the problem the profession saw. It was their response to the problem.</p>
<p>None of this is new to marketing people. Apparently BMW owners who have a problem with their car are more likely to buy another BMW than those who have no problems. Why? It&#8217;s because of the way that BMW deal with problems. Is it true? Well, I don&#8217;t have access to the statistics, but that&#8217;s BMW&#8217;s reputation. Problems have become an asset, rather than remaining a problem.</p>
<p>What does this mean for any of us? It&#8217;s not easy to draw a neat solution to this problem of problems. All I can pass on is something I have found useful.</p>
<p>Often we plunge into one of the traps because we choose to respond in a way that suits our instincts or prejudices, or which is just the easy, comfortable response. </p>
<p>Take a breath before committing yourself and ask yourself whether your response is what ought to happen. Or is it the response that you&#8217;d really like to be the right one? Is it the easy one? Are you maybe dodging the real issue, going for short term expediency rather than long term results? </p>
<p>Run through the traps I&#8217;ve discussed. Do any of these make you wonder about your response?</p>
<p>Is your reaction to the problem going to be seen as the real problem further down the line?</p>
<p>After I wrote this I checked the phrase “the problem is not the problem” to see if anyone had used it before. Initially I was a bit disappointed to see that <a title="Tom Peters' video on problems" target="_self" href="http://www.youtube.com/watch?v=UFZA2rWUjxI"><font color="blue"><strong>Tom Peters</strong></font></a> has, but then I cheered up when I realised he&#8217;s a pretty respectable ally! Watch the video in the link or, if you&#8217;re in the office, check out <a title="Tom Peters' transcript on problems" target="_blank" href="http://www.tompeters.com/blogs/toms_videos/docs/Leadership_The_Problem_Isnt.pdf"><font color="red"><strong>the transcript</strong></font></a> (PDF, opens in a new window). It&#8217;s very much in line with my argument, but he puts a bit of extra spin on it.</p>
<p>The other thing I want to get off my chest this week is about making decisions. I&#8217;ll be back in a day or so.</p>
<p>Please add any comments. I do like to see what people think. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clarotesting.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clarotesting.wordpress.com/317/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clarotesting.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clarotesting.wordpress.com/317/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clarotesting.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clarotesting.wordpress.com/317/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clarotesting.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clarotesting.wordpress.com/317/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clarotesting.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clarotesting.wordpress.com/317/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clarotesting.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clarotesting.wordpress.com/317/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clarotesting.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clarotesting.wordpress.com/317/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=317&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clarotesting.wordpress.com/2011/06/15/the-problem-is-not-the-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f3a41686277ea847bd809c7b7de812a5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">clarotesting</media:title>
		</media:content>
	</item>
		<item>
		<title>When documentation is a waste of time</title>
		<link>http://clarotesting.wordpress.com/2011/04/12/when-documentation-is-a-waste-of-time/</link>
		<comments>http://clarotesting.wordpress.com/2011/04/12/when-documentation-is-a-waste-of-time/#comments</comments>
		<pubDate>Tue, 12 Apr 2011 14:50:21 +0000</pubDate>
		<dc:creator>James Christie</dc:creator>
				<category><![CDATA[Reporting & communicating]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://clarotesting.wordpress.com/?p=304</guid>
		<description><![CDATA[Documentation is like eating and drinking. It&#8217;s essential, but in the right quantities, at the right time and in the right place. You don&#8217;t want to get obese, and you certainly don&#8217;t want to drown. Yet some companies just can&#8217;t get a healthy sense of perspective with documentation. There&#8217;s no sense of “just enough”. They [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=304&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Documentation is like eating and drinking. It&#8217;s essential, but in the right quantities, at the right time and in the right place. You don&#8217;t want to get obese, and you certainly don&#8217;t want to drown.</p>
<p>Yet some companies just can&#8217;t get a healthy sense of perspective with documentation. There&#8217;s no sense of “just enough”. They always seem to need more than is required, as if documentation is an end in itself.</p>
<p>I&#8217;ve been following Michael Bolton&#8217;s short blog series on test cases, <a target="_self" title="Michael Bolton, questioning test cases part 1" href="http://www.developsense.com/blog/2011/04/questioning-test-cases-part-1/"><font color="blue"><strong>part 1</strong></font></a> and <a target="_self" title="Michael Bolton, questioning test cases part 2" href="http://www.developsense.com/blog/2011/04/questioning-test-cases-part-2/"><font color="blue"><strong>part 2</strong></font></a>, which I strongly recommend. As well as looking at the specific question of test cases, the wider issue of documentation is discussed, especially in the comments following the second piece.</p>
<p>What really gets me about the demand for skiploads of documentation is that it comes at a huge price. The time I’ve had to spend pointlessly perfecting documents that weren’t needed could have been better spent understanding the application, the business problem and the technology. I’ve sometimes had the dispiriting insight that I knew my way round the documentation far better than I knew the application.</p>
<p>Fiona Charles and Michael refer to a belief in documentation as being a phase that testers go through. Read their comments in part 2 on Michael&#8217;s blog. I certainly recognise that pattern.</p>
<p>For me the epiphany, the moment when the last illusions vanished, was on a project where the demand for documentation was insatiable, the deadlines fixed, and the  testers too few.</p>
<p>As usual the documentation was produced from the top down; from the contract to the strategy, to the stage test plans, to the detailed test plans, to the test cases.</p>
<p>We were running out of time, but there was no let up in the demand for documentation. Massive test plans had to be refined and reworked even as we were moving into text execution, with only a few sketchy test case scripts in place.</p>
<p>The inevitable consequence was that the test execution was based almost entirely on the judgement, experience and knowledge of the business that the testers had, rather than all the paper plans. The perverse result of confusing documentation with structure was that the test execution was largely improvised and unstructured.</p>
<p>The huge effort that went into the higher level documentation was wasted because it never fed through into the detailed scripts. The test execution was pretty much what would have happened in the absence of all that documentation. Well, maybe not quite like that. If the testers had not been forced to churn out unwanted documentation they would have been actively involved earlier in the project, detecting and forestalling defects. </p>
<p>We could have done so much better for the project if we&#8217;d been allowed to select an approach that fitted the real problem, as opposed to a barely relevant process that was driven by an addiction to documentation, rather than by the risk. We could then have planned and prepared for the test execution in a way that would have helped us test better.</p>
<p>The actual testing was well informed and very valuable, but that was despite the documentation, not because of it. So much time was simply wasted in the preparation.</p>
<p>Even during the execution a lot of time was wasted attempting to retro-fit the execution to the test plans so that we could manipulate Quality Center to produce the reports for stakeholders who had such a poor grasp on our efforts that they couldn&#8217;t distinguish between the plans and reports and the reality that they were supposed to represent.</p>
<p>My epiphany was the awful realisation that the project was so dysfunctional that the documentation had become the reality.</p>
<p>One of the comments in Michael&#8217;s blog referred to the perceived need for test case documentation to satisfy the auditors. This is a red herring. Good auditors don&#8217;t need to see documented test cases. They need to see evidence of testing that was appropriate in the circumstances.</p>
<p>Of course there are plenty of bad auditors around, but I think that’s usually a result of inexperience or an unhealthy corporate culture. In any case the best response is to speak to them, to understand them and to change their attitudes if possible.</p>
<p>Whatever you do don&#8217;t try to second guess them and produce documentation in the expectation that they require it. When I was an auditor it would drive me up the wall when I found people wasting their time on documentation simply because they wrongly believed I would need to see it.</p>
<p>If you want some more ammunition to try and get auditors onside you could tell them to look at the Sarbanes Oxley guidance material from the Information Systems Audit &amp; Control Association. It’s available to members only on their website. Let me know if you want a copy.</p>
<p>The Institute of Internal Auditors has also provided <a target="_blank" title="IIA guidance on Sarbox" href="http://www.theiia.org/download.cfm?file=31866"><font color="red"><strong>guidance on Sarbox<em></em></strong></font></a> (PDF &#8211; opens in new window).</p>
<p>Sarbox may apply only to the USA, but its requirements are fairly stringent, and you’d have a very strong argument if you could show that not even it requires detailed test scripting. The trouble is that Sarbox has the reputation for demanding extensive documentation, and some auditors go by the reputation rather than the legislation.</p>
<p>Or look at this <a target="_self" title="Kanway Mookhey on auditing projects" href="http://www.theiia.org/intAuditor/itaudit/archives/2008/may/auditing-it-project-management/"><font color="blue"><strong>article by Kanwal Mookhey</strong></font></a> in the Internal Auditor magazine.</p>
<p>And <a target="_self" title="James Christie on standards and testing" href="http://clarotesting.com/page20.htm"><font color="blue"><strong>this article (on my business site)</strong></font></a> I wrote, in which Kanwal gave me some more explicit quotes on this subject.</p>
<p>Documentation must never be an end in itself. The analogy I drew with eating and drinking at the start wasn&#8217;t perfect. You might eat and drink for pleasure, but no sane person produces documentation for the joy of stacks of shelfware. Do yourself, and your projects a favour by challenging the unthinking demand for more and more detailed documentation.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clarotesting.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clarotesting.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clarotesting.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clarotesting.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clarotesting.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clarotesting.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clarotesting.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clarotesting.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clarotesting.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clarotesting.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clarotesting.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clarotesting.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clarotesting.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clarotesting.wordpress.com/304/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=304&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clarotesting.wordpress.com/2011/04/12/when-documentation-is-a-waste-of-time/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f3a41686277ea847bd809c7b7de812a5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">clarotesting</media:title>
		</media:content>
	</item>
		<item>
		<title>Phoebe the tester</title>
		<link>http://clarotesting.wordpress.com/2011/04/01/phoebe-the-tester/</link>
		<comments>http://clarotesting.wordpress.com/2011/04/01/phoebe-the-tester/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 23:20:55 +0000</pubDate>
		<dc:creator>James Christie</dc:creator>
				<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://clarotesting.wordpress.com/?p=290</guid>
		<description><![CDATA[Albert Gareev&#8217;s post on the Software Testing Club&#8217;s blog about Phoebe Buffay from Friends made me smile. I remember years ago, watching Friends in rapt admiration. Ross the paleontologist took Phoebe&#8217;s reluctance to believe in evolution as a personal affront. Phoebe, the scatty new-ager, dismantled Ross&#8217;s certainty in a masterful little cross-examination. YouTube doesn&#8217;t allow [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=290&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a title="Albert Gareev's post" target="_self" href="http://blog.softwaretestingclub.com/2011/04/if-phoebe-buffay-were-a-tester/"><strong><font color="blue">Albert Gareev&#8217;s post</font></strong></a> on the Software Testing Club&#8217;s blog about Phoebe Buffay from Friends made me smile.</p>
<p>I remember years ago, watching Friends in rapt admiration. Ross the paleontologist took Phoebe&#8217;s reluctance to believe in evolution as a personal affront.</p>
<p>Phoebe, the scatty new-ager, dismantled Ross&#8217;s certainty in a masterful little cross-examination.</p>
<p>YouTube doesn&#8217;t allow embedding of this clip, so <a title="Phoebe and Ross discuss evolution" target="_self" href="http://www.youtube.com/watch?v=cXr2kF0zEgI"><strong><font color="blue">here&#8217;s the link</font></strong></a>. The key bit is three and a half minutes in, but the lead up is fun anyway.</p>
<p>Frankly, Ross caved in far too easily, but that was largely the point as far as I was concerned. It wasn&#8217;t that he was wrong. The problem was that he was so convinced he was right that he was completely thrown by an astute rhetorical ploy.</p>
<p>He wasn&#8217;t used to being challenged, and couldn&#8217;t handle it. He was tested and failed.</p>
<p>Phoebe may not have cut it as a conventional corporate software tester, but she did have some qualities that are priceless for testers.</p>
<p>She had a distinct perspective. She looked at the same things that others saw, but saw them in a different way.</p>
<p>She wasn&#8217;t afraid to be out of step. She wasn&#8217;t worried about ridicule and didn&#8217;t care if people thought she was wrong. She was as far from being a “yes person” as you could find.</p>
<p>Above all she challenged conventional wisdom and forced people to question their assumptions. She enjoyed doing so, and managed to do it without truly upsetting people.</p>
<p>If the example had involved Phoebe being unambiguously right, whilst Ross was totally wrong, what would there be to learn from it?</p>
<p>I think most of us would agree that if the project is doing something wrong we should question it. The trouble is that challenging other people, especially senior people, or challenging requirements, can seem ill-mannered or dangerous. So it&#8217;s all to easy to persuade ourselves that they&#8217;re probably right. We just drift along and don&#8217;t ask questions.</p>
<p>Sceptical thinking and challenging questions are worthwhile regardless of whether we know we&#8217;re right or wrong. We often don&#8217;t <em><strong>know</strong></em> &#8211; not for sure. It&#8217;s important we don&#8217;t act as if we did know, as if certainty were available.</p>
<p>We have to ask the difficult questions to try and help everyone gain a better understanding of what&#8217;s going on. Even if our stance as devil&#8217;s advocate is wrong, or unsound, the process of questioning should have helped clarify everyone&#8217;s thinking.</p>
<p>Ross&#8217;s conviction that he was right hadn&#8217;t been tested. As soon as Phoebe swung into tester mode Ross crashed with a severity 1 failure. Maybe he needed to sharpen up his thinking and his debating skills? Ross the Debater 0.2 would surely have done far better after failing that test.</p>
<p>When I originally watched this episode of Friends I had recently switched to testing after spending a few years in computer audit. I could empathise with Phoebe&#8217;s willingness to challenge, and stir things up. I loved her sense of mischief as she did so A sense of mischief? I&#8217;ve never seen that in a job ad for a tester, but it&#8217;s not a bad quality.</p>
<p>Come to think of it, I remember a programme manager at IBM calling me an <a title="definition of iconoclasm" target="_self" href="http://en.wikipedia.org/wiki/Iconoclasm"><strong><font color="blue">iconoclast</font></strong></a>. As a Christian of the reformed tradition I was happy to take that as a compliment!</p>
<p>Please! Don&#8217;t get over-analytical about the story of Phoebe the tester. It&#8217;s not an argument about evolution, or religion or science. As Phoebe said, <em>“that was fun – so who&#8217;s hungry?”</em>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clarotesting.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clarotesting.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clarotesting.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clarotesting.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clarotesting.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clarotesting.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clarotesting.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clarotesting.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clarotesting.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clarotesting.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clarotesting.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clarotesting.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clarotesting.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clarotesting.wordpress.com/290/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=290&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clarotesting.wordpress.com/2011/04/01/phoebe-the-tester/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f3a41686277ea847bd809c7b7de812a5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">clarotesting</media:title>
		</media:content>
	</item>
		<item>
		<title>Why do people happily accept poor quality?</title>
		<link>http://clarotesting.wordpress.com/2011/02/18/does-kakonomics-offer-insights-for-testers/</link>
		<comments>http://clarotesting.wordpress.com/2011/02/18/does-kakonomics-offer-insights-for-testers/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 19:47:07 +0000</pubDate>
		<dc:creator>James Christie</dc:creator>
				<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://clarotesting.wordpress.com/?p=280</guid>
		<description><![CDATA[At the weekend whilst lounging in a hot bath, after an excellent dinner, I came across this striking article about kakonomics by Oliver Burkeman in the Guardian&#8217;s magazine. It sought to explain why so much of life just sucks. Given the extremely comfortable circumstances in which I was reading his article I wasn&#8217;t entirely convinced [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=280&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>At the weekend whilst lounging in a hot bath, after an excellent dinner, I came across this striking article about <a title="kakonomics by Oliver Burkeman" target="_self" href="http://www.guardian.co.uk/lifeandstyle/2011/feb/12/mediocrity-sucks-who-cares-burkeman"><font color="blue"><strong>kakonomics by Oliver Burkeman</strong></font></a> in the Guardian&#8217;s magazine.</p>
<p>It sought to explain why so much of life just sucks. Given the extremely comfortable circumstances in which I was reading his article I wasn&#8217;t entirely convinced that life does suck all that badly. However, I certainly was receptive to the deeper meaning; that we are loften motivated by laziness and the desire for an easy, unchallenging life.</p>
<p>People enter into a sly conspiracy in which they happily trade low quality results, whilst indulging in high quality, but bogus rhetoric, for the record.</p>
<p>Burkeman&#8217;s article was based on the work of the Italian philosopher Gloria Origgi. See these articles from her blog; <a target="_self" title="kakonomics by Gloria Origgi" href="http://gloriaoriggi.blogspot.com/2011/01/kakonomics-or-strange-preference-for.html"><font color="blue"><strong><em>&#8220;Kakonomics, or the strange preference for Low-quality outcomes&#8221;</em></strong></font></a> and <a target="_self" title="the kakonomics of Facebook" href="http://gloriaoriggi.blogspot.com/2011/01/kakonomics-of-facebook.html"><font color="blue"><strong><em>&#8220;The Kakonomics of Facebook&#8221;</em></strong></font></a>.</p>
<p>I had no difficulty accepting the gulf between grubby reality and the bogus rhetoric of high flying ideals. That has always been a feature of my working life.</p>
<p>Were people really happy with that gulf? It is of course counter-intuitive. I was sceptical. However, the more I thought about it the more willing I was to accept Origgi&#8217;s insights.</p>
<h4>Transformation Programmes that transform nothing</h4>
<p>I have often been puzzled at how some organisations have been seemingly trapped in damaging, dysfunctional behaviour, with no apparent willingness to break out and transform themselves. They have certainly been too willing to launch Transformation Programmes (note the deliberately disrespectful and cynical capital letters).</p>
<p>These programmes have rarely been designed to truly transform anything. They have simply rearranged anything and everything capable of being rearranged. The real work has carried on in spite of the transformation.</p>
<p>Once I really did see one of those programmes produce genuine and exciting benefits. That those benefits were irrelevant and accidental by-products of the Programme was revealed shortly before it was wound down.</p>
<p>A review of what had been achieved swept the benefits away in an act of casual destruction that effectively reinstated the pre-transformation status quo, but with a superficially different structure and youthful new faces added to the lower layers of the management team.</p>
<p>Was kakonomics at work there? Did the consultants deliver some low grade, but expensive, rubbish, which the management were happy to take on board because it didn&#8217;t challenge them to change either their behaviour or the organisation&#8217;s culture?</p>
<p>The last minute review ensured that management could carry on as before, but with the enhanced prestige of having “done something” about the abysmal quality and late delivery of IT applications.</p>
<h4>Kakonomics and traditional development practices?</h4>
<p>I have worked on many developments when you could sense the relief at progress meetings when someone confessed that they&#8217;d had problems and would deliver late. By doing so they let the others off the hook and no-one would be required to deliver on time.</p>
<p>That is consistent with kakonomics, but it can also be attributed to a natural human desire not to be the first to admit failure, or an equally natural desire for easier targets. By their actions do people really solicit and encourage poor quality and performance?</p>
<p>The possibility that Origgi might be right seemed stronger when I reflected on occasions when people had stood up and not only insisted on high quality outcomes, but delivered them. Were they lauded and rewarded as heroes?</p>
<p>Well, no. Not consistently.</p>
<p>I remember a friend once saying, shortly before he handed in his notice, that it made no sense to be a high performer at the company where we worked.</p>
<p>The difference in reward was negligible and insufficient to justify the extra effort. Worse, slovenly and inefficient work had its own reward in the form of generous, overtime without scrutiny of what was achieved. Sloppy cowboys could earn more than diligent craftsmen.</p>
<p>The users were untroubled. Everything was late and poor quality. However, the IT people made perfect scapegoats. Requirements could therefore be late, badly defined, and always open to change. IT would take the blame without complaint, largely because they knew it was expected of them, and in the full knowledge that the gap between aspiration and reality would be tolerated and leave them with a substantial comfort zone.</p>
<p>Both there and elsewhere rewards have gone more consistently to those who play the game rather than those who seek and even deliver genuine improvement.</p>
<p>Following practices, such as the Waterfall, V Model and Structured Methods, which are inefficient and ineffective but were widely regarded as “standard” or “best practice” for years reinforced kakonomic exchanges of low quality throughout the IT profession.</p>
<p>If people follow them and the results are bad than they can always pretend that they tried to do it right, but were unlucky. No-one is really to blame, or accountable, and we can all carry on as before. The rhetoric is impeccably high quality. The reality is garbage.</p>
<p>If people deliver something special and high quality then they are probably iconoclasts or rebels who have rejected the methods that would have ensured low quality failure. They have therefore rejected the cosy consensus of the status quo and set a challenge to the organisation.</p>
<p>Whereas those who fail do so conventionally, and can therefore be excused as unlucky but dependable, the rebels are seen as difficult, spiky individuals. Their success is a one off, which can&#8217;t offer a pattern, being dependent on individual skill rather than repeatable process.</p>
<p>There&#8217;s a blog to be written about whether CMMI is misused so that it encourages kakonomic exchanges by implicitly valuing repeatable, predictable failure above erratic, but sometimes brilliant individualism.</p>
<p>Anyway, the rebels have breached the subliminal contract of the kakonomic exchange, leaving their colleagues distinctly uncomfortable. No-one would admit to the real reason for that discomfort, and they happily ascribe it to concern about the rebels&#8217; cavalier style, which creates friction and harms morale. They are “difficult”, “not team players”.</p>
<p>The conventional team players glide up the organisation, and if the rebels are wise they head for an organisation where sparks are welcomed, rather than feared.</p>
<h4>Is Agile a panacea?</h4>
<p>I&#8217;m not sure there&#8217;s much for proponents of Agile to be complacent about here. If Agile is badly implemented then I&#8217;d expect exactly the same reinforcement of bad practice. The trendier Agile becomes, the greater is the danger that it will be adopted for the bogus high quality rhetoric.</p>
<p>Perhaps Agile&#8217;s greatest strength in the long run is its adaptability and flexibility, rather than any particular technique. Any shrewd practitioner should surely realise that complacency is deadly to Agile, and would be attuned to the dangers of kakonomic exchanges, even if the term and the theory meant nothing to them. In principle, I&#8217;d have thought that such exchanges could occur anywhere.</p>
<h4>What about testers?</h4>
<p>I think that kakonomics can explain some of the daft, damaging and dysfunctional behaviour that happens in organisations. It might explain why people persist in doing things that are entirely inconsistent with their supposed objectives, and why they will do so in the sure knowledge that their behaviour will not be challenged.</p>
<p>Gloria Origgi is rightly critical of the damage this all does. Her analysis is not just an amusing reflection on the vagaries of life.</p>
<p>She explains that the reason <em>“it is a form of collective insanity so difficult to eradicate, is that each low-quality exchange is a local equilibrium in which both parties are satisfied, but each of these exchanges erodes the overall system in the long run”</em>.</p>
<p>Testing should be a comfortable home for those who are happy with creating and suffering a little discomfort! It should be our job not to tell people what they want to hear, or to go through the motions, or to follow the process blindly, but to shine a light on what&#8217;s really there.</p>
<p>In doing so it helps to think about why people behave as they do, and to understand why good people do bad things.</p>
<p>I don&#8217;t think it always applies, and it&#8217;s not a magical insight that explains everything, but maybe kakonomics is one of those things that can help us understand a little better, and to explain just why we are seeing damaging behaviour.  It might not make us popular, but unless the organisation is dying there should always be a place for unpopular, truthful insights about why we get poor quality.</p>
<p>One of the things about testing that I like is that it is a profession that has genuine respect for the teller of those unpopular truths!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clarotesting.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clarotesting.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clarotesting.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clarotesting.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clarotesting.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clarotesting.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clarotesting.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clarotesting.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clarotesting.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clarotesting.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clarotesting.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clarotesting.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clarotesting.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clarotesting.wordpress.com/280/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=280&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clarotesting.wordpress.com/2011/02/18/does-kakonomics-offer-insights-for-testers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f3a41686277ea847bd809c7b7de812a5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">clarotesting</media:title>
		</media:content>
	</item>
		<item>
		<title>Usability and external suppliers – part 2</title>
		<link>http://clarotesting.wordpress.com/2011/01/12/usability-and-external-suppliers-%e2%80%93-part-2/</link>
		<comments>http://clarotesting.wordpress.com/2011/01/12/usability-and-external-suppliers-%e2%80%93-part-2/#comments</comments>
		<pubDate>Wed, 12 Jan 2011 17:35:58 +0000</pubDate>
		<dc:creator>James Christie</dc:creator>
				<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://clarotesting.wordpress.com/?p=268</guid>
		<description><![CDATA[In my last post I talked about how the use of external suppliers can cause problems with the usability of applications. I promised to return to the topic and explain what the solutions are. I&#8217;m not sure I&#8217;d have bothered if I hadn&#8217;t stated that I would do it. The solutions are pretty basic and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=268&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In my last post I talked about how the <a target="_self" title="usability and external suppliers, part 1" href="http://clarotesting.wordpress.com/2010/11/17/usability-and-external-suppliers/"><strong><font color="blue">use of external suppliers</font></strong></a> can cause problems with the usability of applications. I promised to return to the topic and explain what the solutions are. I&#8217;m not sure I&#8217;d have bothered if I hadn&#8217;t stated that I would do it. The solutions are pretty basic and should be well known.</p>
<p>However, I&#8217;ve got to admit that there&#8217;s considerable reluctance to acknowledge the problems are real, and that the the solutions are relevant and practical. They won&#8217;t guarantee success, but since the traditional alternative load the odds heavily against success they&#8217;ve got to be an improvement.</p>
<h4>The predictability paradox</h4>
<p>There are two uncomfortable truths you have to acknowledge; the general problem and the specific one. In general, you can&#8217;t specify requirements accurately and completely up front, and any attempt to do so is doomed. The specific problem is that usability requirements are particularly difficult to specify.</p>
<p>Managers crave certainty and predictability. That&#8217;s understandable. What&#8217;s dangerous is the delusion that they exist when the truth is that we cannot be certain at the start of a development and we cannot predict the future with the level of confidence that we&#8217;d like.</p>
<p>It&#8217;s hard to stand up and say <em>“we don&#8217;t know – and at this stage we couldn&#8217;t responsibly say that we do know”</em>, even though that might be the truthful, honest and responsible thing to say.</p>
<p>It&#8217;s always been hugely tempting to pretend that you can set aside a certain amount of time during which you will get the requirements right in a single pass. It makes procurement, planning and management simpler.</p>
<p>Sadly any attempt to do so is like trying to build a house on shifting sand. The paradox is that striving for predictability pushes back the point when you truly can find out what is required and possible.</p>
<p>Mary Poppendieck made the point very well a few years back in an excellent article <em>&#8220;Lean Development and the Predictability Paradox&#8221;</em>. Unfortunately, it&#8217;s no longer available on-line on her website, though you can buy it from the <a target="_self" title="Lean Development and the Predictability Paradox" href="http://www.cutterconsortium.com/content/project/fulltext/summaries/2003/08/index.html"><strong><font color="blue">Cutter Consortium&#8217;s website</font></strong></a> at a rather steep $150. However, the important part of the paper is quoted in <a target="_self" title="Skip Angel's blog" href="http://leanagile.blogspot.com/2007/03/predictability-paradox.html"><strong><font color="blue">Skip Angel&#8217;s blog</font></strong></a>.</p>
<p>I tried to argue much the same point in an article in 2008, <a target="_self" title="The Dangerous and Seductive V Model" href="http://clarotesting.com/page11.htm"><strong><font color="blue"><em>“The Dangerous and Seductive V Model”</em></font></strong></a>. an article that has proved scarily popular on my website for the last couple of years. I guess many people still need to learn these lessons.</p>
<h4>Unrighteous contracts?</h4>
<p>Trying to create predictability by tying suppliers into tight contracts is a result of the delusion that predictability is available at an early stage. This can have perverse results.</p>
<p>Tight and tough contracts committing suppliers right at the start of a project is an understandable attempt to contain risk, or transfer it to the supplier.</p>
<p>Sadly, clients never truly transfer risk to the supplier if the risk is better handled internally. If the requirements are complex and poorly understood at the start then attempting to transfer the risk to the supplier is misguided.</p>
<p>Awarding a contract for the full development creates the danger that it will be awarded to the most optimistic, inexperienced or irresponsible supplier. Those suppliers with a shrewd understanding of what is really likely to be involved will tender cautiously and be undercut by the clueless, reckless or unprincipled.</p>
<p>When the wheels come off the project the client may be able to hold the supplier to the contract, but the cost will be high. Changes will be fought over, and the supplier will try to minimise the work – regardless of the impact on quality.</p>
<p>There seem to be three options about how to handle the contractual relationship with an external supplier if you want a suitable focus on quality, and especially usability.</p>
<p>The orthodox approach is to split the contract in two. The first contract would be to establish, at a high level, what is required, and ideally to deliver an early prototype. The second would be to build the full application.</p>
<p>This approach was recommended way back in 1987 by the <a target="_blank" title="US Defense Science Board Task Force On Military Software" href="http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA188561&amp;Location=U2&amp;doc=GetTRDoc.pdf"><strong><font color="red">US Defense Science Board Task Force On Military Software</font></strong></a> (PDF &#8211; opens in new window), and its motives were exactly the same as I&#8217;ve outlined.</p>
<p>The Agile approach would probably be to write contracts that have a budget for time and cost, and allow the scope to vary, possibly giving the client the right to cancel at set points, possibly after every iteration.</p>
<p>Martin Fowler summarises that approach well in this article, <a target="_self" title="Fowler's New Methodology" href="http://www.martinfowler.com/articles/newMethodology.html#TheAdaptiveCustomer"><strong><font color="blue"><em>“The New Methodology”</em></font></strong></a>.</p>
<p>The third, more radical, approach was mooted by Mary Poppendieck in her article <a target="_self" title="Righteous Contracts" href="http://www.leanessays.com/2002/04/righteous-contracts.html"><strong><font color="blue"><em>“Righteous Contracts”</em></font></strong></a>.</p>
<p>These “righteous contracts” would be written after the development, not at the start. I&#8217;m not convinced. It doesn&#8217;t seem all that different from simply dispensing with a contract and relying on trust, but I urge you to read her piece. She analyses the problems well and has some challenging ideas. I&#8217;d like to see them work, but they do seem rather idealistic.</p>
<p>Righteous contracts would work only if the client and supplier trust each other and are committed to a long term relationship. However, I&#8217;ve got to concede that without that trust and commitment the client is going to have problems with their suppliers regardless of the contractual style. You can&#8217;t create a productive partnership with a contract, but you can destroy it if the contract is poorly written and conceived.</p>
<h4>Enough of the contracts! What about UX?</h4>
<p>This piece was really prompted by my concerns about the effects of the contractual relationship between clients and suppliers, so not surprisingly I&#8217;ve been focussing on contracts.</p>
<p>However, I must admit I&#8217;ve found that rather dispiriting. So in order to feel a bit more positive I&#8217;m going to provide some pointers about how to try and handle usability better.</p>
<p>I discussed this in <a target="_self" title="Agile &amp; UX" href="http://clarotesting.com/page18.htm"><strong><font color="blue">an article in 2009</font></strong></a>. It&#8217;s all about Agile and UX, but that&#8217;s where the interesting work is being done, and honestly, I&#8217;ve nothing positive to say about how traditional, linear techniques have handled usability. It might be possible to smuggle in techniques like Nielsen&#8217;s Discount Usability Engineering, or more ambitiously, Constantine &amp; Lockwood&#8217;s Collaborative Usability Inspections. However, remember we&#8217;re talking about external suppliers and the contractual relationship. These techniques require iteration, and if the contract doesn&#8217;t make explicit allowance for iterative development then the odds are stacked hopelessly against you.</p>
<p>So Agile really seems to be the best hope for taking account of usability when dealing with an external supplier. Rather embarrassingly I came across this <a target="_self" title="Emerging Best Agile UX Practice" href="http://agileproductdesign.com/blog/emerging_best_agile_ux_practice.html"><strong><font color="blue">excellent article by Jeff Paton</font></strong></a> only a few days ago. It dates from 2008 and I really wish I&#8217;d found it earlier. It lists 12 &#8220;best practice&#8221; patterns that Paton has seen people using to incorporate UX into agile development. There&#8217;s some great stuff there. </p>
<h4>A somewhat downbeat conclusion</h4>
<p>Perhaps I shouldn&#8217;t have talked about “solutions” to the usability problems caused by using external suppliers. Maybe I should have used a phrase like “a better way”. I believe that flexible, staged contracts are vital. They are necessary, but they&#8217;re not sufficient. A commitment to usability is required regardless of the approach that is taken. It&#8217;s just that the traditional fixed price contract for a linear development torpedoes any hope of getting usability right. The damage is far more widespread than that, but usability is the issue that gets me particularly passionate.</p>
<p>I doubt if I&#8217;ve set off a light bulb in anyone&#8217;s head and they&#8217;re now thinking, “that&#8217;s what we&#8217;ve been doing wrong and I know what to do now”. However, I hope I&#8217;ve pointed some people in a useful direction to help them read, think and understand a bit more about what we do wrong.</p>
<p>I don&#8217;t know all the answers. Testers never do, and the big decisions that will affect usability and quality are a long way out of our remit. But we can, and should, be aware of the pitfalls of following particular approaches. We&#8217;ve a duty to speak out and tell management what can go wrong, and that just might tilt the odds back in our favour.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clarotesting.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clarotesting.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clarotesting.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clarotesting.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clarotesting.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clarotesting.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clarotesting.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clarotesting.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clarotesting.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clarotesting.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clarotesting.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clarotesting.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clarotesting.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clarotesting.wordpress.com/268/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=268&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clarotesting.wordpress.com/2011/01/12/usability-and-external-suppliers-%e2%80%93-part-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f3a41686277ea847bd809c7b7de812a5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">clarotesting</media:title>
		</media:content>
	</item>
		<item>
		<title>Usability and external suppliers &#8211; part 1</title>
		<link>http://clarotesting.wordpress.com/2010/11/17/usability-and-external-suppliers/</link>
		<comments>http://clarotesting.wordpress.com/2010/11/17/usability-and-external-suppliers/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 13:14:18 +0000</pubDate>
		<dc:creator>James Christie</dc:creator>
				<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://clarotesting.wordpress.com/?p=261</guid>
		<description><![CDATA[In my time I&#8217;ve worked as an in-house developer and as an external supplier. I&#8217;ve worked on fast developments that followed the Nike Methodology (just do it – get coding and find out what you can do) and formal, rigid monsters which had big parties when we successfully negotiated our way through the gauntlet of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=261&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In my time I&#8217;ve worked as an in-house developer and as an external supplier. I&#8217;ve worked on fast developments that followed the Nike Methodology (just do it – get coding and find out what you can do) and formal, rigid monsters which had big parties when we successfully negotiated our way through the gauntlet of each quality gate.</p>
<p>One thing that intrigues me is the effect on usability of the differing approaches, and in particular the implications of using external suppliers. It&#8217;s not just that different approaches have different consequences. There&#8217;s nothing surprising in that. The intriguing thing is that, in this case, the implications are not widely acknowledged. It&#8217;s an inconvenient truth.</p>
<p>The more distant, formal and contractual the relationship between developers and users, the less likely it is that usability principles will be incorporated and that the end users will get a product they enjoy using.</p>
<p>This isn&#8217;t a problem that arose with e-commerce and web developments. It dates way back to the days when all software developments were applications for employees to use. Academics spotted the problems, but their work didn’t really percolate through to the consciousness of the practitioners.</p>
<p><a title="Lewis &amp; Rieman" target="_blank" href="http://www.hcibib.org/tcuid/tcuid.pdf"><strong><font color="red">Lewis &amp; Rieman</font></strong></a>, <a title="Holmlid &amp; Hartman" target="_blank" href="http://www.nada.kth.se/~artman/Articles/Conference/HCIint03.pdf"><strong><font color="red">Holmlid &amp; Artman</font></strong></a> (both PDFs &amp; open in new windows), <a title="Artman" target="_self" href="http://portal.acm.org/citation.cfm?doid=572020.572029"><strong><font color="blue">Artman</font></strong></a> on his own, and <a title="Grudin" target="_self" href="http://portal.acm.org/citation.cfm?doid=234313.234384"><strong><font color="blue">Grudin</font></strong></a> all made similar points regarding procurement, external suppliers and contracts.</p>
<p>Unfortunately only the Holmlid and Artman article is free, though the Lewis and Rieman e-book has a modest suggested donation.</p>
<p>The conclusion of these writers was that using external suppliers was likely to have a damaging impact on the usability of the application. With external contracts there is more pressure and temptation to go for a traditional linear approach.</p>
<p>Effective usability engineering entails iteration, which in turn requires flexible contracts with estimates and costs being revised repeatedly. This is a frightening prospect for both sides; with the supplier scared of being committed to a job which cannot be sized effectively, and the client equally scared of being tied into a contract with no cost cap, and no easy exit without writing off the work already paid for.</p>
<p>In 1995 a workshop was held by the ACM’s Special Interest Group on Computer-Human Interaction to consider the challenges of introducing usability to US government developments. In addition to the general problems faced by all IT projects the participants concluded that very few invitations to tender mentioned usability beyond vague and subjective aspirations. Suppliers naturally didn’t build into their costing any features that were not explicitly mandated, and even after winning the contract were reluctant to provide them lest they get a reputation for cost over-runs.</p>
<p>The research is dated, but I don&#8217;t think that anything has essentially changed. The problems weren&#8217;t rooted in the technology, or development techniques. The problems were a human reaction to the pressures and incentives of a particular style of procurement. People haven&#8217;t evolved to a nobler, more altruistic level since the 90s, and people will still react the same way when confronted with the same approach to contracts and procurement.</p>
<p>Effective contracts have to be clear and objective. It is hard enough to specify usability requirements clearly and objectively. Stating them in any useful way at the contractual level is even harder.</p>
<p>Of course none of this <em>necessarily</em> means that external suppliers will do a bad job; far from it. What it does mean is that the external supplier relationship contains problems that must be explicitly acknowledged and addressed. Too often the implicit assumption is that using an external supplier is a low risk option, provided that they can be tied down to a tight contract. That sets up an adversarial relationship that is poison to the flexible approach that is essential if the relationship is really going to work.</p>
<p>No plan survives contact with the enemy. No prototype design survives exposure to the users unchanged. Why pretend that it can?</p>
<p>What are the implications for testers? Well, we are not mere checkers. It is our job to tell it like it us, and shine a light on those awkward facts and truths that others might prefer to ignore.</p>
<p>If your management is keen to follow a route that will have worrying implications, make sure they know what these are so they take the decision with the best information available. Who better than a tester to give them the news that management might not want, but really need to know?</p>
<p>I&#8217;ve tried to keep this fairly brief, so I&#8217;m not talking about how to make the situation better. That&#8217;s for next time <a title="usability &amp; external suppliers, part 2" target="_self" href="http://clarotesting.wordpress.com/2011/01/12/usability-and-external-suppliers-%e2%80%93-part-2/"><strong><font color="blue">(click here)</font></strong></a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clarotesting.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clarotesting.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clarotesting.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clarotesting.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clarotesting.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clarotesting.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clarotesting.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clarotesting.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clarotesting.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clarotesting.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clarotesting.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clarotesting.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clarotesting.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clarotesting.wordpress.com/261/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=261&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clarotesting.wordpress.com/2010/11/17/usability-and-external-suppliers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f3a41686277ea847bd809c7b7de812a5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">clarotesting</media:title>
		</media:content>
	</item>
		<item>
		<title>The good old sanity check</title>
		<link>http://clarotesting.wordpress.com/2010/10/27/the-good-old-sanity-check/</link>
		<comments>http://clarotesting.wordpress.com/2010/10/27/the-good-old-sanity-check/#comments</comments>
		<pubDate>Wed, 27 Oct 2010 13:30:59 +0000</pubDate>
		<dc:creator>James Christie</dc:creator>
				<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://clarotesting.wordpress.com/?p=239</guid>
		<description><![CDATA[Often it&#8217;s obvious to testers when something hasn&#8217;t worked. The application crashes, there&#8217;s no output, or it&#8217;s gibberish. Sometimes the output superficially looks ok, but in context it&#8217;s patent nonsense, e.g. a schoolchild&#8217;s age is calculated at 25. However, with complex applications, especially financial systems, it can be harder. You&#8217;re expecting a big number, and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=239&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Often it&#8217;s obvious to testers when something hasn&#8217;t worked. The application crashes, there&#8217;s no output, or it&#8217;s gibberish. Sometimes the output superficially looks ok, but in context it&#8217;s patent nonsense, e.g. a schoolchild&#8217;s age is calculated at 25.</p>
<p>However, with complex applications, especially financial systems, it can be harder. You&#8217;re expecting a big number, and you get one. It&#8217;s hard to be sure if it&#8217;s right. If it were easy then you probably wouldn&#8217;t be developing a complex application to churn out the big numbers.</p>
<p>What you can do, and what many people seem to forget about, is to run a quick sanity check to see if it makes sense. You can run a quick mental calculation based on what you do know, and a few assumptions.</p>
<p>If the answer is daft, or way out of line with the test result, then you&#8217;ve found something out. Either the test result is wrong, or what you confidently think you know is wrong, or your assumptions don&#8217;t match the reality. One way or the other, you&#8217;re going to find out more about the application, or improve your knowledge about the context of the application.</p>
<p>When I was reading the paper at breakfast this morning I came across a good example of a glaring failure to run a sanity check.</p>
<p>The Association of British Drivers (ABD) is a campaigning group in the UK that fights for the motoring lobby, and against action on green issues, which are dismissed as “scares”.</p>
<p>Yesterday they issued a press release calling on the Scottish Government to rush through investment for the A9, the main highway from central Scotland through the Highlands. The road has a bad safety record, and there has been a long-running debate about whether it should be upgraded to dual carriageway (divided highway).</p>
<p>Naturally, the ABD is all in favour of an upgrade. <a title="report on ABD press release" target="_self" href="http://www.thecourier.co.uk/News/article/6751/drivers-group-taken-to-task-over-highly-misleading-figures.html"><font color="blue"><strong>Their press release</strong></font></a> claimed that the cost of the Scottish Government&#8217;s Car Service was £900 million a year, £300 million more than the cost of upgrading the A9. The Government Car Service provides cars and drivers for ministers and the most senior government officials.</p>
<p>You can imagine their delight at discovering this flagrant example of government waste. Cut it out, divert the money to infrastructure improvement, and produce a net saving.</p>
<p>Unfortunately, no-one ran the sanity check.</p>
<p>Let&#8217;s assume the cars are big and flashy, and cost £60,000 each. They&#8217;re replaced every three years and have no resale value. Let&#8217;s also assume that the cost of a driver is £40,000 a year. So that&#8217;s £60,000 per car per year. If the cost of running the fleet is £900 million a year, then the fleet has 15,000 cars. The latest figures I could find showed that there are 15,263 civil servants in Scotland.</p>
<p>So 15,000 government drivers are sitting around, taking it in turns to drive the other 263 people round the country. Now my assumptions were crude, but it&#8217;s impossible to change them in any sensible way that produces an answer I can believe. So, oops, sanity check fail!</p>
<p>The ABD were out by a factor of 1,000. The cost of the Government Car Service is £900,000. The fleet has 25 cars. My quick calculation suggested 15 cars could be paid for with £900,000. A 40% error is usually pretty sloppy, but it would have been near enough the mark to spare the ABD the embarrassment of withdrawing a press release because no-one bothered to run the sanity check. </p>
<p>The answer looked so wonderful that no-one wanted to challenge it. My quick check took little more than a minute, including googling for the number of civil servants.</p>
<p>Always, always be wary of answers that seem to be exactly what you hoped for! Always think your way round big numbers. £900,000 and £900 million might both be big, but if you use your existing knowledge, and some crude assumptions, you can tease the numbers apart and start to distinguish the plausible from the ludicrous.</p>
<p>Being wrong by a factor of 1,000 can damage your credibility!<br />
<div id="attachment_241" class="wp-caption alignleft" style="width: 460px"><a href="http://clarotesting.files.wordpress.com/2010/10/picture-7.png"><img src="http://clarotesting.files.wordpress.com/2010/10/picture-7.png?w=450&#038;h=195" alt="withdrawn due to error" title="withdrawn due to error" width="450" height="195" class="size-medium wp-image-241" /></a><p class="wp-caption-text"> </p></div></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clarotesting.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clarotesting.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clarotesting.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clarotesting.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clarotesting.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clarotesting.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clarotesting.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clarotesting.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clarotesting.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clarotesting.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clarotesting.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clarotesting.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clarotesting.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clarotesting.wordpress.com/239/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clarotesting.wordpress.com&amp;blog=12662423&amp;post=239&amp;subd=clarotesting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clarotesting.wordpress.com/2010/10/27/the-good-old-sanity-check/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f3a41686277ea847bd809c7b7de812a5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">clarotesting</media:title>
		</media:content>

		<media:content url="http://clarotesting.files.wordpress.com/2010/10/picture-7.png?w=300" medium="image">
			<media:title type="html">withdrawn due to error</media:title>
		</media:content>
	</item>
	</channel>
</rss>
