<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>threehv &#187; requirements gathering</title>
	<atom:link href="http://www.3hv.co.uk/blog/tag/requirements-gathering/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.3hv.co.uk/blog</link>
	<description>precision engineering for your website</description>
	<lastBuildDate>Fri, 13 Jan 2012 16:18:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Using Cucumber to estimate a project</title>
		<link>http://www.3hv.co.uk/blog/2009/05/15/using-cucumber-to-estimate-a-project/</link>
		<comments>http://www.3hv.co.uk/blog/2009/05/15/using-cucumber-to-estimate-a-project/#comments</comments>
		<pubDate>Fri, 15 May 2009 16:39:45 +0000</pubDate>
		<dc:creator>Rahoul Baruah</dc:creator>
				<category><![CDATA[Designing Great Software]]></category>
		<category><![CDATA[Managing Successful Projects]]></category>
		<category><![CDATA[Ruby on Rails and Software Development]]></category>
		<category><![CDATA[Writing Reliable, Bug-Free Code]]></category>
		<category><![CDATA[cucumber]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[estimates]]></category>
		<category><![CDATA[project planning]]></category>
		<category><![CDATA[requirements gathering]]></category>

		<guid isPermaLink="false">http://www.3hv.co.uk/blog/?p=521</guid>
		<description><![CDATA[Writing estimates up-front is a really tricky part of client work. From the customer&#8217;s point of view it&#8217;s pretty essential. You need to know how much you are spending before the work begins so you don&#8217;t get stung. From the developer&#8217;s point of view it&#8217;s pretty difficult to do because you don&#8217;t know how long [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.3hv.co.uk/blog/wp-content/uploads/2009/05/281211_6743jpg-300x225.jpg" alt="Invoice" title="Invoice" width="300" height="225" class="alignright size-medium wp-image-524" style="margin: 4px" />Writing estimates up-front is a really tricky part of client work.  </p>
<p>From the customer&#8217;s point of view it&#8217;s pretty essential.  You need to know how much you are spending before the work begins so you don&#8217;t get stung.    </p>
<p>From the developer&#8217;s point of view it&#8217;s pretty difficult to do because you don&#8217;t know how long things will take until you know what you&#8217;re building.  And you don&#8217;t know the details of what you are building until they become apparent, which is normally while you are doing the work.  </p>
<p>For this particular client I wanted to get this piece of work out of the way as quickly as possible and the requirements were deceptively complicated.  As trying to deal with intangibles is a recipe for disaster, and time was short, I was pretty sure that whatever estimate I came up with would be totally inaccurate.  </p>
<p>So to deal with the intangibles I thought I may as well get stuck in with the actual work.  And what&#8217;s the first thing that I do?  Write a <a href="http://cukes.info">cucumber</a> story.  </p>
<p>I went through the requirements documents (which after weeks of to and fro were actually quite detailed and refined) and broke it down into four features, each with a number of scenarios.  Each scenario was then broken down into individual steps &#8211; however, I did not write any step definition (ruby) files.  This is cucumber as customer documentation, not as integration testing.  </p>
<p>We agreed that the features met the requirements (the client was very impressed with the level of detail and the clarity that cucumber offered) and I simply went through each feature, scenario and step and came up with a price for the step individually.  It&#8217;s still guesswork, but it&#8217;s guesswork on a small scale, so you&#8217;re less likely to be way off.  Total the lot and there&#8217;s your estimate.  </p>
<p>And even better, once the client has agreed the price and you&#8217;ve started development, you&#8217;ve got a development plan, a measure of progress and proof that it all works &#8211; all just a simple <tt>rake features</tt> away.  </p>
<p><small>Image by <a href="http://www.sxc.hu/profile/lemon_drop">lemon drop</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.3hv.co.uk/blog/2009/05/15/using-cucumber-to-estimate-a-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.188 seconds -->

