<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: What if Software Development isn&#8217;t Golf?</title>
	<link>http://www.satisfice.com/blog/archives/124</link>
	<description>The Consulting Software Tester</description>
	<pubDate>Sat, 05 Jul 2008 09:02:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>By: Richard Allen</title>
		<link>http://www.satisfice.com/blog/archives/124#comment-114312</link>
		<dc:creator>Richard Allen</dc:creator>
		<pubDate>Fri, 14 Mar 2008 16:01:14 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/124#comment-114312</guid>
		<description>How do you know your testers are good? How do you know they are good enough? These are interesting questions for me because I'm always trying to be 'better' and have never felt I'm good enough. What was the answer that made you say, that's cool! The process by which we estimate is also interesting. Similar to what was said above, the information managers really want what asking, "When will testing be complete?" I often think, they really mean, when will we find all the defects that we don't know about, document them, pass them to coders to fix, get them back, re-test and find the new bugs that were introduced by the bugs just fixed which we didn't know about, find and report incorrect designs, redesign, recode and retest the new design and so on. Someone is quoted as saying "There are three kinds of lies: lies, damned lies and statistics.". I would like to add another, IT project estimations!

&lt;em&gt;[James' Reply: The full answer is a bit long for this space. Here's the quick version: The two test labs that impressed me were Quardev and LogiGear. In both cases the key ingredients were: a cognitively sophisticated model of testing that can be explained and drawn out on a whiteboard; off-the-job training in the form of classroom lecture and practical exercises; on-the-job mentoring; involvement in the testing community; shunning ISTQB and the other silly certification programs; a self-critical attitude about their own expertise. Instead of claiming "we hire the best", as most labs do, they say "we don't know if we're the best, but here's what we do to work toward that."]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>How do you know your testers are good? How do you know they are good enough? These are interesting questions for me because I&#8217;m always trying to be &#8216;better&#8217; and have never felt I&#8217;m good enough. What was the answer that made you say, that&#8217;s cool! The process by which we estimate is also interesting. Similar to what was said above, the information managers really want what asking, &#8220;When will testing be complete?&#8221; I often think, they really mean, when will we find all the defects that we don&#8217;t know about, document them, pass them to coders to fix, get them back, re-test and find the new bugs that were introduced by the bugs just fixed which we didn&#8217;t know about, find and report incorrect designs, redesign, recode and retest the new design and so on. Someone is quoted as saying &#8220;There are three kinds of lies: lies, damned lies and statistics.&#8221;. I would like to add another, IT project estimations!</p>
<p><em>[James&#8217; Reply: The full answer is a bit long for this space. Here&#8217;s the quick version: The two test labs that impressed me were Quardev and LogiGear. In both cases the key ingredients were: a cognitively sophisticated model of testing that can be explained and drawn out on a whiteboard; off-the-job training in the form of classroom lecture and practical exercises; on-the-job mentoring; involvement in the testing community; shunning ISTQB and the other silly certification programs; a self-critical attitude about their own expertise. Instead of claiming &#8220;we hire the best&#8221;, as most labs do, they say &#8220;we don&#8217;t know if we&#8217;re the best, but here&#8217;s what we do to work toward that.&#8221;]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan</title>
		<link>http://www.satisfice.com/blog/archives/124#comment-114129</link>
		<dc:creator>Jonathan</dc:creator>
		<pubDate>Thu, 13 Mar 2008 00:21:37 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/124#comment-114129</guid>
		<description>James, 

Really interesting post (and Blog). I have to say I can definately relate to the "cancellation" point. I would love to hear your thoughts on a new company called uTest - they're attempting to create a "community testing" model which relates loosely to the time management issues you were discussing. Thanks and I look forward to the feedback.

Best,
Jonathan

&lt;em&gt;[James' Reply: I don't know much about it. I'll ask you the same question I ask any test lab. How do you know your testers are good? How do you know they are good enough? Don't answer to quickly. Only two test labs (other than STLabs, where I worked) have answered these questions in a way that made me say "cool!" Perhaps you will be the third.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>James, </p>
<p>Really interesting post (and Blog). I have to say I can definately relate to the &#8220;cancellation&#8221; point. I would love to hear your thoughts on a new company called uTest - they&#8217;re attempting to create a &#8220;community testing&#8221; model which relates loosely to the time management issues you were discussing. Thanks and I look forward to the feedback.</p>
<p>Best,<br />
Jonathan</p>
<p><em>[James&#8217; Reply: I don&#8217;t know much about it. I&#8217;ll ask you the same question I ask any test lab. How do you know your testers are good? How do you know they are good enough? Don&#8217;t answer to quickly. Only two test labs (other than STLabs, where I worked) have answered these questions in a way that made me say &#8220;cool!&#8221; Perhaps you will be the third.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael M. Butler</title>
		<link>http://www.satisfice.com/blog/archives/124#comment-114070</link>
		<dc:creator>Michael M. Butler</dc:creator>
		<pubDate>Wed, 12 Mar 2008 05:19:04 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/124#comment-114070</guid>
		<description>Mr. Bolton: 

Of course, what you say is true; but I wasn't just talking about it as the gotcha game (re that, the Ozzie page mentioned by Graham Shevlin is quite salient).

One of the things about golf is that it's generally clear to fairly-disposed participants when any particular player's ball has gone into any particular cup. Neither the cup, nor the ball, nor the behavior of gravity, wind or turf change fundamentally during the course of n holes of golf. I think that's much of James's point. SW dev as golf is a species of "ludic fallacy".

What I was trying to point to is the well-known problem that people speak and think loosely and move goalposts. It's typical for someone to phrase or interpret things to confirm what they wish to believe. Thus, "Testing phase is 100% complete" == "100% of the alloted testing time and effort has elapsed"  turns into a tacit "the product has been tested 100%".

The last _feels_ so much better, but of course it's existentially virtually impossible for any complex product.

Redefining the product in order to meet deadlines can also happen in several ways. I expect that every testing practitioner who has been around for any length of time will have participated in some bug triage meeting near the ship date where some pretty important things get deferred.

Sometimes these sorts of things constitute a kind of confirmation bias so strong as to deserve another name entirely. It's not the blame I'm trying to highlight, it's the sense of shock some folks seem to experience when there's a mismatch between what they thought they knew and what turns out to be so.</description>
		<content:encoded><![CDATA[<p>Mr. Bolton: </p>
<p>Of course, what you say is true; but I wasn&#8217;t just talking about it as the gotcha game (re that, the Ozzie page mentioned by Graham Shevlin is quite salient).</p>
<p>One of the things about golf is that it&#8217;s generally clear to fairly-disposed participants when any particular player&#8217;s ball has gone into any particular cup. Neither the cup, nor the ball, nor the behavior of gravity, wind or turf change fundamentally during the course of n holes of golf. I think that&#8217;s much of James&#8217;s point. SW dev as golf is a species of &#8220;ludic fallacy&#8221;.</p>
<p>What I was trying to point to is the well-known problem that people speak and think loosely and move goalposts. It&#8217;s typical for someone to phrase or interpret things to confirm what they wish to believe. Thus, &#8220;Testing phase is 100% complete&#8221; == &#8220;100% of the alloted testing time and effort has elapsed&#8221;  turns into a tacit &#8220;the product has been tested 100%&#8221;.</p>
<p>The last _feels_ so much better, but of course it&#8217;s existentially virtually impossible for any complex product.</p>
<p>Redefining the product in order to meet deadlines can also happen in several ways. I expect that every testing practitioner who has been around for any length of time will have participated in some bug triage meeting near the ship date where some pretty important things get deferred.</p>
<p>Sometimes these sorts of things constitute a kind of confirmation bias so strong as to deserve another name entirely. It&#8217;s not the blame I&#8217;m trying to highlight, it&#8217;s the sense of shock some folks seem to experience when there&#8217;s a mismatch between what they thought they knew and what turns out to be so.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Bolton</title>
		<link>http://www.satisfice.com/blog/archives/124#comment-114024</link>
		<dc:creator>Michael Bolton</dc:creator>
		<pubDate>Tue, 11 Mar 2008 18:49:06 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/124#comment-114024</guid>
		<description>&lt;i&gt;The observation made long ago (by you, James, or was it Jerry Weinberg?) that the only participants in some open-ended testing exercises who claimed 100% of testing had been completed in an hour were the managers — by definition, if one hour of testing was what was scheduled, and one hour of testing was done, that constituted 100%.&lt;/i&gt;

We teach testers, not just managers, to think that way as a matter of course.  If the mission is "find as many problems as you can in an hour (or a test cycle, or a test project)", then if the tester has found as many problems as she could at the end of the alloted time, then she's done 100%.  The trouble is that managers frequently change the game after the fact when they ask accusingly "why didn't you find that problem?"  The answer, of course, is that we weren't asked to find &lt;i&gt;that&lt;/i&gt; problem.  We &lt;i&gt;might&lt;/i&gt; have found the problem had it not been hidden so expertly; we might have found it had we not been investing and reporting so many other problems; we might have found it had some of those problems not been in the code to start with.  The point is not to blame in return, but to underscore the fact that we haven't yet found a way to schedule discovery of something hitherto unknown.</description>
		<content:encoded><![CDATA[<p><i>The observation made long ago (by you, James, or was it Jerry Weinberg?) that the only participants in some open-ended testing exercises who claimed 100% of testing had been completed in an hour were the managers — by definition, if one hour of testing was what was scheduled, and one hour of testing was done, that constituted 100%.</i></p>
<p>We teach testers, not just managers, to think that way as a matter of course.  If the mission is &#8220;find as many problems as you can in an hour (or a test cycle, or a test project)&#8221;, then if the tester has found as many problems as she could at the end of the alloted time, then she&#8217;s done 100%.  The trouble is that managers frequently change the game after the fact when they ask accusingly &#8220;why didn&#8217;t you find that problem?&#8221;  The answer, of course, is that we weren&#8217;t asked to find <i>that</i> problem.  We <i>might</i> have found the problem had it not been hidden so expertly; we might have found it had we not been investing and reporting so many other problems; we might have found it had some of those problems not been in the code to start with.  The point is not to blame in return, but to underscore the fact that we haven&#8217;t yet found a way to schedule discovery of something hitherto unknown.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Graham Shevlin</title>
		<link>http://www.satisfice.com/blog/archives/124#comment-113889</link>
		<dc:creator>Graham Shevlin</dc:creator>
		<pubDate>Mon, 10 Mar 2008 15:22:20 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/124#comment-113889</guid>
		<description>Here is an interesting article about estimation approaches from &lt;a href="http://www.thomsettinternational.com/main/articles/hot/games.htm" rel="nofollow"&gt;Ian Australian consulting company&lt;/a&gt;...

Graham Shevlin
http://grahamshevlin.com</description>
		<content:encoded><![CDATA[<p>Here is an interesting article about estimation approaches from <a href="http://www.thomsettinternational.com/main/articles/hot/games.htm" rel="nofollow">Ian Australian consulting company</a>&#8230;</p>
<p>Graham Shevlin<br />
<a href="http://grahamshevlin.com" rel="nofollow">http://grahamshevlin.com</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael M. Butler</title>
		<link>http://www.satisfice.com/blog/archives/124#comment-113854</link>
		<dc:creator>Michael M. Butler</dc:creator>
		<pubDate>Mon, 10 Mar 2008 06:13:37 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/124#comment-113854</guid>
		<description>Also, a lot of times the proper heuristic for figuring additional slips might be emotionally / politically unattractive. 

Imagine that enough information existed (it might not, but imagine it does) to make the following predictions...

Suppose that data suggests that for the class of project under examination, if it slips one day the odds are 90% that it will slip a whole week, and if it slips a whole week, the odds are 90% that it will slip another three weeks (a month of total slip). Suppose that if it slips a month the odds are 90% that it will slip another three months. 0.9 ^ 3 ==&#62; just under 73% odds that if the project slips a day it will slip four months,

Nobody likes those numbers. So I'd expect them to not be predicted.

Even with different starting odds / assumptions, nobody likes to say there's any chance of a project slipping too much.

This seems to fit in with two other topics: 

1) The "technical debt" issues mentioned elsewhere in this blog (since one way to ship sooner is to redefine completion by cutting features and / or incurring technical debt), and 

2) The observation made long ago (by you, James, or was it Jerry Weinberg?) that the only participants in some open-ended testing exercises who claimed 100% of testing had been completed in an hour were the managers -- by definition, if one hour of testing was what was scheduled, and one hour of testing was done, that constituted 100% ( :) ).</description>
		<content:encoded><![CDATA[<p>Also, a lot of times the proper heuristic for figuring additional slips might be emotionally / politically unattractive. </p>
<p>Imagine that enough information existed (it might not, but imagine it does) to make the following predictions&#8230;</p>
<p>Suppose that data suggests that for the class of project under examination, if it slips one day the odds are 90% that it will slip a whole week, and if it slips a whole week, the odds are 90% that it will slip another three weeks (a month of total slip). Suppose that if it slips a month the odds are 90% that it will slip another three months. 0.9 ^ 3 ==&gt; just under 73% odds that if the project slips a day it will slip four months,</p>
<p>Nobody likes those numbers. So I&#8217;d expect them to not be predicted.</p>
<p>Even with different starting odds / assumptions, nobody likes to say there&#8217;s any chance of a project slipping too much.</p>
<p>This seems to fit in with two other topics: </p>
<p>1) The &#8220;technical debt&#8221; issues mentioned elsewhere in this blog (since one way to ship sooner is to redefine completion by cutting features and / or incurring technical debt), and </p>
<p>2) The observation made long ago (by you, James, or was it Jerry Weinberg?) that the only participants in some open-ended testing exercises who claimed 100% of testing had been completed in an hour were the managers &#8212; by definition, if one hour of testing was what was scheduled, and one hour of testing was done, that constituted 100% ( <img src='http://www.satisfice.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shrini Kulkarni</title>
		<link>http://www.satisfice.com/blog/archives/124#comment-112528</link>
		<dc:creator>Shrini Kulkarni</dc:creator>
		<pubDate>Mon, 03 Mar 2008 05:09:26 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/124#comment-112528</guid>
		<description>James,

Do you remember our discussion at STAR East last year on estimation - Non linear nature of software development and testing tasks - power law, one way valve effect?

All software estimation model (attempts) will fail that do not take into account of nature of software, non linearity of software related tasks ( as against tasks like building/testing non software related things) and human content in software.

Most of the existing models have "linearity" and some notion of counting (test cases, use cases, function points, lines of code etc). For success in developing software estimation model, one has to leave these fundamental assumptions. And there is a “SMC – simple medium, complex” model hoax. I have seen people applying this outrageously simplified model of classifying things – test cases, bugs, automation scripts and so on. Typically the question is “you have 1000 test cases to execute per cycle – how much time does it take?” Immediately, an estimation enthusiast says – “apply SMC model, categorize 1000 cases (some times even worse – use a sample of 30-50 cases of the whole lot) as simple, medium complex and complex test cases, estimate the time for each of the category. Do some math – you will get the estimation. The problem here is typically “complex” means “it takes more time to do. My notion of complexity is degree of “unknown-ness”. Higher the degree of unknown-ness, complex is the stuff.

If we stop counting things, factor in non-linearity, we might be closer to a reasonable software estimation model.

Again, we should stop adopting or barrowing from fields like manufacturing - if it takes 1 hrs to produce a bolt, it would take 100 hrs to produce 100 bolts. Unfortunately, very few managers understand, software is different from a manufacturing assembly line.

Shrini</description>
		<content:encoded><![CDATA[<p>James,</p>
<p>Do you remember our discussion at STAR East last year on estimation - Non linear nature of software development and testing tasks - power law, one way valve effect?</p>
<p>All software estimation model (attempts) will fail that do not take into account of nature of software, non linearity of software related tasks ( as against tasks like building/testing non software related things) and human content in software.</p>
<p>Most of the existing models have &#8220;linearity&#8221; and some notion of counting (test cases, use cases, function points, lines of code etc). For success in developing software estimation model, one has to leave these fundamental assumptions. And there is a “SMC – simple medium, complex” model hoax. I have seen people applying this outrageously simplified model of classifying things – test cases, bugs, automation scripts and so on. Typically the question is “you have 1000 test cases to execute per cycle – how much time does it take?” Immediately, an estimation enthusiast says – “apply SMC model, categorize 1000 cases (some times even worse – use a sample of 30-50 cases of the whole lot) as simple, medium complex and complex test cases, estimate the time for each of the category. Do some math – you will get the estimation. The problem here is typically “complex” means “it takes more time to do. My notion of complexity is degree of “unknown-ness”. Higher the degree of unknown-ness, complex is the stuff.</p>
<p>If we stop counting things, factor in non-linearity, we might be closer to a reasonable software estimation model.</p>
<p>Again, we should stop adopting or barrowing from fields like manufacturing - if it takes 1 hrs to produce a bolt, it would take 100 hrs to produce 100 bolts. Unfortunately, very few managers understand, software is different from a manufacturing assembly line.</p>
<p>Shrini</p>
]]></content:encoded>
	</item>
</channel>
</rss>
