<?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/"
		>
<channel>
	<title>Comments on: Writing Correct Requirements</title>
	<atom:link href="http://tynerblain.com/blog/2006/10/30/writing-correct-requirements/feed/" rel="self" type="application/rss+xml" />
	<link>http://tynerblain.com/blog/2006/10/30/writing-correct-requirements/</link>
	<description>Software product success.</description>
	<lastBuildDate>Thu, 18 Mar 2010 20:39:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Scott Sehlhorst</title>
		<link>http://tynerblain.com/blog/2006/10/30/writing-correct-requirements/comment-page-1/#comment-56794</link>
		<dc:creator>Scott Sehlhorst</dc:creator>
		<pubDate>Tue, 14 Nov 2006 21:02:56 +0000</pubDate>
		<guid isPermaLink="false">http://tynerblain.com/blog/2006/10/30/writing-correct-requirements/#comment-56794</guid>
		<description>Completely agree.  Yes.  Agree some more.  :)

I was curious what tools you&#039;ve used.  I&#039;ve used all but #5 on different projects with different companies.  And from my experience too, something like #5 would be ideal.  Also completely agree about process approach, and would add that even if all companies used that magic tool, each team/company would need a different process.

I don&#039;t know of a solution that has all the elements of #5 either.  I&#039;m hoping someone will chime in...  I don&#039;t have time to build it at the moment.</description>
		<content:encoded><![CDATA[<p>Completely agree.  Yes.  Agree some more.  :)</p>
<p>I was curious what tools you&#8217;ve used.  I&#8217;ve used all but #5 on different projects with different companies.  And from my experience too, something like #5 would be ideal.  Also completely agree about process approach, and would add that even if all companies used that magic tool, each team/company would need a different process.</p>
<p>I don&#8217;t know of a solution that has all the elements of #5 either.  I&#8217;m hoping someone will chime in&#8230;  I don&#8217;t have time to build it at the moment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Moshe Gotesman</title>
		<link>http://tynerblain.com/blog/2006/10/30/writing-correct-requirements/comment-page-1/#comment-56793</link>
		<dc:creator>Moshe Gotesman</dc:creator>
		<pubDate>Tue, 14 Nov 2006 20:55:07 +0000</pubDate>
		<guid isPermaLink="false">http://tynerblain.com/blog/2006/10/30/writing-correct-requirements/#comment-56793</guid>
		<description>I think the tool that ends-up being used is very much dependent on the specific circumstances of the project/company: What is available; What is already being used; How willing is the company to migrate to another tool; Big vs. Small company. Startup vs. established, etc.

The ideal tool that you describe sure sounds like the right one. I am not aware of such a tool and will be interetsed to learn if one exists. But I do want to emphasize that, IMHO, the tool alone is not enough - not even your ideal tool. Two more major factors must be taken care of:

1. Put the right process around the tool. Without the process, the tool will be used in an uncontrolled way, resulting in chaos.
2. Get all team memebers into the habit of using the tool routinely according to the process. Without that, the beautiful tool will be there to collect dust...</description>
		<content:encoded><![CDATA[<p>I think the tool that ends-up being used is very much dependent on the specific circumstances of the project/company: What is available; What is already being used; How willing is the company to migrate to another tool; Big vs. Small company. Startup vs. established, etc.</p>
<p>The ideal tool that you describe sure sounds like the right one. I am not aware of such a tool and will be interetsed to learn if one exists. But I do want to emphasize that, IMHO, the tool alone is not enough &#8211; not even your ideal tool. Two more major factors must be taken care of:</p>
<p>1. Put the right process around the tool. Without the process, the tool will be used in an uncontrolled way, resulting in chaos.<br />
2. Get all team memebers into the habit of using the tool routinely according to the process. Without that, the beautiful tool will be there to collect dust&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott Sehlhorst</title>
		<link>http://tynerblain.com/blog/2006/10/30/writing-correct-requirements/comment-page-1/#comment-56779</link>
		<dc:creator>Scott Sehlhorst</dc:creator>
		<pubDate>Tue, 14 Nov 2006 15:17:46 +0000</pubDate>
		<guid isPermaLink="false">http://tynerblain.com/blog/2006/10/30/writing-correct-requirements/#comment-56779</guid>
		<description>Hey Moshe, thanks for replying!

Sounds like a good approach.  I&#039;ve been on a couple projects where the &quot;our dev team is idle&quot; pressure continues to bear down on the requirements team.  It would have been great to have a PM on that project who served to keep the prioritization as you have.

Having the implementation team &quot;in the loop&quot; about the SRS definitely helps too, and allows people to get started.  It introduces a risk, but that risk is easily mitigated with either experienced developers/testers, or coaching from someone experienced.  In my experience, it has only been an issue when folks were brand new (&quot;But the spec &lt;i&gt;used to say...&lt;/i&gt;.

How do you keep the implementation team informed on the doc as it is under development?  I&#039;ve seen a few different approaches:
&lt;ol&gt;
&lt;li&gt;Central, versioned doc server like sharepoint&lt;/li&gt;
&lt;li&gt;Source control, like subversion&lt;/li&gt;
&lt;li&gt;Central file location (shared drive) and ideally file versioning&lt;/li&gt;
&lt;li&gt;Distributed file ownership and emailed &quot;fyi&quot; versions&lt;/li&gt;
&lt;li&gt;Alternative, collaborative presentation (online, multiuser docs)&lt;/li&gt;
&lt;li&gt;Structured requirements repository like CaliberRM&lt;/li&gt;
&lt;/ol&gt;

I believe any team can make any of the approaches work, but with tradeoffs.  I&#039;d like to have a collaborative online/offline available solution, with RSS updates to stakeholders (instead of &quot;hey, I updated this&quot; emails) and integrated approvals.  Anyone know of something that has all of that?

Thanks again,
Scott</description>
		<content:encoded><![CDATA[<p>Hey Moshe, thanks for replying!</p>
<p>Sounds like a good approach.  I&#8217;ve been on a couple projects where the &#8220;our dev team is idle&#8221; pressure continues to bear down on the requirements team.  It would have been great to have a PM on that project who served to keep the prioritization as you have.</p>
<p>Having the implementation team &#8220;in the loop&#8221; about the SRS definitely helps too, and allows people to get started.  It introduces a risk, but that risk is easily mitigated with either experienced developers/testers, or coaching from someone experienced.  In my experience, it has only been an issue when folks were brand new (&#8220;But the spec <i>used to say&#8230;</i>.</p>
<p>How do you keep the implementation team informed on the doc as it is under development?  I&#8217;ve seen a few different approaches:</p>
<ol>
<li>Central, versioned doc server like sharepoint</li>
<li>Source control, like subversion</li>
<li>Central file location (shared drive) and ideally file versioning</li>
<li>Distributed file ownership and emailed &#8220;fyi&#8221; versions</li>
<li>Alternative, collaborative presentation (online, multiuser docs)</li>
<li>Structured requirements repository like CaliberRM</li>
</ol>
<p>I believe any team can make any of the approaches work, but with tradeoffs.  I&#8217;d like to have a collaborative online/offline available solution, with RSS updates to stakeholders (instead of &#8220;hey, I updated this&#8221; emails) and integrated approvals.  Anyone know of something that has all of that?</p>
<p>Thanks again,<br />
Scott</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Moshe Gotesman</title>
		<link>http://tynerblain.com/blog/2006/10/30/writing-correct-requirements/comment-page-1/#comment-56765</link>
		<dc:creator>Moshe Gotesman</dc:creator>
		<pubDate>Tue, 14 Nov 2006 08:12:54 +0000</pubDate>
		<guid isPermaLink="false">http://tynerblain.com/blog/2006/10/30/writing-correct-requirements/#comment-56765</guid>
		<description>Scott,

In answer to your question, yes, it is possible that the implementation team will start implemetation while the first version is being written. 

The most important thing here is to manage the inherent risk in this approach, namely, that the engineers will implement something that will later conflict with the SRS. To minimize the risk, I try to do the following:
* Make sure that writing of the SRS is not delayed because everybody is &quot;busy implementing&quot;. In other words, although implementation starts while the SRS is still being written, the SRS is the higher priority, not the other way around. This ensures that the SRS will become available ASAP, hopefully before the engineers have moved to far ahead.
* Make sure that the implementors are closely involved with the SRS development from the start. That is, the engineers participate in the development of the SRS. This way they know early on what the SRS is going to say so that they already know what to implement even though the SRS is not yet &quot;released&quot;.

Cheers.</description>
		<content:encoded><![CDATA[<p>Scott,</p>
<p>In answer to your question, yes, it is possible that the implementation team will start implemetation while the first version is being written. </p>
<p>The most important thing here is to manage the inherent risk in this approach, namely, that the engineers will implement something that will later conflict with the SRS. To minimize the risk, I try to do the following:<br />
* Make sure that writing of the SRS is not delayed because everybody is &#8220;busy implementing&#8221;. In other words, although implementation starts while the SRS is still being written, the SRS is the higher priority, not the other way around. This ensures that the SRS will become available ASAP, hopefully before the engineers have moved to far ahead.<br />
* Make sure that the implementors are closely involved with the SRS development from the start. That is, the engineers participate in the development of the SRS. This way they know early on what the SRS is going to say so that they already know what to implement even though the SRS is not yet &#8220;released&#8221;.</p>
<p>Cheers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott Sehlhorst</title>
		<link>http://tynerblain.com/blog/2006/10/30/writing-correct-requirements/comment-page-1/#comment-56738</link>
		<dc:creator>Scott Sehlhorst</dc:creator>
		<pubDate>Mon, 13 Nov 2006 15:50:33 +0000</pubDate>
		<guid isPermaLink="false">http://tynerblain.com/blog/2006/10/30/writing-correct-requirements/#comment-56738</guid>
		<description>Moshe,

Thanks very much for reading and commenting!

I think your idea, get something, then make it good, is a good one.  I think the dynamic that affects writers with a blank sheet of paper is the same one that affects people new to writing requirements / specs.  More experienced people can immediately start jotting down an outline that captures elements of the SRS and then fill it out.  &quot;Getting started&quot; can definitely be overwhelming for folks who are less comfortable writing specs.

A question - when scheduling the activities of the rest of the team, specifically the implementation team and other stakeholders of the SRS - do you get them started on the &quot;something&quot; version, allowing them to work in parallel with the revision/improvement of the SRS?  Or do you wait until there SRS is &quot;ready?&quot;  Or something in between?

Thanks again,
Scott</description>
		<content:encoded><![CDATA[<p>Moshe,</p>
<p>Thanks very much for reading and commenting!</p>
<p>I think your idea, get something, then make it good, is a good one.  I think the dynamic that affects writers with a blank sheet of paper is the same one that affects people new to writing requirements / specs.  More experienced people can immediately start jotting down an outline that captures elements of the SRS and then fill it out.  &#8220;Getting started&#8221; can definitely be overwhelming for folks who are less comfortable writing specs.</p>
<p>A question &#8211; when scheduling the activities of the rest of the team, specifically the implementation team and other stakeholders of the SRS &#8211; do you get them started on the &#8220;something&#8221; version, allowing them to work in parallel with the revision/improvement of the SRS?  Or do you wait until there SRS is &#8220;ready?&#8221;  Or something in between?</p>
<p>Thanks again,<br />
Scott</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Moshe Gotesman</title>
		<link>http://tynerblain.com/blog/2006/10/30/writing-correct-requirements/comment-page-1/#comment-56714</link>
		<dc:creator>Moshe Gotesman</dc:creator>
		<pubDate>Mon, 13 Nov 2006 06:30:06 +0000</pubDate>
		<guid isPermaLink="false">http://tynerblain.com/blog/2006/10/30/writing-correct-requirements/#comment-56714</guid>
		<description>I like this comprehensive and well detailed overview (almost specification) of the required characteristics of requirements. This is very helpful.

The problem that I encounter a lot in my experiemce as a SW PM is that the people who need to write the SRS are not at all skilled at it. It is a struggle to even get them committed to do it and when they do, the quality is usually poor.

I found it useful to work with them in 2 stages: 1. Start with something minimal. 2. Evolve the doc over time to a full, formal spec. For this 2nd part, your article is very useful and I will direct my team members to it.

I have just written about this topic is my blog: (http://mosgot.blogspot.com/2006/11/software-requirements-specification-is.html). 

Thank you.</description>
		<content:encoded><![CDATA[<p>I like this comprehensive and well detailed overview (almost specification) of the required characteristics of requirements. This is very helpful.</p>
<p>The problem that I encounter a lot in my experiemce as a SW PM is that the people who need to write the SRS are not at all skilled at it. It is a struggle to even get them committed to do it and when they do, the quality is usually poor.</p>
<p>I found it useful to work with them in 2 stages: 1. Start with something minimal. 2. Evolve the doc over time to a full, formal spec. For this 2nd part, your article is very useful and I will direct my team members to it.</p>
<p>I have just written about this topic is my blog: (<a href="http://mosgot.blogspot.com/2006/11/software-requirements-specification-is.html" rel="nofollow">http://mosgot.blogspot.com/2006/11/software-requirements-specification-is.html</a>). </p>
<p>Thank you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Roger L. Cauvin</title>
		<link>http://tynerblain.com/blog/2006/10/30/writing-correct-requirements/comment-page-1/#comment-56100</link>
		<dc:creator>Roger L. Cauvin</dc:creator>
		<pubDate>Tue, 31 Oct 2006 14:04:47 +0000</pubDate>
		<guid isPermaLink="false">http://tynerblain.com/blog/2006/10/30/writing-correct-requirements/#comment-56100</guid>
		<description>&quot;Can our goal be achieved without these requirements? If our goal can be achieved without the requirement, then it isn’t required. &#039;The system shall generate a report of all outstanding customer bills&#039; is a requirement. If the goal is &#039;Identify a customer’s unpaid bills&#039;, then &#039;The system shall display any unpaid bills for a customer&#039; is a more correct requirement, because the goal can be achieved without a report.&quot;

If the alleged requirement does anything more than state the goal, it is always logically possible to satisfy the goal in another way.  Yet if it is possible to achieve the goal without the alleged requirement, it isn&#039;t a requirement.  Therefore, the requirement isn&#039;t something that achieves the goal, it &lt;i&gt;is&lt;/i&gt; goal.

(We could get into dicey issues about nomological and other forms of possibility, but I think the practical conclusion will end up being the same.)

That&#039;s why I &lt;a href=&quot;http://cauvin.blogspot.com/2005/06/definition-of-requirement.html&quot; rel=&quot;nofollow&quot;&gt;define &quot;requirement&quot; as the least stringent condition that must hold to solve or avoid a prospect problem&lt;/a&gt;.  The goal is to solve or avoid the problem.  Nothing more.  The goal is the requirement.</description>
		<content:encoded><![CDATA[<p>&#8220;Can our goal be achieved without these requirements? If our goal can be achieved without the requirement, then it isn’t required. &#8216;The system shall generate a report of all outstanding customer bills&#8217; is a requirement. If the goal is &#8216;Identify a customer’s unpaid bills&#8217;, then &#8216;The system shall display any unpaid bills for a customer&#8217; is a more correct requirement, because the goal can be achieved without a report.&#8221;</p>
<p>If the alleged requirement does anything more than state the goal, it is always logically possible to satisfy the goal in another way.  Yet if it is possible to achieve the goal without the alleged requirement, it isn&#8217;t a requirement.  Therefore, the requirement isn&#8217;t something that achieves the goal, it <i>is</i> goal.</p>
<p>(We could get into dicey issues about nomological and other forms of possibility, but I think the practical conclusion will end up being the same.)</p>
<p>That&#8217;s why I <a href="http://cauvin.blogspot.com/2005/06/definition-of-requirement.html" rel="nofollow">define &#8220;requirement&#8221; as the least stringent condition that must hold to solve or avoid a prospect problem</a>.  The goal is to solve or avoid the problem.  Nothing more.  The goal is the requirement.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
