<?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: How To Deal With Untestable Requirements &#8211; Rewrite Them</title>
	<atom:link href="http://tynerblain.com/blog/2005/11/30/how-to-deal-with-untestable-requirements-rewrite-them/feed/" rel="self" type="application/rss+xml" />
	<link>http://tynerblain.com/blog/2005/11/30/how-to-deal-with-untestable-requirements-rewrite-them/</link>
	<description>Software product success.</description>
	<lastBuildDate>Tue, 16 Mar 2010 02:37:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Tyner Blain &#187; Software testing series: Introduction</title>
		<link>http://tynerblain.com/blog/2005/11/30/how-to-deal-with-untestable-requirements-rewrite-them/comment-page-1/#comment-113</link>
		<dc:creator>Tyner Blain &#187; Software testing series: Introduction</dc:creator>
		<pubDate>Fri, 20 Jan 2006 03:46:33 +0000</pubDate>
		<guid isPermaLink="false">http://tynerblain.com/blog/2005/11/30/how-to-deal-with-untestable-requirements-rewrite-them/#comment-113</guid>
		<description>[...] There are a host of different goals - testing requirements, testing designs, testing data, testing implementations. [...]</description>
		<content:encoded><![CDATA[<p>[...] There are a host of different goals &#8211; testing requirements, testing designs, testing data, testing implementations. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tyner Blain &#187; Why we should invest in requirements management</title>
		<link>http://tynerblain.com/blog/2005/11/30/how-to-deal-with-untestable-requirements-rewrite-them/comment-page-1/#comment-37</link>
		<dc:creator>Tyner Blain &#187; Why we should invest in requirements management</dc:creator>
		<pubDate>Wed, 04 Jan 2006 08:23:44 +0000</pubDate>
		<guid isPermaLink="false">http://tynerblain.com/blog/2005/11/30/how-to-deal-with-untestable-requirements-rewrite-them/#comment-37</guid>
		<description>[...] Better requirements improve the testability of the application, both mitigating risk and enabling automated testing (reducing maintenance costs). [...]</description>
		<content:encoded><![CDATA[<p>[...] Better requirements improve the testability of the application, both mitigating risk and enabling automated testing (reducing maintenance costs). [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tyner Blain &#187; Everything I needed to know I forgot in kindergarden</title>
		<link>http://tynerblain.com/blog/2005/11/30/how-to-deal-with-untestable-requirements-rewrite-them/comment-page-1/#comment-19</link>
		<dc:creator>Tyner Blain &#187; Everything I needed to know I forgot in kindergarden</dc:creator>
		<pubDate>Wed, 04 Jan 2006 07:55:51 +0000</pubDate>
		<guid isPermaLink="false">http://tynerblain.com/blog/2005/11/30/how-to-deal-with-untestable-requirements-rewrite-them/#comment-19</guid>
		<description>[...] “WHY?” is the central theme, the underlying cause, and the most important element to developing a successful product. And it plays an important role in managing requirements. Without knowing why a product is valuable or why people will use it, or why it needs to be done in 3 months instead of 6, you aren’t likely to make the right decisions about what to include, when to include it, or how to market it. A reader and fellow blogger made a comment about a previous post about requirements testability - he proposed that by rewriting the requirement, we may lose sight of the real requirement. I see that as a risk that we lose the underlying “why?” of the requirement. There are ways to prevent this - keeping requirements synchronized with a product roadmap, repeatedly articulating the strategy, and just keeping your eye on the ball. [...]</description>
		<content:encoded><![CDATA[<p>[...] “WHY?” is the central theme, the underlying cause, and the most important element to developing a successful product. And it plays an important role in managing requirements. Without knowing why a product is valuable or why people will use it, or why it needs to be done in 3 months instead of 6, you aren’t likely to make the right decisions about what to include, when to include it, or how to market it. A reader and fellow blogger made a comment about a previous post about requirements testability &#8211; he proposed that by rewriting the requirement, we may lose sight of the real requirement. I see that as a risk that we lose the underlying “why?” of the requirement. There are ways to prevent this &#8211; keeping requirements synchronized with a product roadmap, repeatedly articulating the strategy, and just keeping your eye on the ball. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott Sehlhorst</title>
		<link>http://tynerblain.com/blog/2005/11/30/how-to-deal-with-untestable-requirements-rewrite-them/comment-page-1/#comment-8</link>
		<dc:creator>Scott Sehlhorst</dc:creator>
		<pubDate>Wed, 04 Jan 2006 07:23:07 +0000</pubDate>
		<guid isPermaLink="false">http://tynerblain.com/blog/2005/11/30/how-to-deal-with-untestable-requirements-rewrite-them/#comment-8</guid>
		<description>#

Roger L. Cauvin said,

December 13, 2005 at 8:21 am · Edit

Scott, I fully agree specifications directly testable in practice are important for testers and developers, and that someone on the team should formulate these specifications. Where we differ is in calling these specifications “requirements” when the underlying motivator - what I in this thread have called the “real requirement” - is something unambiguously testable in principle.

By the way, I don’t agree that “controls must be at least 10 pixels apart” is a requirement. My belief is that true user interface requirements generally specify how easy it is to accomplish functional goals, not designs or design guidelines. See “Mistake 5″ in my article, “How to Guarantee Product Failure”. The link is http://www.cauvin-inc.com/articles/ProductFailure.htm.</description>
		<content:encoded><![CDATA[<p>#</p>
<p>Roger L. Cauvin said,</p>
<p>December 13, 2005 at 8:21 am · Edit</p>
<p>Scott, I fully agree specifications directly testable in practice are important for testers and developers, and that someone on the team should formulate these specifications. Where we differ is in calling these specifications “requirements” when the underlying motivator &#8211; what I in this thread have called the “real requirement” &#8211; is something unambiguously testable in principle.</p>
<p>By the way, I don’t agree that “controls must be at least 10 pixels apart” is a requirement. My belief is that true user interface requirements generally specify how easy it is to accomplish functional goals, not designs or design guidelines. See “Mistake 5″ in my article, “How to Guarantee Product Failure”. The link is <a href="http://www.cauvin-inc.com/articles/ProductFailure.htm" rel="nofollow">http://www.cauvin-inc.com/articles/ProductFailure.htm</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott Sehlhorst</title>
		<link>http://tynerblain.com/blog/2005/11/30/how-to-deal-with-untestable-requirements-rewrite-them/comment-page-1/#comment-7</link>
		<dc:creator>Scott Sehlhorst</dc:creator>
		<pubDate>Wed, 04 Jan 2006 07:22:46 +0000</pubDate>
		<guid isPermaLink="false">http://tynerblain.com/blog/2005/11/30/how-to-deal-with-untestable-requirements-rewrite-them/#comment-7</guid>
		<description>#

tynerblain said,

December 12, 2005 at 8:38 pm · Edit

Roger,

Thanks for the comment and insight. I completely agree that it is the responsibility of someone on the development team (coder or tester) to design the particular tests - or in the car example, a quality engineer.

However, part of the validation of a requirement is that it can be implemented - or it shouldn’t be a requirement. One component of validating a requirement is assessing the language of the requirement, to determine if you can unambiguously identify it as being complete. The QE needs to manage the design of the test, but as part of accepting the requirement from the requirement writer, the QE should make sure that he knows how to test it.

Collaboration and iteration are key to writing great requirements - feedback from the QE is what helps the requirement writer rewrite the requirement. And that feedback cycle is important, because the requirement writer will then have to get signoff from the stakeholders that the rewritten requirement is sufficient - perhaps they only need 80% confidence.

Also, the design engineers need to know when they’re done. Do they have to build a Yugo, or a Volvo? Without an objective criteria as an input to their design process, you can reasonably expect that they will design something you don’t want.

You make an excellent point about “losing sight of the real requirement” - I will post in depth on this topic soon. The goal (or “Goal”) is high reliability for the car, and presumably someone has done an ROI analysis that says that 7 years without breakage is more profitable than 6 or 8. This should absolutely be documented. A supporting functional requirement should include the actionable details.

Thanks again for the comments, and keep posting good stuff to your blog - I enjoy it. Oh yeah - Tyner Blain is the company - I’m Scott :)</description>
		<content:encoded><![CDATA[<p>#</p>
<p>tynerblain said,</p>
<p>December 12, 2005 at 8:38 pm · Edit</p>
<p>Roger,</p>
<p>Thanks for the comment and insight. I completely agree that it is the responsibility of someone on the development team (coder or tester) to design the particular tests &#8211; or in the car example, a quality engineer.</p>
<p>However, part of the validation of a requirement is that it can be implemented &#8211; or it shouldn’t be a requirement. One component of validating a requirement is assessing the language of the requirement, to determine if you can unambiguously identify it as being complete. The QE needs to manage the design of the test, but as part of accepting the requirement from the requirement writer, the QE should make sure that he knows how to test it.</p>
<p>Collaboration and iteration are key to writing great requirements &#8211; feedback from the QE is what helps the requirement writer rewrite the requirement. And that feedback cycle is important, because the requirement writer will then have to get signoff from the stakeholders that the rewritten requirement is sufficient &#8211; perhaps they only need 80% confidence.</p>
<p>Also, the design engineers need to know when they’re done. Do they have to build a Yugo, or a Volvo? Without an objective criteria as an input to their design process, you can reasonably expect that they will design something you don’t want.</p>
<p>You make an excellent point about “losing sight of the real requirement” &#8211; I will post in depth on this topic soon. The goal (or “Goal”) is high reliability for the car, and presumably someone has done an ROI analysis that says that 7 years without breakage is more profitable than 6 or 8. This should absolutely be documented. A supporting functional requirement should include the actionable details.</p>
<p>Thanks again for the comments, and keep posting good stuff to your blog &#8211; I enjoy it. Oh yeah &#8211; Tyner Blain is the company &#8211; I’m Scott :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott Sehlhorst</title>
		<link>http://tynerblain.com/blog/2005/11/30/how-to-deal-with-untestable-requirements-rewrite-them/comment-page-1/#comment-6</link>
		<dc:creator>Scott Sehlhorst</dc:creator>
		<pubDate>Wed, 04 Jan 2006 07:22:23 +0000</pubDate>
		<guid isPermaLink="false">http://tynerblain.com/blog/2005/11/30/how-to-deal-with-untestable-requirements-rewrite-them/#comment-6</guid>
		<description>#

Roger L. Cauvin said,

December 12, 2005 at 5:36 pm · Edit

Tyner, you’re quite right that you can rewrite requirements so that they are directly testable. Unfortunately, in some cases you then lose sight of the real requirement.

As I mentioned in my post, the seven year requirement is, in principle, testable. It just takes seven years to test it. It is testability in principle that ensures the requirement is clear and unambiguous. (You are right that driving habits and such would also need to be included.)

The seven year requirement is not practical to test directly, however. Thus, as you suggest, we must devise a test that is reasonably expected to simulate (or predict) what will happen in seven years. But that is the job of the tester, not the requirements analyst. For testability in practice is not what ensures a good requirement. Testability in practice is important .. er .. for testing!</description>
		<content:encoded><![CDATA[<p>#</p>
<p>Roger L. Cauvin said,</p>
<p>December 12, 2005 at 5:36 pm · Edit</p>
<p>Tyner, you’re quite right that you can rewrite requirements so that they are directly testable. Unfortunately, in some cases you then lose sight of the real requirement.</p>
<p>As I mentioned in my post, the seven year requirement is, in principle, testable. It just takes seven years to test it. It is testability in principle that ensures the requirement is clear and unambiguous. (You are right that driving habits and such would also need to be included.)</p>
<p>The seven year requirement is not practical to test directly, however. Thus, as you suggest, we must devise a test that is reasonably expected to simulate (or predict) what will happen in seven years. But that is the job of the tester, not the requirements analyst. For testability in practice is not what ensures a good requirement. Testability in practice is important .. er .. for testing!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
