<?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 King &#187; Implementation</title>
	<atom:link href="http://kingsinsight.com/category/consulting/implementation/feed/" rel="self" type="application/rss+xml" />
	<link>http://kingsinsight.com</link>
	<description>What you do next matters</description>
	<lastBuildDate>Fri, 10 Feb 2012 10:44:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='kingsinsight.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/92e7dac75b6b159e84a58c64a1a8daf3?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>James King &#187; Implementation</title>
		<link>http://kingsinsight.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://kingsinsight.com/osd.xml" title="James King" />
	<atom:link rel='hub' href='http://kingsinsight.com/?pushpress=hub'/>
		<item>
		<title>Regression testing &#8211; day 1</title>
		<link>http://kingsinsight.com/2012/02/08/regression-testing-day/</link>
		<comments>http://kingsinsight.com/2012/02/08/regression-testing-day/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 22:55:22 +0000</pubDate>
		<dc:creator>James King</dc:creator>
				<category><![CDATA[Agile development]]></category>
		<category><![CDATA[Implementation]]></category>
		<category><![CDATA[agile testing]]></category>
		<category><![CDATA[regression testing]]></category>
		<category><![CDATA[UAT]]></category>

		<guid isPermaLink="false">https://kingsinsight.wordpress.com/?p=611</guid>
		<description><![CDATA[Regression testing is the easy part of IT development, not the horrible monster  some people think it has to be. But where do you start if you want to do effective regression testing, but you are already busy and don&#8217;t want it to be huge burden? I hope this article and a couple that follow [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=611&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Regression testing is the easy part of IT development, not <a title="Scenario testing the cycle of pain for regression testing" href="http://kingsinsight.com/2012/02/03/scenario-testing-the-cycle-of-pain-for-regression-testing/">the horrible monster  some people think it has to be</a>.</p>
<p>But where do you start if you want to do effective regression testing, but you are already busy and don&#8217;t want it to be huge burden?</p>
<p>I hope this article and a couple that follow will turn out to be a guide to one painless way to get regression testing up and running. Let me know if it helps.</p>
<p><span id="more-611"></span></p>
<h2>Day one &#8211; first thing in the morning</h2>
<p>Start by getting some context before you expend a lot of energy testing what you don’t understand. I have put some tips in this article, but you can also just do the obvious things:</p>
<ul>
<li>Read the <a title="A project charter for lazy teams" href="http://kingsinsight.com/2012/02/06/a-project-charter-for-lazy-teams/">project charter </a>if there is one, otherwise sit down and create one</li>
<li>Sit down and <a title="User stories for production support part 2: PAC" href="http://kingsinsight.com/2012/01/30/user-stories-for-production-support-part-2-pac/">discuss the users </a>of the<a title="A simple product summary to help requirements" href="http://kingsinsight.com/2012/02/06/a-simple-product-summary-to-help-requirements/"> system you are building </a>and the product you are building</li>
<li>Document what you found, even if it is just on the whiteboard or on napkins</li>
</ul>
<p>This can all be done in under one hour and it is worth getting the regression testing team to sit down together to do it. Of course you can feel free to take 2 hours if you want to fully understand what you are testing</p>
<h2>Day one – 20 minutes of scripting</h2>
<p>Create some scenarios that you will use for testing.  This does not mean that you have to fully document well written test scenarios, since that comes later.</p>
<p>The easiest way is to simple use the <a title="User stories for production support part 2: PAC" href="http://kingsinsight.com/2012/01/30/user-stories-for-production-support-part-2-pac/">PAC table </a>you created and come up with some examples of what some users might do.</p>
<p>I am using the example project from <a title="A simple product summary to help requirements" href="http://kingsinsight.com/2012/02/06/a-simple-product-summary-to-help-requirements/">a previous blog </a>where a cafe owner wants to :</p>
<table width="536" border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td valign="top" width="67">Scenario</td>
<td valign="top" width="71">User</td>
<td valign="top" width="396">Activity and context</td>
</tr>
<tr>
<td valign="top" width="67">1</td>
<td valign="top" width="71">barista</td>
<td valign="top" width="396">Enter new member while the customer is watching over their shoulder</td>
</tr>
<tr>
<td valign="top" width="67">2</td>
<td valign="top" width="71">Jenny</td>
<td valign="top" width="396">check activity from PC browser</td>
</tr>
<tr>
<td valign="top" width="67">3</td>
<td valign="top" width="71">barista</td>
<td valign="top" width="396">Look up a customer record while relaxing at lunch</td>
</tr>
<tr>
<td valign="top" width="67">4</td>
<td valign="top" width="71">barista</td>
<td valign="top" width="396">Check to see if a customer is already a member</td>
</tr>
<tr>
<td valign="top" width="67">5</td>
<td valign="top" width="71">barista</td>
<td valign="top" width="396">Blog about a new type of coffee</td>
</tr>
<tr>
<td valign="top" width="67">6</td>
<td valign="top" width="71">Jenny</td>
<td valign="top" width="396">Send an email to some customers to notify them of an event</td>
</tr>
<tr>
<td valign="top" width="67">7</td>
<td valign="top" width="71">Jenny</td>
<td valign="top" width="396">Correct the details for a member who complained that we had their information all wrong.</td>
</tr>
</tbody>
</table>
<p>This is our initial map for our regression testing. It won’t last long but it gives us a place to start.</p>
<h2>Spend an hour or two doing exploratory testing</h2>
<p>Now that you have some rough scenarios, log into a test version of the system and try to run some tests.</p>
<p>The tests you run will be “exploratory” because you have not created any instructions yet. But for each scenario, don’t just log in and make things work, instead try this:</p>
<ul>
<li>Try to run the scenario successfully from end to end and then record the outcome
<ul>
<li>Write any bugs or “strange things” on a piece of paper or whiteboard</li>
<li>Write down how long it took to run the scenario</li>
</ul>
</li>
<li>Stop and ponder for a moment, Use the international standard for being scared to come up with things that might go wrong. Then try to run the scenario again seeing if it will fail.</li>
<li>As you run the scenario a second or third time, try using the international standard for being stupid to come up with mistakes or “strange things” the users might do at each step during the scenario.</li>
<li>Document your findings again
<ul>
<li>Scenario number</li>
<li>Potential errors or questions I found</li>
<li>Rough steps I followed</li>
</ul>
</li>
</ul>
<p>Go and report the potential errors you found and if they turn out to be errors then record them in whatever bug tracking system the project uses.</p>
<h2>Discuss the context again for 20 minutes</h2>
<p>Sit down with the other people doing regression testing and discuss how things went</p>
<p>Provide the following “management report”:</p>
<table width="261" border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td valign="top" width="64">Scenario</td>
<td valign="top" width="88">Run today</td>
<td valign="top" width="63">Passed</td>
<td valign="top" width="44">Failed</td>
</tr>
<tr>
<td valign="top" width="64">1</td>
<td valign="top" width="88">Y</td>
<td valign="top" width="63">1</td>
<td valign="top" width="44"></td>
</tr>
<tr>
<td valign="top" width="64">2</td>
<td valign="top" width="88">Y</td>
<td valign="top" width="63"></td>
<td valign="top" width="44">1</td>
</tr>
<tr>
<td valign="top" width="64">3</td>
<td valign="top" width="88">N</td>
<td valign="top" width="63"></td>
<td valign="top" width="44"></td>
</tr>
<tr>
<td valign="top" width="64">4</td>
<td valign="top" width="88">N</td>
<td valign="top" width="63"></td>
<td valign="top" width="44"></td>
</tr>
<tr>
<td valign="top" width="64">5</td>
<td valign="top" width="88">N</td>
<td valign="top" width="63"></td>
<td valign="top" width="44"></td>
</tr>
<tr>
<td valign="top" width="64">6</td>
<td valign="top" width="88">Y</td>
<td valign="top" width="63"></td>
<td valign="top" width="44">1</td>
</tr>
<tr>
<td valign="top" width="64">7</td>
<td valign="top" width="88">N</td>
<td valign="top" width="66"></td>
<td valign="top" width="54"></td>
</tr>
</tbody>
</table>
<p>Tests pass if you found no errors that went into the bug tracking system. They fail if you did record errors. Passing or failing is not good or bad, it just shows which scenarios found something.</p>
<p>Now sit down with the group again and discuss the context your are testing in</p>
<ul>
<li>What led to errors?</li>
<li>What did you learn?</li>
<li>Should you change the PAC or Product statement? Should you change the scenarios you are running.</li>
</ul>
<p>There is more to do tomorrow, but you have already done more thorough regression testing than a lot of teams do. Well done.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kingsinsight.wordpress.com/611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kingsinsight.wordpress.com/611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kingsinsight.wordpress.com/611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kingsinsight.wordpress.com/611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kingsinsight.wordpress.com/611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kingsinsight.wordpress.com/611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kingsinsight.wordpress.com/611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kingsinsight.wordpress.com/611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kingsinsight.wordpress.com/611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kingsinsight.wordpress.com/611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kingsinsight.wordpress.com/611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kingsinsight.wordpress.com/611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kingsinsight.wordpress.com/611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kingsinsight.wordpress.com/611/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=611&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kingsinsight.com/2012/02/08/regression-testing-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a39c3c938b68cc0bd6b65ad98323b456?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jamesking42</media:title>
		</media:content>
	</item>
		<item>
		<title>An international standard for being stupid? The mistakes users always make</title>
		<link>http://kingsinsight.com/2012/02/08/an-international-standard-for-being-stupid-the-mistakes-users-always-make/</link>
		<comments>http://kingsinsight.com/2012/02/08/an-international-standard-for-being-stupid-the-mistakes-users-always-make/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 21:41:29 +0000</pubDate>
		<dc:creator>James King</dc:creator>
				<category><![CDATA[Agile development]]></category>
		<category><![CDATA[Idea management]]></category>
		<category><![CDATA[Implementation]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[human factor analysis]]></category>
		<category><![CDATA[regression testing]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[UAT]]></category>

		<guid isPermaLink="false">https://kingsinsight.wordpress.com/?p=607</guid>
		<description><![CDATA[Before I worked in IT and even knew what testing was, I knew people made mistakes. But I didn’t know there was an international standard you should comply with when you want to make a mistake. Then I worked on a project with a mining company and one of the consultants explained human factor analysis [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=607&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Before I worked in IT and even knew what testing was, I knew people made mistakes. But I didn’t know there was an international standard you should comply with when you want to make a mistake.</p>
<p>Then I worked on a project with a mining company and one of the consultants explained human factor analysis to me in simple terms. He told me that mine sites can be dangerous and part of his job was to “stop people killing themselves when they are stupid”.</p>
<p>I suggested he stop hiring stupid people but he told me that they tried that and it didn’t work. Apparently you can be really intelligent on a mine site 800 days in a row but then be stupid for 10 minutes one day and be in an accident and then be killed.</p>
<blockquote><p>“Luckily we have a standard for being stupid though” he said</p>
<p><span id="more-607"></span></p></blockquote>
<p>I was surprised that he could get people to comply with a standard for making mistakes, but then he showed me “iso90210 (not a real standard) – the standard mistakes you can make when using a machine”.</p>
<ol>
<li>Action omitted</li>
<li>Action too early</li>
<li>Action too late</li>
<li>Action too much/too often</li>
<li>Action too little/not often enough</li>
<li>Action too long</li>
<li>Action too short</li>
<li>Action in wrong direction</li>
<li>Right action on wrong object</li>
<li>Wrong action on right object</li>
<li>Wrong action on wrong object</li>
<li>Information not obtained/transmitted</li>
<li>Wrong information obtained/transmitted</li>
</ol>
<p>It seemed like a long list of obvious things, which is what it turned out to be. I found when I was analysing processes (which I was doing at the time) that many errors could occur in the process when one of the things happened in the list. So I combined this with the “<a title="An international standard for being scared?" href="http://kingsinsight.com/2011/11/04/an-international-standard-for-being-scared/">international standard for being scared</a>” (FMEA) to find I could tear most processes apart and find errors really quickly.</p>
<p>Even if you can’t break the process instantly (which you usually can), you can almost always break it if you:</p>
<ul>
<li>Apply one standard mistake; and</li>
<li>See what happens and then apply a second one rather than simply moving on.</li>
</ul>
<p>This also applies to computer applications. For example</p>
<ul>
<li>The user gets to question 5 and realises they do not have the information they need to complete the form.</li>
<li>The system gives them a polite error message.
<ul>
<li>Rather than completing the form or hitting cancel (the right thing to do) they exit by hitting the “back button” or closing the browser (right action wrong object); or</li>
<li>They hit cancel and nothing happens so they hit it again 3 times (too often) and third time they hit the button the browser decides to reload and process the click on the wrong button (something from the next screen).</li>
</ul>
</li>
</ul>
<p>I find that even though I am not a tester, I can often break applications in <a title="Scenario testing the cycle of pain for regression testing" href="http://kingsinsight.com/2012/02/03/scenario-testing-the-cycle-of-pain-for-regression-testing/">regression testing </a>by assuming my users will comply with the standard for being stupid at least once or twice.</p>
<p>You can take things a lot further if you study &#8220;human factors&#8221; because it turns out that &#8220;human factor analysts&#8221; (I am not sure what they call themselves) have spent a lot of time trying to find common reasons for all kinds of things. For example:</p>
<ul>
<li>Common reasons why people do the wrong thing deliberately (peer pressure, not enough time in the day, rewarded for wrong behaviour etc),</li>
<li>Common reasons people make mistakes (information overload, falling back on how the old system worked, lack of knowledge, lack of caring etc).</li>
</ul>
<p>So there seems to be a whole field of study about how to make mistakes properly. I guess if you are going to do something you may as well do it properly &#8230; and since we make mistakes so often we may as well get really good a making them <img class="wlEmoticon wlEmoticon-smile" style="border-style:none;" src="http://kingsinsight.files.wordpress.com/2012/02/wlemoticon-smile.png" alt="Smile" /></p>
<p>But what is of more use to IT projects where people want to build good systems:</p>
<ul>
<li>If your system could kill people, probably get an expert in safety to test it.</li>
<li>Even if your system won&#8217;t kill people … surely you want to anticipate the most obvious mistakes that users will almost certainly make.  So it follows that you would also want to at least do some simple testing to find out what happens when they do.</li>
</ul>
<p>So I think it is fair to say that any team who want to produce good processes, good IT applications or good products will do some regular testing to see what happens when &#8220;the dumb users&#8221; make the same predictable mistakes we all tend to make.</p>
<p>So I would like assume every developer, BA and tester would do some simple <a title="Making regression testing suck less and yet be more effective – exploratory testing" href="http://kingsinsight.com/2012/01/30/making-regression-testing-suck-less-and-yet-be-more-effective-exploratory-testing/">exploratory testing </a> as they add features and I would assume that every team would do some regular<a title="Scenario testing the cycle of pain for regression testing" href="http://kingsinsight.com/2012/02/03/scenario-testing-the-cycle-of-pain-for-regression-testing/"> regression testing </a>as their system emerges.</p>
<p>But maybe that is the uncharted territory for human factor analysts &#8211; why do IT teams consistently make the same mistake of assuming the users will do exactly what they are meant to, when everybody knows they won&#8217;t?</p>
<p>Why would anyone spend$5m and 6 months of their life on a project and then only test how a user might actually use the system at the  very end of the project when there is no time left to modify the way the system behaves?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kingsinsight.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kingsinsight.wordpress.com/607/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kingsinsight.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kingsinsight.wordpress.com/607/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kingsinsight.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kingsinsight.wordpress.com/607/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kingsinsight.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kingsinsight.wordpress.com/607/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kingsinsight.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kingsinsight.wordpress.com/607/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kingsinsight.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kingsinsight.wordpress.com/607/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kingsinsight.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kingsinsight.wordpress.com/607/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=607&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kingsinsight.com/2012/02/08/an-international-standard-for-being-stupid-the-mistakes-users-always-make/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a39c3c938b68cc0bd6b65ad98323b456?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jamesking42</media:title>
		</media:content>

		<media:content url="http://kingsinsight.files.wordpress.com/2012/02/wlemoticon-smile.png" medium="image">
			<media:title type="html">Smile</media:title>
		</media:content>
	</item>
		<item>
		<title>A project charter for lazy teams</title>
		<link>http://kingsinsight.com/2012/02/06/a-project-charter-for-lazy-teams/</link>
		<comments>http://kingsinsight.com/2012/02/06/a-project-charter-for-lazy-teams/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 13:22:38 +0000</pubDate>
		<dc:creator>James King</dc:creator>
				<category><![CDATA[Agile development]]></category>
		<category><![CDATA[Idea management]]></category>
		<category><![CDATA[Implementation]]></category>
		<category><![CDATA[Leading change]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[managing ideas]]></category>
		<category><![CDATA[project charter]]></category>
		<category><![CDATA[project launch]]></category>

		<guid isPermaLink="false">https://kingsinsight.wordpress.com/?p=601</guid>
		<description><![CDATA[I have been creating a couple of blogs on context recently. The idea is that if you know a bit about your users and the product that you are building. Both can take months or years, but I like to think we can even spend an hour or less to understand our project. When you [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=601&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have been creating a couple of blogs on context recently. The idea is that if you know a bit about your users and the product that you are building. Both can take months or years, but I like to think we can even spend an hour or less to understand our project.</p>
<p><span id="more-601"></span></p>
<p>When you think about it though, shouldn’t we do a similar thing to define our project purpose when we start the project. I guess the answer is yes, but it could turn into a lot of work. So what we need is an easy, lazy approach.</p>
<p>This is what I think you can do on just about any project.</p>
<ol>
<li>Define the problem you are meant to solve.</li>
<li>Define your scope.</li>
<li>Flavour to taste:
<ol>
<li>Consider <a title="User stories for production support part 2: PAC" href="http://kingsinsight.com/2012/01/30/user-stories-for-production-support-part-2-pac/">PAC</a> to define the users</li>
<li>Consider<a title="A simple product summary to help requirements" href="http://kingsinsight.com/2012/02/06/a-simple-product-summary-to-help-requirements/"> defining your product</a></li>
<li>Consider adding an estimate</li>
<li>Consider listing <a title="An international standard for being scared?" href="http://kingsinsight.com/2011/11/04/an-international-standard-for-being-scared/">risks</a> and other bad stuff</li>
</ol>
</li>
</ol>
<h2>Paragraph one – choose one of these problem statements</h2>
<ul>
<li>Problem statement from the book <a title="Fierce conversations" href="http://www.fierceinc.com/leadership-books">Fierce Conversations by Susan Scott </a>(you should really read this book if you want to be both lazy and successful at the same time):
<ul>
<li>The problem we have is ….</li>
<li>It matters because ….</li>
<li>Ideally what we would like is …</li>
<li>So far we have done …..</li>
<li>Therefore, what we want to achieve next is ……</li>
</ul>
</li>
<li>Focussing question
<ul>
<li>How can [We] provide [Something] to [someone] so they can [do something or get some benefit or deal with some issue]</li>
<li>Eg – how can the IT team provide a database to Jenny so she can run her coffee club. OR how can Jenny provide a coffee club to her customers so they can buy coffee to take home</li>
</ul>
</li>
<li>The old fashioned story/legend format, which is the simplest you can use.
<ul>
<li>Currently [things are like this] but it sucks because [some annoyance] so we will [resolve the issue]</li>
<li>For example Jenny runs a coffee shop and she would like to sell take home coffee to customers so we want to create a coffee club to do this. Or Jenny has set up a coffee club for her customers but she is losing track of all the information she needs to track so we are gong to build her a database.</li>
</ul>
</li>
</ul>
<p>You can find a couple of other problem statements in a previous article.</p>
<h2>Paragraph two – say what is in scope and what is not</h2>
<p>No project ever fully solves a problem from every possible angle. If you build software, maybe you should train people and maintain the software. But even if you maintain the software for 5 years, at some point someone should replace the software with a better solution. But even if your project team agree to come back and replace the software, will they be the ones who pay for the carbon offset to make up for the extra greenhouse gases produced during the project lifecycle.</p>
<p>People generally understand that some things will be in scope and that others will be out of scope. Yet we often make wildly different assumptions about what actually goes into the scope.</p>
<p>So I think it is useful to define the following in at least some detail:</p>
<ul>
<li>This is in scope – deploying a database, maintaining it in production; and</li>
<li>This is out of scope – ongoing training, maintaining the customer data.</li>
</ul>
<p>This is often put into a table with the in-scope stuff on the left and the out-of-scope on the right.</p>
<p>But if you are a vendor or you are delivering to a demanding internal client you might choose to go one step further:</p>
<ul>
<li>The project team will deliver (in scope) – deploying a database</li>
<li>The customer will – provide the team with access to users, supply coffee, provide testing</li>
<li>The following is out of the scope of this project – ongoing training</li>
</ul>
<h2>Paragraph three onwards.</h2>
<ul>
<li>Add constraints or priorities if you want to.  For example it needs to be in production before Friday next week (eek)</li>
<li>Add <a title="User stories for production support part 2: PAC" href="http://kingsinsight.com/2012/01/30/user-stories-for-production-support-part-2-pac/">PAC</a>, <a title="A simple product summary to help requirements" href="http://kingsinsight.com/2012/02/06/a-simple-product-summary-to-help-requirements/">Product statement </a>or <a title="An international standard for being scared?" href="http://kingsinsight.com/2011/11/04/an-international-standard-for-being-scared/">risks</a> if you like</li>
<li>Add an estimate of the effort involved if you want to</li>
<li>Add the name of the sponsor, the provider and others if you really want to push the content.</li>
</ul>
<p>If you want to you can even add<a title="Creating a basic communication plan" href="http://kingsinsight.com/2011/04/22/creating-a-basic-communication-plan/"> a communication plan</a>, a view of wether <a title="Assessing a team’s readiness to adopt agile practices over coffee" href="http://kingsinsight.com/2011/01/31/assessing-a-teams-readiness-to-adopt-agile-practices-over-coffee/">users will actually adopt the change </a>we are implementing or <a title="A test strategy for lazy project teams" href="http://kingsinsight.com/2011/07/18/a-test-strategy-for-lazy-project-teams/">a test strategy</a>, but not all projects will need this much detail at the beginning.</p>
<h2>A simple estimate</h2>
<p>People often hesitate to provide estimates. But you can provide something as simple as this</p>
<p>We are 90% confident that the project will take between X and Y.  We could be more confident if [something]. For example:</p>
<ul>
<li>We are 90% confident the project will take between 50 and 150 years (let’s kill it now);</li>
<li>We are 90% confident the project will take 3 developers between 3 and 5 days (let’s do it)&#8217;; or</li>
<li>We are 90% confident the project will take between 3 weeks and 4 months. Hmm -
<ul>
<li>We can kill it if 3 weeks is too long;</li>
<li>We can get started if 4 months is tolerable and report back as we go. We will be more confident once we install the invergolator and get it running on windows 7; or</li>
<li>We could do more analysis.  This would add one week to the project but when we understand your needs better and review the deployment options for invergolators then we can provide a better estimate.  Let me know what you want us to do.</li>
</ul>
</li>
</ul>
<p>I have often found these estimates are enough to make informed decisions. But if you want to get far better at estimating then you should probably read “How to measure anything”.  That book even teaches you to estimate and understand the value of doing more estimates.  But the lazy approach is just to do what I did above.</p>
<h2>What do you think?</h2>
<p>It seems pretty basic doesn’t it.  So your project should probably have a more detailed description that everyone understands (the stakeholders and the team working on the project). But in practice I have often found a simple summary of the project is enough to make do.</p>
<p>In fact my quote for the day is :</p>
<blockquote><p>Projects where everyone has the same simple understanding of the problem do better than those where some of the team have a really detailed understanding that is different to what the rest of the team understand.</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kingsinsight.wordpress.com/601/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kingsinsight.wordpress.com/601/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kingsinsight.wordpress.com/601/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kingsinsight.wordpress.com/601/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kingsinsight.wordpress.com/601/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kingsinsight.wordpress.com/601/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kingsinsight.wordpress.com/601/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kingsinsight.wordpress.com/601/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kingsinsight.wordpress.com/601/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kingsinsight.wordpress.com/601/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kingsinsight.wordpress.com/601/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kingsinsight.wordpress.com/601/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kingsinsight.wordpress.com/601/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kingsinsight.wordpress.com/601/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=601&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kingsinsight.com/2012/02/06/a-project-charter-for-lazy-teams/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a39c3c938b68cc0bd6b65ad98323b456?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jamesking42</media:title>
		</media:content>
	</item>
		<item>
		<title>A simple product summary to help requirements</title>
		<link>http://kingsinsight.com/2012/02/06/a-simple-product-summary-to-help-requirements/</link>
		<comments>http://kingsinsight.com/2012/02/06/a-simple-product-summary-to-help-requirements/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 13:06:51 +0000</pubDate>
		<dc:creator>James King</dc:creator>
				<category><![CDATA[Agile development]]></category>
		<category><![CDATA[Idea management]]></category>
		<category><![CDATA[Implementation]]></category>
		<category><![CDATA[agile stories]]></category>
		<category><![CDATA[regression testing]]></category>
		<category><![CDATA[requirements]]></category>

		<guid isPermaLink="false">https://kingsinsight.wordpress.com/?p=597</guid>
		<description><![CDATA[I was speaking to a crew who were struggling with regression testing and after interrogating them they finally admitted that a large part of the reason they were struggling was that they did not really understand what they were testing. I was shocked and horrified so I wandered off. Soon after I spoke to some [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=597&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I was speaking to a crew who were struggling with regression testing and after interrogating them they finally admitted that a large part of the reason they were struggling was that they did not really understand what they were testing.</p>
<p>I was shocked and horrified so I wandered off.</p>
<p>Soon after I spoke to some business analysts who were struggling with an agile project. They alleged that the agile approach they were using did not allow enough time to capture the requirements properly. But guess what, they broke down under interrogation and admitted that a large part of the problem they were having was that they did not really understand the product they were building.  Apparently the evil agile people had forced them to write stories about the system before they had time to understand it.</p>
<p><span id="more-597"></span></p>
<p>So I started wondering – is their any way you could actually understand a system or product before you built and tested it. This sounds like something you would want to do even if evil agile people want you to go really fast. In fact the faster you need to go in building something the less time you probably have to spend on wasted effort that is not related to what you are building.</p>
<p>I have already described <a title="User stories for production support part 2: PAC" href="http://kingsinsight.com/2012/01/30/user-stories-for-production-support-part-2-pac/">PAC</a> as a simple approach to user analysis but that describes what the users do and not what the system does for them.</p>
<p>So here is an old school approach that won’t take long.</p>
<p>Start by looking at the project charter/mandate and then ask people what the system does. Then do a little exploratory testing if the system already exists.</p>
<p>Now you are ready for a quick one hour workshop (or one hour of sitting in a cafe if you are on your own).</p>
<h2>Step 1 – book a room for an hour or go to a cafe and order a skim milk cappuccino</h2>
<p>If you have some friends who also want to understand the product then bring them along. Otherwise sneak off to a cafe on your own.  You will need a pen and paper and probably enough spare change to pay for you coffee.</p>
<h2>Step 2 – create a one paragraph summary of what you think the product does</h2>
<p>You can write you summary in any format you like, but I like the following approach which is loosely stolen from a book called “<a title="stand back and deliver" href="http://www.accelinnova.com/booklogin.php">Stand back and deliver</a>”. They use a similar approach to describe a team, but I find it works well enough for a product. It is also similar to the cereal box approach described in &#8220;<a title="Amazon link to jim highsmith book" href="http://www.amazon.com/Agile-Project-Management-Creating-Innovative/dp/0321219775">Agile Project Management</a>&#8220;.</p>
<blockquote><p><em><strong>The product provides [something] to [someone] so that they can [do something better]. Without it [someone] would have to [fall back]</strong></em></p></blockquote>
<p>If you are in a workshop setting, have each participant write this without speaking to the others. If you are on your own then I guess you should just write it out. But only allow 15 minutes for this exercise (plus 10 minutes to share and argue about the answers if in a workshop). You have a lot to do and you want to have time to drink our cappuccino.</p>
<p><strong>Example</strong></p>
<p>For example, lets say that Jenny owns the coffee shop you are sitting in. She wants to set up a new “wine and coffee” club so that people can learn more about their favourite beverages, order premium beverages to consume on site and even order bulk purchases for home.</p>
<p>Jenny decides that she wants to set up a new database system to keep track of the members of the club and if she can get the budget she will also add a web page with a blog and a social community for club members.</p>
<p>What does Jenny’s new database do and who is it for?  She could build it for the members or for herself … does it matter?</p>
<p>Jenny comes up with the following summary:</p>
<blockquote><p>The coffee club database keeps track of coffee club membership information so that we can manage the coffee club. Without it we would need to have a manual system in place or forget the whole coffee club idea.</p></blockquote>
<h2>Optional step 2a – add some old school requirements (3-5)</h2>
<p>With stories being all the rage these days, people sometimes often talk about the dark ages when we relied on requirements documents. But hidden in all those documents we could sometimes find some really clear and concise requirements that really did help us to build what people wanted.</p>
<p>First we used to list some functional requirements (what the system is meant to do) and then if you want to make good products you add some quality statements or “non-functional” requirements to clarify the style, performance and behaviour you want the system to have.</p>
<p>Here is my favourite format for functional requirements:</p>
<blockquote><p><strong><em>The [system or module] will [do something]; </em></strong></p></blockquote>
<p>Or you can go all out and add two more two optional sections:</p>
<blockquote><p><strong><em>When [something] [the module] will [do something] if [some condition]</em></strong></p></blockquote>
<p>You can write millions of these one line requirements, but for the sake of understanding what the new product does you only really need about 3 – 5 lines. More than this will often cause people to start simply agreeing with them. Only listing the top 3 requirements will often cause people to have to think about what they mean.</p>
<p>Similarly, you can spend all day on this, but I would only allow 15 minutes, plus 10 minutes to share if you are in a workshop. Even 5 minutes might be enough.</p>
<p>So let’s see what Jenny came up with.</p>
<blockquote><p>The coffee tracking system will store data on members of the coffee club</p>
<p>The coffee tracking system will store data on the coffees we have available and the promotions we are running at the moment with respect to those coffees</p>
<p>The coffee tracking database will store a history of promotions we have run and purchases users have made where privacy legislation and PCI compliance allow us to do so</p>
<p>The web page will provide static data on premium coffee and wine varieties and a blog for publishing regular coffee related news</p>
<p>When members join the online club the web page will provide access to a chat room where they can share coffee related views if the member has a valid login</p></blockquote>
<p>Jenny has more work to do in order to fully scope and build the system.  But she now has a one page description that she can use to check whether she and her IT vendor (Charles who works for free coffees) understand the system.</p>
<h2>Optional step 2b – add a quality statement or measure</h2>
<p>Even if a system does what we want, it might not do it the way we want it.  For example</p>
<blockquote><p>When we get home, my flatmate will cook dinner if I do the dishes after dinner</p></blockquote>
<p>This sounds good – but I have had some flatmates who are great cooks and some who can make toast and coffee taste terrible.</p>
<p>So it is a good idea to define how you will know if the new system is good or not. Here is one (not too complicated approach):</p>
<blockquote><p><strong><em>The stakeholders will think [system or module] is great if [something)</em></strong></p>
<p><strong><em>The stakeholders will be really upset if [system or module does/does not … ] or [something happens]</em></strong></p></blockquote>
<p>Jenny might come up with:</p>
<blockquote><p>I will be really annoyed if the system is hard for me and the barista to use</p>
<p>Customers will be upset if we leak their personal data or use it to spam them</p>
<p>I will be really happy if the system can run on my new galaxy tab as well as my netbook</p></blockquote>
<p>Of course you are allowed to do better. A lot of people use iso9126 (a standard for software quality) to list the non-functional things the system should do (be reliable, be easy to learn etc). I often use FMEA (a standard way to be scared) or FAB (a sales technique I use for non-functional stuff).</p>
<h2>Step 4 – Go and find out that you are wrong</h2>
<p>You would think that it would be hard to get a one paragraph description of a system wrong.  But on almost every project I have tried this on I have found that people disagree on it.</p>
<p>So the final step is to share this paragraph with the project sponsor, the product owner or the project owner. They will correct your understanding and often surprise you.</p>
<p>If you have this simple summary, I can almost guarantee you will be able to do a lot of things much more easily – requirements are easier and so too is regression testing for example.</p>
<p>The only downside is that it can make it harder for developers and product owners who want to build without having to think about what they are doing. And of course you might need to spend up to an hour in a coffee shop to do the hard part of the work.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kingsinsight.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kingsinsight.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kingsinsight.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kingsinsight.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kingsinsight.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kingsinsight.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kingsinsight.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kingsinsight.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kingsinsight.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kingsinsight.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kingsinsight.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kingsinsight.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kingsinsight.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kingsinsight.wordpress.com/597/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=597&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kingsinsight.com/2012/02/06/a-simple-product-summary-to-help-requirements/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a39c3c938b68cc0bd6b65ad98323b456?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jamesking42</media:title>
		</media:content>
	</item>
		<item>
		<title>Scenario testing the cycle of pain for regression testing</title>
		<link>http://kingsinsight.com/2012/02/03/scenario-testing-the-cycle-of-pain-for-regression-testing/</link>
		<comments>http://kingsinsight.com/2012/02/03/scenario-testing-the-cycle-of-pain-for-regression-testing/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 22:29:15 +0000</pubDate>
		<dc:creator>James King</dc:creator>
				<category><![CDATA[Agile development]]></category>
		<category><![CDATA[Implementation]]></category>
		<category><![CDATA[regression testing; production suppport; agile testing]]></category>
		<category><![CDATA[scenario testing]]></category>

		<guid isPermaLink="false">https://kingsinsight.wordpress.com/?p=593</guid>
		<description><![CDATA[If you want to do a Phd in human psychology, then grab an  IT team and ask them to do regression testing. Regression testing is simply the idea that when you make changes to a system you should test to make sure you haven’t broken what was already there. But for reasons unknown to psychologists, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=593&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you want to do a Phd in human psychology, then grab an  IT team and ask them to do regression testing.</p>
<p>Regression testing is simply the idea that when you make changes to a system you should test to make sure you haven’t broken what was already there. But for reasons unknown to psychologists, IT teams fall into a strange psychological pattern whenever asked to do regression testing.  This is the opportunity for someone to do a Phd – we understand that people consistently adopt the same four stage cycle of pain, but social scientists are at a loss to explain why:</p>
<p><a href="http://kingsinsight.files.wordpress.com/2012/02/image.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:5px;" title="image" src="http://kingsinsight.files.wordpress.com/2012/02/image_thumb.png?w=244&#038;h=145" alt="image" width="244" height="145" border="0" /></a></p>
<p><span id="more-593"></span></p>
<ol>
<li><strong>Regression test denial</strong>.  People on most projects swear that there is no time for regression testing at the moment.
<ul>
<li>They will admit that in the last project they spent an inordinate amount of time (and frustration) near the end of the project trying to understand and fix problems that were created early in the project. They will also observe that most of these problems came to light as soon as regression testing finally started.</li>
<li>They will also complain about “the business” being indecisive and asking for new things every showcase (demonstration of the software).</li>
<li>The business will say their “alleged new change” was an obvious part of the requirements but the team will say they could not have anticipated it.</li>
<li>A lot of time will be spent fixing these new demands, but even more time will be spent arguing about them and demanding ever greater detail in the requirements, even though we still keep missing things and the business keep changing their mind. </li>
<li>I accept that better requirements will address some of these issues and better code writing will address others … but I will also claim, even though people seem to deny it, that doing some good regression testing early on will save a lot of time and frustration through the whole project.</li>
</ul>
</li>
<li><strong>Robot dreaming</strong>. If you can get people to accept that testing is a good idea then:
<ul>
<li>They will start to dream about a wonderful, magical world where fairies come and do the testing for them. But not many IT people believe in fairies anymore.</li>
<li>Having accepted that magical test fairies do not exist, people will instead dream of robots doing all their testing for them. So they fire up Google and start searching for wonderful sounding robots (often called automated testing tools) to use.</li>
<li>But it takes a lot of time to Google for the robots and it takes longer to install and test them even if you do start to use one.</li>
<li>So someone still needs to set up the regression testing for the robot and someone still needs to do some manual regression testing until the robot is ready. This causes some sorry and a brief attempt to go back to step one “just for now”.</li>
</ul>
</li>
<li><strong>Tester and intern persecution.</strong>Finally we get to the real problem. We all know we should do regression testing but nobody in the team wants to be the one to do it. So now we finally start to tackle the problem.
<ul>
<li>The team instantly starts a search for interns.  If they find them this is fantastic because we can now inflict all the horrible regression testing on them.</li>
<li>If there are no interns then the team search for graduates, “business people who want to become BA’s” and other victims. </li>
<li>If there is nobody inexperienced enough to trick into doing the work, then finally the team dump the whole thing on the usual victims in IT – the testers. After all regression testing is a testers role isn’t it?</li>
</ul>
</li>
<li><strong>Pointless suffering</strong>. Having been forced to do regression testing, the victim now sets out to prove that regression testing is a horrible waste of time.
<ul>
<li>The victim starts doing some simple testing by running the same test on the same functionality multiple times.  This finds few if any bugs.</li>
<li>The victim then starts running some functional tests on new functionality until reminded that this is not regression testing.</li>
<li>The victim finally, grudgingly finds some simple test cases and starts to run them each week for an hour or two.</li>
<li>Running the same simple tests for a couple of hours results in very few defects since what is being tested is usually the unimportant stuff or the stable stuff that nobody is breaking.</li>
<li>So the victim concludes that they are spending a lot of time for very little return and then finds other more important work to do.</li>
<li>The team return to step 1.</li>
</ul>
</li>
</ol>
<p>But rather than the “cycle of pain approach” I think it might be better to use scenario testing as a way to do regression testing.</p>
<p>The main reason is that this is the first approach anyone taught me and it worked. So I never really learned any other approaches. Not the best reason I guess, but a good enough one for me.</p>
<p>But the process I learned process involves more than just writing some test cases and running them. So it seems like more work, but in fact it is not. I hope to show that the approach I learned is actually quicker, more effective and more fun than either the “cycle of pain”.</p>
<p>The whole approach consists of four steps:</p>
<p><a href="http://kingsinsight.files.wordpress.com/2012/02/image1.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border:0;margin:5px;" title="image" src="http://kingsinsight.files.wordpress.com/2012/02/image_thumb1.png?w=244&#038;h=145" alt="image" width="244" height="145" border="0" /></a></p>
<ol>
<li><strong>Understanding the context.</strong> Regression testing involves testing whether you have broken the functionality that was already there. So it stands to reason that you will test better if you understand what is already there, if and why it matters and who uses or cares about it.
<ul>
<li>Don’t panic.  This can be done easily. You can read the project mandate (or project charter) and you can talk to people.</li>
<li>In addition you can use some simple techniques to improve your understanding. I would suggest these as a pretty good starter pack
<ul>
<li><a title="User stories for production support part 2: PAC" href="http://kingsinsight.com/2012/01/30/user-stories-for-production-support-part-2-pac/">PAC</a></li>
<li>Using the <a title="An international standard for being scared?" href="http://kingsinsight.com/2011/11/04/an-international-standard-for-being-scared/">international standard for being scared </a>(FMEA- asking what could go wrong)</li>
<li>Creating a product summary statement</li>
</ul>
</li>
</ul>
</li>
<li><strong>Scripting.</strong> You can do effective regression testing using only exploratory testing. But if you are doing the same tests repeatedly then it is probably worth writing down what you are going to do to save time when you are doing it.
<ul>
<li>Don’t panic. Some people think you need to build an entire library of scripts before you start testing. But you can start with a few basic ideas and then build on them each week as you go.  I will publish a guide to creating both slack and good scenario tests soon.</li>
</ul>
</li>
<li><strong>Making a map.</strong> You can run a lot of manual tests, but if all the tests are covering the same thing then you will be wasting a lot of time re-testing what you have already tested. You will also be consistently not testing the same things every week, which seems a little dumb.
<ul>
<li>Don’t panic. Your first go at this can be a simple list of the 3 or 4 scenarios you are testing to start with.  But as time goes on you will find it more and more beneficial to have some kind of map linking your scenarios to the things you should be testing.</li>
</ul>
</li>
<li><strong>Running some tests</strong>. Of course the point of the other 3 steps is to help you run some tests, so this step is pretty obvious.
<ul>
<li>Don’t panic.  You can run some tests this week and some next week.  As you go you will update your scenarios and your map so that you get more and more effective at testing in less and less time.</li>
<li>As you are running your tests though, you will learn more about the system and you will find that the context in which you are testing is changing. So go back to step one.</li>
</ul>
</li>
</ol>
<p>I guess the choice is up to you and the team.  The traditional approach (the cycle of pain) has been used for years by many experienced teams, so it is tried and tested. On the other hand, the creative testing cycle I have described here sounds a little radical and may not be as widely used. But I have found the creative cycle to be less painful, more interesting and more effective for me.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kingsinsight.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kingsinsight.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kingsinsight.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kingsinsight.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kingsinsight.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kingsinsight.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kingsinsight.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kingsinsight.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kingsinsight.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kingsinsight.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kingsinsight.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kingsinsight.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kingsinsight.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kingsinsight.wordpress.com/593/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=593&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kingsinsight.com/2012/02/03/scenario-testing-the-cycle-of-pain-for-regression-testing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a39c3c938b68cc0bd6b65ad98323b456?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jamesking42</media:title>
		</media:content>

		<media:content url="http://kingsinsight.files.wordpress.com/2012/02/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://kingsinsight.files.wordpress.com/2012/02/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>User stories for production support part 2: PAC</title>
		<link>http://kingsinsight.com/2012/01/30/user-stories-for-production-support-part-2-pac/</link>
		<comments>http://kingsinsight.com/2012/01/30/user-stories-for-production-support-part-2-pac/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 06:07:01 +0000</pubDate>
		<dc:creator>James King</dc:creator>
				<category><![CDATA[Agile development]]></category>
		<category><![CDATA[Implementation]]></category>
		<category><![CDATA[Investigation]]></category>
		<category><![CDATA[production support]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[usabilty]]></category>

		<guid isPermaLink="false">http://kingsinsight.com/?p=583</guid>
		<description><![CDATA[I wrote an article on stories for production support teams quite a while ago.  But I always meant to add a couple more. The problem with production support is that nobody has time to ask for what they want, but it is all urgent and super critical. So the last thing you often feel like [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=583&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I wrote an article on <a title="User stories for production support (part 1: FAB)" href="http://kingsinsight.com/2011/07/25/user-stories-for-production-support-part-1fab/">stories for production support teams </a>quite a while ago.  But I always meant to add a couple more.</p>
<p>The problem with production support is that nobody has time to ask for what they want, but it is all urgent and super critical. So the last thing you often feel like doing is to slow down and understand the context that the user is in (annoyed, relaxed, sitting in a cafe, in their most important sales meeting ever etc). Instead the focus is usually on fixing &#8220;it&#8221; before you know what &#8220;it&#8221; really is.</p>
<p>But this often leads to rework. So whenever I am doing enhancements I always spend a little time understanding why the enhancement is needed, who it is needed by and when/how it is likely to be used in the real world. To do this though, I think we always need to spend a little time understanding the people who will use the system and why they need something new.</p>
<p>There are many approaches to doing this, but one I often find useful is &#8220;PAC&#8221; or &#8220;People, Activities and Context&#8221;.</p>
<p><span id="more-583"></span></p>
<p>PAC refers to a series of steps to understand:</p>
<ul>
<li>The People using the system;</li>
<li>The activities they will perform; and</li>
<li>The context in which they will perform them.</li>
</ul>
<p>The steps are quite straightforward:</p>
<h4>P: People (Define the users)</h4>
<p>Let’s start by breaking “the users” into three groups:</p>
<ul>
<li>Those who actually use the system for the purpose we built it for are the Primary users.  Most regression testing is likely to focus on these users;</li>
<li>The often forgotten Supporting users are those who interact with or use the system for the purpose of helping the Primary users to use it. For example production support or on-site support engineers; and</li>
<li>Other stakeholders are those who do not directly use the system but who gain a benefit from the system or have a say in what it does.</li>
</ul>
<p>Example primary users might include:</p>
<ul>
<li>Experienced and inexperienced users</li>
<li>Wholesale and retail customers</li>
<li>Users of different versions of the software – Basic Edition, Advanced Edition and Enterprise Addition for example.</li>
<li>Local users and overseas users</li>
<li>Onsite users, home users and mobile users</li>
</ul>
<p>In each case you list the types of users and then ask yourself:</p>
<ul>
<li>Do they use different functionality?</li>
<li>Do they use the same functionality differently or need a different experience using it?</li>
</ul>
<h4>A: Activities</h4>
<p>The next step is to list the typical activities that the user might perform, that might impact or involve the system.</p>
<p>The trick here is NOT to just go through the requirements. Instead the focus is on the user and “what they will do during the day”.</p>
<p>So we might have a requirement for a user to login and another requirement to process member enquiries. But we might actually put down the activities of “talk to customers on the phone” and “send a report to the boss”.</p>
<p>Sending a report to the boss might involve running a report from the system (and thus match a requirement) or it might involve collecting information from several sources, including the system we are building.  So the user might actually be logging into our system to run some general queries or to just look at some screens.</p>
<p>Similarly, several users might do the same activity, or one activity might involve multiple users. So don’t worry about linking the activities to a specific user yet, just put them all down in a list.</p>
<p>So the idea is to capture “what activities does a user get involved in”.  These can then become the basis for requirements, test scenarios, stories, use cases or whatever you want.</p>
<h4>C: Context</h4>
<p>The final component of PAC is context.  This is important because the same user might perform the same activity very differently at different locations, using different toolkits or even in different emotional states.</p>
<p>So context can cover anything about the user’s environment or situation, for example:</p>
<p>Physical environment:</p>
<ul>
<li>Will this be done at the office, at home or on the road.</li>
<li>Some users might be in a major company while others are in a small office.</li>
<li>Some users might be in the outback in Western Australia while others are in a major city in Japan.</li>
</ul>
<p>Technical environment:</p>
<ul>
<li>Will all users be using the same operating system, browser version etc. I find in particular that customers assume we support all browsers in all versions but IT. departments only test with one browser, assuming any others are unsupported.</li>
<li>What hardware will people be using?  Will this impact their response times or ability to see our graphics.</li>
</ul>
<p>Emotional state:</p>
<ul>
<li>During a disaster might be a different process to relaxing at the office.</li>
<li>The user might be using the system in front of a complaining client or after work.</li>
<li>when there is time to wait for reports to run.</li>
</ul>
<p>Time</p>
<ul>
<li>Is there a specific time when things are harder or more urgent, for example peak hour or the annual enrolment week at university where things will be both more important and more likely to fail;</li>
<li>Are there blackout times like overnight backups, annual reporting periods or change freezes?</li>
</ul>
<h4>Bringing it together</h4>
<p>Now that you have collated all the information you join the dots. So you look at each user and ask yourself whether they will do each activity and in what context they will be operating.</p>
<p>You can put this all in a table if desired:</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="205">People</td>
<td valign="top" width="205">Activities</td>
<td valign="top" width="205">Context</td>
</tr>
<tr>
<td valign="top" width="205">Primary users</p>
<ul>
<li>Experienced online customers from large organisations</li>
<li>Experienced small operators</li>
<li>Inexperienced users</li>
<li>Potential customers</li>
</ul>
<p>Supporting users</p>
<ul>
<li>Onsite system administrators</li>
<li>Our call centre</li>
<li>Production support</li>
</ul>
<p>Other stakeholders</p>
<ul>
<li>The internal audit team</li>
<li>Sales and marketing</li>
<li>Compliance</li>
</ul>
</td>
<td valign="top" width="205">Enter new customersCollect money from customersRun reports for management</p>
<ul>
<li>Weekly status</li>
<li>Monthly reconciling</li>
</ul>
<p>Pay out customer entitlements</p>
<p>Install the software</p>
<p>Look for problems when it fails</td>
<td valign="top" width="205">Using a browser online</p>
<ul>
<li>IE current version</li>
<li>Other browsers</li>
</ul>
<p>Using an ipad or galaxy tab</p>
<p>While a customer waits</p>
<ul>
<li>On the phone</li>
<li>In front of the user</li>
</ul>
<p>At the end of the day</p>
<p>Physically worn out</p>
<ul>
<li>After 4 hours in the coal mine</li>
</ul>
<p>From home or on the road</p>
<ul>
<li>Logging in from hotels or the airport</li>
<li>Checking data from the car or while in a cafe</li>
</ul>
<p>&nbsp;</td>
</tr>
</tbody>
</table>
<p>Of course completing the table is not the point.  The real point is to use this information to create stories, requirements or tests.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kingsinsight.wordpress.com/583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kingsinsight.wordpress.com/583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kingsinsight.wordpress.com/583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kingsinsight.wordpress.com/583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kingsinsight.wordpress.com/583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kingsinsight.wordpress.com/583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kingsinsight.wordpress.com/583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kingsinsight.wordpress.com/583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kingsinsight.wordpress.com/583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kingsinsight.wordpress.com/583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kingsinsight.wordpress.com/583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kingsinsight.wordpress.com/583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kingsinsight.wordpress.com/583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kingsinsight.wordpress.com/583/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=583&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kingsinsight.com/2012/01/30/user-stories-for-production-support-part-2-pac/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a39c3c938b68cc0bd6b65ad98323b456?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jamesking42</media:title>
		</media:content>
	</item>
		<item>
		<title>Making regression testing suck less and yet be more effective &#8211; exploratory testing</title>
		<link>http://kingsinsight.com/2012/01/30/making-regression-testing-suck-less-and-yet-be-more-effective-exploratory-testing/</link>
		<comments>http://kingsinsight.com/2012/01/30/making-regression-testing-suck-less-and-yet-be-more-effective-exploratory-testing/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 00:13:49 +0000</pubDate>
		<dc:creator>James King</dc:creator>
				<category><![CDATA[Agile development]]></category>
		<category><![CDATA[Implementation]]></category>

		<guid isPermaLink="false">http://kingsinsight.com/?p=579</guid>
		<description><![CDATA[I have often found that regression testing is both important and boring, so I usually try to automate it as much as possible. Unfortunatley there there is often little or no automation in place at all when you join a new team and there is often not enough time to get it working properly before [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=579&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have often found that <a title="Manual regression testing may not suck so badly after all" href="http://kingsinsight.com/2012/01/27/manual-regression-testing-may-not-suck-so-badly-after-all/">regression testing is both important and boring</a>, so I usually try to automate it as much as possible.</p>
<p>Unfortunatley there there is often little or no automation in place at all when you join a new team and there is often not enough time to get it working properly before the next release. </p>
<p>In fact though, even when there is a lot of automated testing in place, I have sometimes been surprised how quickly a good business person will find a significant bug by simply sitting down and mucking around (playing) with a system for an hour.</p>
<p><span id="more-579"></span></p>
<h1>Exploratory testing</h1>
<p>So I think there is a place for “mucking around” testing every week on a project. This informal approach will test for the things the team never thought of and will often reveal surprises even if it is just a developer or random business person doing the testing.  And often, those surprises will be missed by consistent and formal testing even when it is properly automated.</p>
<p>Of course when a real tester does &#8220;mucking around&#8221; testing they like to call it “exploratory” testing to make it sound more legetimite and scientific.</p>
<p>Exploratory testing is, in fact, exactly the same thing as &#8220;mucking around with the system&#8221; to see if it breaks. But the exploratory testing done by a master tester, compared to a random business person, is like the difference between the work done by a master painter and that done by an enthusiastic child.</p>
<p>I will not attempt to cover the numerous techniques, heuristics and instincts that a master tester (or painter) needs to learn to master their craft, but I will say that regardless of whether you are an expert tester or a rank amatuer, exploratory testing can be fun and surprisingly effective (yes &#8211; even for IT Managers like me).</p>
<p>I will also say is that any effective approach to testing, including regression testing, involves an allocation of time to “just mucking around”. This often opens up problems you didn’t want to find, but that is better than going live with the same problems.</p>
<p>A good description of exploratory testing can be found in the following article if you want a better definition <a href="http://www.satisfice.com/articles/what_is_et.shtml">http://www.satisfice.com/articles/what_is_et.shtml</a>.</p>
<p>Exploratory testing can be boring if you just press the same button all the time. But it can be more fun if you just muck around with the system and try to do &#8220;the stupidest possible thing a user can do&#8221;, or &#8220;see what would happen if you tried to enter Rupert Murdoch into system and see what the process will do with a salary of $120m or so per year&#8221;.</p>
<p>If you allow yourself time to be inventive and creative, then you will probably stumble on a surprising number of bugs &#8230; and potentially even requests for scope changes.  So this can be a pretty effective approach and failing anything else you will find some of the bugs AND you will find it will even be enjoyable if you do it properly.</p>
<p>But even then I think we can do better.  So there must be another option, somewhere between using robots to do your testing (ie automating testing) and mucking around having fun breaking the system (exploratory testing).</p>
<p>So my next quest is to find something beyond exploratory testing that will still add value when manually testing and will still not suck too much for those doing it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kingsinsight.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kingsinsight.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kingsinsight.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kingsinsight.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kingsinsight.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kingsinsight.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kingsinsight.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kingsinsight.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kingsinsight.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kingsinsight.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kingsinsight.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kingsinsight.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kingsinsight.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kingsinsight.wordpress.com/579/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=579&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kingsinsight.com/2012/01/30/making-regression-testing-suck-less-and-yet-be-more-effective-exploratory-testing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a39c3c938b68cc0bd6b65ad98323b456?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jamesking42</media:title>
		</media:content>
	</item>
		<item>
		<title>Manual regression testing may not suck so badly after all</title>
		<link>http://kingsinsight.com/2012/01/27/manual-regression-testing-may-not-suck-so-badly-after-all/</link>
		<comments>http://kingsinsight.com/2012/01/27/manual-regression-testing-may-not-suck-so-badly-after-all/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 02:02:23 +0000</pubDate>
		<dc:creator>James King</dc:creator>
				<category><![CDATA[Implementation]]></category>
		<category><![CDATA[Measurement]]></category>
		<category><![CDATA[Agile development]]></category>
		<category><![CDATA[agile testing]]></category>
		<category><![CDATA[regression testing]]></category>
		<category><![CDATA[testing robots]]></category>

		<guid isPermaLink="false">http://kingsinsight.com/?p=573</guid>
		<description><![CDATA[I often work with good developers and one thing I notice about all good developers is that they seem to love the idea of building robots. Bad developers see problems and sit there waiting for someone to come up with a solution in enough detail for the developer to transcribe the solution into code, much [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=573&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I often work with good developers and one thing I notice about all good developers is that they seem to love the idea of building robots.</p>
<p>Bad developers see problems and sit there waiting for someone to come up with a solution in enough detail for the developer to transcribe the solution into code, much like an old fashioned typist takes dictation and types it onto a page.<br />
So if a bad developer noticed that their house needed cleaning, then he or she would simply complain that someone should clean it. Then if you point out that it is their house that needs cleaning then they will either claim management won’t let them clean or that the problem is more complex than it seems cannot be solved.</p>
<p>In fact even if you ask them to try and clean, they will just start to reveal that cleaning is “more than vacuuming” and could involve the removal of micro-particles that only quantum physicists could possible manipulate. Indeed, they will contend, it is unlikely that anyone really cleans their house and the only practical solution would be to upgrade to a new cleaner house.</p>
<p>But good developers are different. A good developer will notice that the house needs cleaning, work out that actually cleaning it less fun than designing a better way to clean houses and immediately begin working on the design for a new robot.<br />
<span id="more-573"></span></p>
<p>In fact, rather than cleaning the house for an hour, most good developers would prefer to spend a whole day building a robot that could clean the house for them.<br />
Of course, the robot might occasionally turn evil and attack the developer as happens in every science fiction movie; but even this is seen as being preferable to cleaning the house manually.</p>
<p>So a similar thing happens when it comes to testing. Bad developers seem to think that testing is optional, or at best a good idea in a utopian world, but simply impossible with our existing systems.</p>
<p>Good developers suggest that we hire a cleaner to come in once a week (er – a tester I mean). But that means that our house gets dirtier during the week and is only ever clean for a short time. It also turns out to cost money to hire both testers and cleaners and it turns out that if they are not good at their job then they don’t help us to clean things up at all.</p>
<p>So it is no surprise that when I asked my developers to do some regression testing recently, they immediately recommended hiring a regression testing specialist. When my budget ran too low, they immediately started to build robots to do the testing for them.</p>
<p>But the robots turned out to need maintenance and development and sadly even testing – they were developing their own bugs. So now we face the challenge – should we build a new robot to test our existing testing robot?</p>
<p>Now it seems we face an infinite loop, with ever increasing armies of robots being built to test and protect us from the robots we have already built.</p>
<p>Or, maybe we can do some manual regression testing.</p>
<p>Manual regression testing involves somebody sitting down and testing that what we built yesterday still works, even though we added some new stuff today.<br />
Because regression testing is boring, we would like to defer it to the end of the project, but because our system gets dirty one day at a time it seems better to test it every day.</p>
<p>But without robots and nanotechnology we cannot test everything every day and even with robots, they only test the same obvious stuff every day.<br />
This is what you would call a problem that sucks:<br />
<a href="http://kingsinsight.files.wordpress.com/2012/01/sucky-testing.jpg"><img class="alignnone size-medium wp-image-574" title="sucky testing" src="http://kingsinsight.files.wordpress.com/2012/01/sucky-testing.jpg?w=300&#038;h=286" alt="" width="300" height="286" /></a><br />
So I decided to as a tester – What is it about testers that makes them enjoy doing long hours or boring, sucky work?</p>
<p>The answer might surprise you – the tester I spoke to actually hates doing long hours of sucky boring work. He even hired a cleaner to clean his house because he could not afford a robot with nontechnology. Also he noted, he would not trust a robot that was built by developers because he was sure it would eventually turn evil and try to exterminate humanity.</p>
<p>So I asked him a new question – how can manual regression testing be anything but sucky work?</p>
<p style="padding-left:30px;">“Build some robots,” he responded, “Automated testing is much better than manual testing for fun value, even though manual testing often reveals more important problems.”<br />
“But how can a human out-test a robot?” I asked, “ and why do you do manual testing if it sucks.”<br />
“Repetitive testing sucks and robots are better at stuff that sucks. But manual testing is really problem solving not just typing test scripts,” He responded.</p>
<p>My immediate thought was that if I could fool the developers into thinking that testing was fun then I might be onto something … but they are probably too smart for that.</p>
<p>So the bigger challenge is to try to find ways that testing is actually about problem solving while keeping the repetitive stuff to a minimum. Unfortunately that sounds like the opposite of regression testing doesn’t it?</p>
<p>So &#8211; how can regression testing be valuable work that people don&#8217;t hate doing &#8211; rather than low value work we defer indefinitely? (Besides through building robots).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kingsinsight.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kingsinsight.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kingsinsight.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kingsinsight.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kingsinsight.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kingsinsight.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kingsinsight.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kingsinsight.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kingsinsight.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kingsinsight.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kingsinsight.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kingsinsight.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kingsinsight.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kingsinsight.wordpress.com/573/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=573&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kingsinsight.com/2012/01/27/manual-regression-testing-may-not-suck-so-badly-after-all/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a39c3c938b68cc0bd6b65ad98323b456?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jamesking42</media:title>
		</media:content>

		<media:content url="http://kingsinsight.files.wordpress.com/2012/01/sucky-testing.jpg?w=300" medium="image">
			<media:title type="html">sucky testing</media:title>
		</media:content>
	</item>
		<item>
		<title>Sprint 0 (or iteration 0) checklist &#8230; simple but not always easy</title>
		<link>http://kingsinsight.com/2011/09/30/sprint-0-or-iteration-0-checklist-simple-but-not-always-easy/</link>
		<comments>http://kingsinsight.com/2011/09/30/sprint-0-or-iteration-0-checklist-simple-but-not-always-easy/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 03:55:46 +0000</pubDate>
		<dc:creator>James King</dc:creator>
				<category><![CDATA[Implementation]]></category>
		<category><![CDATA[Observations]]></category>
		<category><![CDATA[and retrospective]]></category>
		<category><![CDATA[backlog]]></category>
		<category><![CDATA[eek]]></category>
		<category><![CDATA[iteration]]></category>
		<category><![CDATA[planning under pressure]]></category>
		<category><![CDATA[wrong direction]]></category>

		<guid isPermaLink="false">http://kingsinsight.com/?p=554</guid>
		<description><![CDATA[I am currently trapped in the real world &#8230; working on a real project rather than running a training course on how to run projects. Interestingly it turns out the real world is harder and more ambiguous than the projects in my training slides Having said that though, the fundamentals don&#8217;t seem to change. We have stopped [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=554&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I am currently trapped in the real world &#8230; working on a real project rather than running a training course on how to run projects.</p>
<p>Interestingly it turns out the real world is harder and more ambiguous than the projects in my training slides <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Having said that though, the fundamentals don&#8217;t seem to change. We have stopped a project and are about to restart. It is really urgent and we have inherited a project whose budget (in time and money) has already been spent. So we really need to get going.</p>
<p>But are we better off starting or are we better off getting our act together before we start so we are not &#8220;mistaking activity for progress&#8221; by rushing off in the wrong direction?</p>
<p><span id="more-554"></span></p>
<p>What I say in my training courses is to get the team together and brainstorm everything that needs to be in place before we start.  Then prioritise these ideas using <a title="Using MoSCoW to prioritize ideas" href="http://kingsinsight.com/2010/12/03/using-moscow-to-prioritize-ideas/">MOSCOW</a> and spend your first iteration (or sprint) nailing those stories.  Then if you have not done all the &#8220;must haves&#8221; then don&#8217;t start and if you have not done all the should haves then you know your next retrospective will include &#8220;should not have started before &#8230;&#8221;.  But with your should haves you can turn them into risks or tasks to do in the next iteration or two by dropping some stories to make room for them.</p>
<p>Great, I can&#8217;t fault the logic, but now I am in the real world and the development team is already off and running on some of the things they know need doing for our first urgent release, while some of the team are yet to arrive on site.</p>
<p>So here are the must-have&#8217;s I am applying.  Let&#8217;s see what happens.</p>
<ol>
<li>Do we know where we are going?</li>
<ul>
<li>Do we have a Mandate to do the project? Ie</li>
<ul>
<li>Do we know the problem we are solving (<em>yes</em>). </li>
<li>Do we have funding allocated and not just &#8220;soon to be sorted&#8221;. (<em>Yes)</em></li>
<li>Do we have a complete backlog that the whole team understands (<em>no</em>).  Eek &#8230; do we know what to do for the first release? (<em>Yes &#8211; we need to be ready to integrate some functionality for the other key project by the end of next month</em>.</li>
<li>Do we know our scope and priorities? (<em>Yes-ish, er that is to say roughly yes)</em> [which is probably the most dangerous answer of all].  (<em>But we do know the scope for t he release in one month and we know our first priority is to hit that deadline subject to our other first priority of sufficient quality is mandatory).</em></li>
<li>Have we defined success? Do we know what &#8220;good&#8221; and &#8220;fixed quality&#8221; actually mean? When is a story done? What non-functional requirements need to be meet to release? (<em>Er No we are not really clear yet)</em></li>
</ul>
</ul>
<li>Do we know how to get there?</li>
<ul>
<li>Do we know what practices we are using? (<em>Yes &#8211; we are stealing them from the project we need to integrate into)</em>.</li>
<ul>
<li>Really? Do we have planning and showcase meetings booked (<em>yes</em>). Do we have retrospectives and standups? (<em>Yes)</em></li>
<li>Do we know what technologies we are using? (<em>Yes, except for some of the bits).</em></li>
</ul>
<li>Do we know who is doing what on our project? (<em>We have a sponsor, a product owner, a scrum master, a BA, some developers and a project manager). </em>Again &#8211; Do we know who is doing what? (<em>They should do, they know their job titles, except the Scrum Master, I am not sure if we told him that he is on the project to the bitter [or joyful] end).</em> In other words &#8211; We need to be clear on what they actually do. Cool &#8211; do we have an architect and a tester? (<em>Long pause &#8230; oops)</em></li>
<li>Do we have a test strategy that is understood by the whole team? (<em>No). </em></li>
<li>Do we have a publicly available risk register? <em>(No but the PM is listing and discussing the key risks)</em></li>
<li>Do we have a high level architecture that is understood by the whole team (coding standards if we want them, standard tools, guiding principles and of course a big picture on a wall or whiteboard of the context diagram and dataflow diagram (or domain model or strawman or something). (<em>Yes-ish)</em></li>
<li>Do we know the biggest constraint that is likely to inhibit our success? <em>(Yes and no)</em></li>
<li>Do we know the few things that really need to be done well and the other things that need to be done well enough to succeed? <em>(sort of)</em> What has to work for us to succeed and what has to be done really well? What will be forgiven and what will be remembered after the project is done? <em>(er &#8230; yes)</em></li>
<li>Do we have a road map of what is being released in what order, say epics per release? <em>We have lots of stories and epics in Sharepoint, Jira and Version One. But we do know what needs to be done for the end of the month and we are consolidating to one backlog in the coming days)</em></li>
</ul>
<li>Are we set up to succeed?</li>
<ul>
<li>Do we have the right people? <em>(yes</em>)</li>
<li>Have we moved to one location (<em>No &#8211; same planet but different countries</em>)</li>
<li>Have we cleared the decks of all other distractions (<em>no &#8211; some of the core team are on other initiatives</em>)</li>
<li>Do we have real buy-in and trust from both the team and the business stakeholders<em> (yes)</em></li>
<li>Have we all worked together before <em>(no)</em></li>
</ul>
</ol>
<p>The trainer in me is screaming stop. The enthusiastic optimist in me is calmly saying we have been here before and the crew is a good one so we will pull it off.</p>
<p>But the project manager in me is comparing risks against each other to pick the least worst (or should I say best) options. (I am not the PM on this project but I will sink or swim with him so my inner PM is talking loudly in my head).</p>
<p>So here is my current cunning plan:</p>
<ul>
<li>Get the test strategy in place before anything else.  Then make sure we have a technical scope and high level architecture diagram that we can show both the related project and the business customer.</li>
<li>Define Done, Quality and the &#8220;what do you really do&#8221; part of the key roles</li>
<li>Break the project into &#8220;imminent release&#8221; and &#8220;rest of project&#8221; and get on with some of the imminent release while sorting the rest out.</li>
<li>Smile and look confident while copping a schalaking from the sponsor for not being fully ready.  Calmly repeat &#8220;its better to be unhappy now than at the end of the month; It&#8217;s better for the team to commit than to force them forward before they are ready; We know the biggest constraints and we are focussed on managing them first; stop hitting me, its not really appropriate).</li>
<li>Expect to only deliver one quarter of my potential velocity in sprint one because I am really doing sprint two late.  Maybe I should delay to sort things out but that always seems to rub me the wrong way.What</li>
</ul>
<p>What would you tell me to do?</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kingsinsight.wordpress.com/554/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kingsinsight.wordpress.com/554/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kingsinsight.wordpress.com/554/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kingsinsight.wordpress.com/554/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kingsinsight.wordpress.com/554/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kingsinsight.wordpress.com/554/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kingsinsight.wordpress.com/554/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kingsinsight.wordpress.com/554/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kingsinsight.wordpress.com/554/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kingsinsight.wordpress.com/554/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kingsinsight.wordpress.com/554/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kingsinsight.wordpress.com/554/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kingsinsight.wordpress.com/554/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kingsinsight.wordpress.com/554/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=554&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kingsinsight.com/2011/09/30/sprint-0-or-iteration-0-checklist-simple-but-not-always-easy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a39c3c938b68cc0bd6b65ad98323b456?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jamesking42</media:title>
		</media:content>
	</item>
		<item>
		<title>Creating a basic communication plan</title>
		<link>http://kingsinsight.com/2011/04/22/creating-a-basic-communication-plan/</link>
		<comments>http://kingsinsight.com/2011/04/22/creating-a-basic-communication-plan/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 23:51:13 +0000</pubDate>
		<dc:creator>James King</dc:creator>
				<category><![CDATA[Implementation]]></category>
		<category><![CDATA[Leading change]]></category>
		<category><![CDATA[commucation plan]]></category>

		<guid isPermaLink="false">https://kingsinsight.wordpress.com/2011/04/22/creating-a-basic-communication-plan/</guid>
		<description><![CDATA[The world’s simplest communication plan might be this one: Who I am communicating with? What should I be telling them? How should I communicate with them? Even thinking about those three questions on the bus on your way to work might help create better communication. But I thought I would break the questions down to come [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=452&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The world’s simplest communication plan might be this one:</p>
<ul>
<li>Who I am communicating with?</li>
<li>What should I be telling them?</li>
<li>How should I communicate with them?</li>
</ul>
<p>Even thinking about those three questions on the bus on your way to work might help create better communication. But I thought I would break the questions down to come up with a slightly more complex plan that is still not hard to do.</p>
<p><span id="more-452"></span></p>
<h1>Who am I communicating with?</h1>
<p>The first step in building a communication plan is to perform a stakeholder analysis. But this does not need to be complicated.</p>
<h2>Impact on us and impact on them</h2>
<p>One approach is to identify the stakeholders as a team. I like to enhance this slightly by comparing stakeholders according to:</p>
<ul>
<li>How much impact they might have on us; and</li>
<li>How much impact our project is likely to have on them.</li>
</ul>
<p><a href="http://kingsinsight.files.wordpress.com/2011/04/image.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0;" title="image" src="http://kingsinsight.files.wordpress.com/2011/04/image_thumb.png?w=244&#038;h=223" alt="image" width="244" height="223" border="0" /></a></p>
<p>This helps the team understand the different levels and types of communication that might suit different stakeholders:</p>
<ul>
<li>Some people have the power to veto or delay our project, or control the resources we need access to. So we need their help and we need to explain why we they should support us, especially if they do not benefit from the project.</li>
<li>Some people will not be impacted by our project and we don’t really need their support. So we can let them know what we are doing but we shouldn’t really harass them too much with information noise.</li>
<li>Our project might have a significant impact on some people who can’t do much to stop us. So we can steamroll our changes through without their support. Unfortunately the concept of project Karma suggests that this will bring us bad luck in the future. So we should probably explain the project to them and seek their help in defining and understanding the implementation and support needs that our change will require.</li>
<li>Finally, some people have a huge impact on our ability to deliver the project and will also be impacted heavily by the project. These people want to know what is going on in more detail and also have a lot to tell us. So we should probably keep them close to the project and communicate with them very heavily.</li>
</ul>
<h2>What the stakeholders are interested in</h2>
<p>Once I have listed my stakeholders, I still need to know what to say to them. But I don’t want to send the same email to every stakeholder, so I classify my stakeholders by the type of communication I want to provide.</p>
<p>One simple approach to doing this is to create the following table and answer each of the questions (at least for key stakeholders). I often do this as a team but sometimes I sit down and do it on my own.</p>
<table width="533" border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td valign="top" width="100"><strong>Stakeholder group</strong></td>
<td valign="top" width="187"><strong>Current understanding</strong></td>
<td valign="top" width="67"><strong>Desired understanding</strong></td>
<td valign="top" width="177"><strong>Potential concerns</strong></td>
</tr>
<tr>
<td valign="top" width="100">CFO</td>
<td valign="top" width="187">Knows the project is needed but is not up to speed on our plans</td>
<td valign="top" width="67">Full support</td>
<td valign="top" width="177">Will waste money or deliver late.</td>
</tr>
<tr>
<td valign="top" width="100">Helpdesk</td>
<td valign="top" width="187">No idea yet</td>
<td valign="top" width="67">Know how to support</td>
<td valign="top" width="177">We will dump rubbish on them</td>
</tr>
<tr>
<td valign="top" width="100">Sponsor</td>
<td valign="top" width="187">None yet</td>
<td valign="top" width="67">Full support</td>
<td valign="top" width="177">She will be ambushed by CFO with questions</td>
</tr>
<tr>
<td valign="top" width="100">Brand</td>
<td valign="top" width="187">Yet another project</td>
<td valign="top" width="67">Full support</td>
<td valign="top" width="177">We will be cowboys</td>
</tr>
</tbody>
</table>
<p>For completeness, I often add a column for “impact on us” and one for “impact on them”.</p>
<h1>How and what do we communicate?</h1>
<p>I will leave the specific details of what you communicate to you, because it will depend on the project. But here is how I often compile my own communication plans:</p>
<table width="527" border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td valign="top" width="106">Message</td>
<td valign="top" width="168">Stakeholders</td>
<td valign="top" width="82">When</td>
<td valign="top" width="71">Who</td>
<td valign="top" width="143">Channel</td>
</tr>
<tr>
<td valign="top" width="106">Project status</td>
<td valign="top" width="168">Steering committee, CFO</td>
<td valign="top" width="82">Weekly</td>
<td valign="top" width="71">Joan</td>
<td valign="top" width="143">Email</td>
</tr>
<tr>
<td valign="top" width="106">Project status</td>
<td valign="top" width="168">Steering committee</td>
<td valign="top" width="82">Monthly</td>
<td valign="top" width="71">PM</td>
<td valign="top" width="143">Meeting</td>
</tr>
<tr>
<td valign="top" width="106">Project status</td>
<td valign="top" width="168">Core project team</td>
<td valign="top" width="82">Fridays</td>
<td valign="top" width="71">PM</td>
<td valign="top" width="143">Meeting with muffins</td>
</tr>
<tr>
<td valign="top" width="106">Support training</td>
<td valign="top" width="168">Call ctr, prod support</td>
<td valign="top" width="82">15-20 Feb</td>
<td valign="top" width="71">BA</td>
<td valign="top" width="143">face to face</td>
</tr>
<tr>
<td valign="top" width="106">Sales pitch for the product</td>
<td valign="top" width="168">Sales team</td>
<td valign="top" width="82">15 Feb</td>
<td valign="top" width="71">BA</td>
<td valign="top" width="143">Short video on the intranet</td>
</tr>
</tbody>
</table>
<p>This plan is obviously based on my stakeholder analysis and on an understanding of what I want to communicate.  The level of detail will vary but I find it very useful to share with the team who we are communicating with, when we are doing so and who in the team is responsible for doing it.</p>
<p>It a simple approach but has proven sufficient for many of my projects. Let me know if it works for you.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kingsinsight.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kingsinsight.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kingsinsight.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kingsinsight.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kingsinsight.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kingsinsight.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kingsinsight.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kingsinsight.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kingsinsight.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kingsinsight.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kingsinsight.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kingsinsight.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kingsinsight.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kingsinsight.wordpress.com/452/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kingsinsight.com&amp;blog=9272381&amp;post=452&amp;subd=kingsinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kingsinsight.com/2011/04/22/creating-a-basic-communication-plan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a39c3c938b68cc0bd6b65ad98323b456?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jamesking42</media:title>
		</media:content>

		<media:content url="http://kingsinsight.files.wordpress.com/2011/04/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
	</channel>
</rss>
