<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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: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>Comments on: The Requirements Myth</title>
	<atom:link href="http://jeffspost.wordpress.com/2008/11/03/the-requirements-myth/feed/" rel="self" type="application/rss+xml" />
	<link>http://jeffspost.wordpress.com/2008/11/03/the-requirements-myth/</link>
	<description>Jeff Staddon on Business and Technology</description>
	<lastBuildDate>Sun, 12 Jul 2009 17:41:26 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: mythorfact</title>
		<link>http://jeffspost.wordpress.com/2008/11/03/the-requirements-myth/#comment-939</link>
		<dc:creator>mythorfact</dc:creator>
		<pubDate>Sun, 12 Jul 2009 17:14:43 +0000</pubDate>
		<guid isPermaLink="false">http://jeffspost.wordpress.com/?p=60#comment-939</guid>
		<description>Oh where did you learn all of this, Obie One? Espousing drivel that a 1 year IT intern should know? PHDs in the field of programming has driven all kinds of how in the world do programmers communicate with non-programmers since the 1970s. Nothing new in this post except maybe You are learning Your job. So glad you have had a revelation. Looks are more important than the darn system working right????????Yeah focus on that and you will go far...Not!</description>
		<content:encoded><![CDATA[<p>Oh where did you learn all of this, Obie One? Espousing drivel that a 1 year IT intern should know? PHDs in the field of programming has driven all kinds of how in the world do programmers communicate with non-programmers since the 1970s. Nothing new in this post except maybe You are learning Your job. So glad you have had a revelation. Looks are more important than the darn system working right????????Yeah focus on that and you will go far&#8230;Not!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: /++//++//++//++//++//++/ &#187; Blog Archive</title>
		<link>http://jeffspost.wordpress.com/2008/11/03/the-requirements-myth/#comment-875</link>
		<dc:creator>/++//++//++//++//++//++/ &#187; Blog Archive</dc:creator>
		<pubDate>Sat, 08 Nov 2008 21:01:05 +0000</pubDate>
		<guid isPermaLink="false">http://jeffspost.wordpress.com/?p=60#comment-875</guid>
		<description>[...] (Iterate 1-5 as needed)&#8221; jeffspost.wordpress.com&#8230; [...]</description>
		<content:encoded><![CDATA[<p>[...] (Iterate 1-5 as needed)&#8221; jeffspost.wordpress.com&#8230; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vijay Patel</title>
		<link>http://jeffspost.wordpress.com/2008/11/03/the-requirements-myth/#comment-873</link>
		<dc:creator>Vijay Patel</dc:creator>
		<pubDate>Wed, 05 Nov 2008 06:45:53 +0000</pubDate>
		<guid isPermaLink="false">http://jeffspost.wordpress.com/?p=60#comment-873</guid>
		<description>Your post resonates with my own experiences. IMHO, the biggest obstacles to the domain discovery phase are:

- Developers prefer writing code, than understanding the domain
- Business users/stakeholders want to see *results*
- Creating and delivering flexible prototypes takes too long

We have a product that attempts to tear down these obstacles, and:

- Allows developers to rapidly create prototypes using code
- Allows business users/domain experts to interact with the prototypes
- Allows all parties to understand and share the domain

The product is called &quot;TrueView&quot;, and I believe it tackles a very important part of the software design process.
You can learn more about it at www.evolving-software.co.uk.

Cheers,
Vijay</description>
		<content:encoded><![CDATA[<p>Your post resonates with my own experiences. IMHO, the biggest obstacles to the domain discovery phase are:</p>
<p>- Developers prefer writing code, than understanding the domain<br />
- Business users/stakeholders want to see *results*<br />
- Creating and delivering flexible prototypes takes too long</p>
<p>We have a product that attempts to tear down these obstacles, and:</p>
<p>- Allows developers to rapidly create prototypes using code<br />
- Allows business users/domain experts to interact with the prototypes<br />
- Allows all parties to understand and share the domain</p>
<p>The product is called &#8220;TrueView&#8221;, and I believe it tackles a very important part of the software design process.<br />
You can learn more about it at <a href="http://www.evolving-software.co.uk" rel="nofollow">http://www.evolving-software.co.uk</a>.</p>
<p>Cheers,<br />
Vijay</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arjan`s World &#187; LINKBLOG for November 4, 2008</title>
		<link>http://jeffspost.wordpress.com/2008/11/03/the-requirements-myth/#comment-872</link>
		<dc:creator>Arjan`s World &#187; LINKBLOG for November 4, 2008</dc:creator>
		<pubDate>Tue, 04 Nov 2008 21:40:11 +0000</pubDate>
		<guid isPermaLink="false">http://jeffspost.wordpress.com/?p=60#comment-872</guid>
		<description>[...] The Requirements Myth - Jeff Staddon &#8216; The myth: Never start designing and certainly NEVER start writing code until the requirements are defined &#8216; We still hear this, don&#8217;t you? [...]</description>
		<content:encoded><![CDATA[<p>[...] The Requirements Myth &#8211; Jeff Staddon &#8216; The myth: Never start designing and certainly NEVER start writing code until the requirements are defined &#8216; We still hear this, don&#8217;t you? [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Twylite</title>
		<link>http://jeffspost.wordpress.com/2008/11/03/the-requirements-myth/#comment-871</link>
		<dc:creator>Twylite</dc:creator>
		<pubDate>Tue, 04 Nov 2008 11:38:42 +0000</pubDate>
		<guid isPermaLink="false">http://jeffspost.wordpress.com/?p=60#comment-871</guid>
		<description>Great article!  We are a small team that handles numerous short (2-8 month) projects, and one problem that we have struggled with is how to estimate a fixed cost up front.  In our industry quoting is done at risk, the customer&#039;s stated problem or envisaged solution is sketchy at best, and they expect a quick (and binding) answer to the question &quot;how much will (this half-page description) cost and how long will it take?&quot;.

We have arrived at a lightweight process quite similar to what you describe, in that we use our domain understanding to do a high level design based on the customer&#039;s description, from which we can make time &amp; cost estimates and write up a draft specification.  In effect we say to the customer &quot;You asked for X, and we will give you Y (similar to X) in N weeks at cost C&quot;.  

From this we gain two significant advantages:
1. We have a good idea of how we will approach the project before we commit to costs &amp; times.  You cannot do this if you start from a requirements spec.
2. The specification was written by us and subject to our interpretation - we offer to implement the system that we have described in vague terms, as opposed to the one that the customer described in vague terms.  This results in much better control of project scope, changes, and contractual disagreements.

Taking all of this into account I would practice your process as something more like:

1. Understand the domain
2. Understand the customer&#039;s problem and needs
3. Draft of the high level design (major functionality, user interface sequences for the functionality, software components required to support the functionality, infrastructure components)
4. Identify risky areas (functionality, approaches or technology your team hasn&#039;t handled before) and make prototypes to reduce the risk.
5. Estimate times &amp; costs.  Don&#039;t forget documentation, testing, customer acceptance demonstrations, etc.
6. Write a specification based on the high level design.  This is probably best called a &quot;functional&quot; or &quot;behavioral&quot; specification.
7. Get the signed contract (don&#039;t underestimate the importance of this step!)
8. Low level design, code, test, document.
9. Iterate as needed

Regards,
Twylite</description>
		<content:encoded><![CDATA[<p>Great article!  We are a small team that handles numerous short (2-8 month) projects, and one problem that we have struggled with is how to estimate a fixed cost up front.  In our industry quoting is done at risk, the customer&#8217;s stated problem or envisaged solution is sketchy at best, and they expect a quick (and binding) answer to the question &#8220;how much will (this half-page description) cost and how long will it take?&#8221;.</p>
<p>We have arrived at a lightweight process quite similar to what you describe, in that we use our domain understanding to do a high level design based on the customer&#8217;s description, from which we can make time &amp; cost estimates and write up a draft specification.  In effect we say to the customer &#8220;You asked for X, and we will give you Y (similar to X) in N weeks at cost C&#8221;.  </p>
<p>From this we gain two significant advantages:<br />
1. We have a good idea of how we will approach the project before we commit to costs &amp; times.  You cannot do this if you start from a requirements spec.<br />
2. The specification was written by us and subject to our interpretation &#8211; we offer to implement the system that we have described in vague terms, as opposed to the one that the customer described in vague terms.  This results in much better control of project scope, changes, and contractual disagreements.</p>
<p>Taking all of this into account I would practice your process as something more like:</p>
<p>1. Understand the domain<br />
2. Understand the customer&#8217;s problem and needs<br />
3. Draft of the high level design (major functionality, user interface sequences for the functionality, software components required to support the functionality, infrastructure components)<br />
4. Identify risky areas (functionality, approaches or technology your team hasn&#8217;t handled before) and make prototypes to reduce the risk.<br />
5. Estimate times &amp; costs.  Don&#8217;t forget documentation, testing, customer acceptance demonstrations, etc.<br />
6. Write a specification based on the high level design.  This is probably best called a &#8220;functional&#8221; or &#8220;behavioral&#8221; specification.<br />
7. Get the signed contract (don&#8217;t underestimate the importance of this step!)<br />
8. Low level design, code, test, document.<br />
9. Iterate as needed</p>
<p>Regards,<br />
Twylite</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Buchanan</title>
		<link>http://jeffspost.wordpress.com/2008/11/03/the-requirements-myth/#comment-869</link>
		<dc:creator>Michael Buchanan</dc:creator>
		<pubDate>Mon, 03 Nov 2008 18:47:23 +0000</pubDate>
		<guid isPermaLink="false">http://jeffspost.wordpress.com/?p=60#comment-869</guid>
		<description>I totally agree.  I&#039;ve almost abandoned everything I came to believe was true.  I found some of the promises of OO to never be realized(reuse especially)  I do things completely different now.  I create the app immediately off of a data model, then design and scope as I go...  This is my site.. www.overnightapps.com</description>
		<content:encoded><![CDATA[<p>I totally agree.  I&#8217;ve almost abandoned everything I came to believe was true.  I found some of the promises of OO to never be realized(reuse especially)  I do things completely different now.  I create the app immediately off of a data model, then design and scope as I go&#8230;  This is my site.. <a href="http://www.overnightapps.com" rel="nofollow">http://www.overnightapps.com</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Very Funny</title>
		<link>http://jeffspost.wordpress.com/2008/11/03/the-requirements-myth/#comment-867</link>
		<dc:creator>Very Funny</dc:creator>
		<pubDate>Mon, 03 Nov 2008 18:45:56 +0000</pubDate>
		<guid isPermaLink="false">http://jeffspost.wordpress.com/?p=60#comment-867</guid>
		<description>You should retitle this posting &quot;Not knowing anything, not learning anything, closing your mind&quot;

Everything is so contextual and just because you failed elicitation or didn&#039;t even try any planning doesn&#039;t mean they don&#039;t work for everyone. Even worse don&#039;t pretend your little process works for everyone and everything, that was your fatal flaw and assumption to begin with.

Engineering is meant to involve critical rational thought. Not just blind dogma which you seem to espouse.</description>
		<content:encoded><![CDATA[<p>You should retitle this posting &#8220;Not knowing anything, not learning anything, closing your mind&#8221;</p>
<p>Everything is so contextual and just because you failed elicitation or didn&#8217;t even try any planning doesn&#8217;t mean they don&#8217;t work for everyone. Even worse don&#8217;t pretend your little process works for everyone and everything, that was your fatal flaw and assumption to begin with.</p>
<p>Engineering is meant to involve critical rational thought. Not just blind dogma which you seem to espouse.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Very Funny</title>
		<link>http://jeffspost.wordpress.com/2008/11/03/the-requirements-myth/#comment-868</link>
		<dc:creator>Very Funny</dc:creator>
		<pubDate>Mon, 03 Nov 2008 18:43:56 +0000</pubDate>
		<guid isPermaLink="false">http://jeffspost.wordpress.com/?p=60#comment-868</guid>
		<description>You should retitle this posting &quot;Not knowing anything, not learning anything, closing your mind&quot;

Everything is so contextual and just because you failed elicitation or didn&#039;t even try any planning doesn&#039;t mean they don&#039;t work for everyone. Even worse don&#039;t pretend your little process works for everyone and everything, that was your fatal flaw and assumption to begin with.

Engineering is meant to involve critical rational thought. Not just blind dogma which you seem to espouse.</description>
		<content:encoded><![CDATA[<p>You should retitle this posting &#8220;Not knowing anything, not learning anything, closing your mind&#8221;</p>
<p>Everything is so contextual and just because you failed elicitation or didn&#8217;t even try any planning doesn&#8217;t mean they don&#8217;t work for everyone. Even worse don&#8217;t pretend your little process works for everyone and everything, that was your fatal flaw and assumption to begin with.</p>
<p>Engineering is meant to involve critical rational thought. Not just blind dogma which you seem to espouse.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
