<?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>Xebia Blog &#187; Erwin Bolwidt</title>
	<atom:link href="http://blog.xebia.com/author/ebolwidt/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.xebia.com</link>
	<description>Software development done right!</description>
	<lastBuildDate>Wed, 01 Feb 2012 00:30:00 +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>&#8220;The Best Requirements Method&#8221; survey</title>
		<link>http://blog.xebia.com/2008/05/08/the-best-requirements-method-survey/</link>
		<comments>http://blog.xebia.com/2008/05/08/the-best-requirements-method-survey/#comments</comments>
		<pubDate>Thu, 08 May 2008 13:27:21 +0000</pubDate>
		<dc:creator>Erwin Bolwidt</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/blog.xebia.com/www/wp-content/plugins/autometa/autometa.php</b> on line <b>303</b><br />
		<category><![CDATA[Requirements Management]]></category>
		<category><![CDATA[survey questionnaire requirements]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=559</guid>
		<description><![CDATA[What is the Best Requirements method? That&#8217;s a mighty big and difficult question to ask, for several reasons. Everyone has a different idea of &#8220;best&#8220;, but also of &#8220;requirements method&#8220;. While I could try to analyze various methods according to various statistics, it would still only give a one-sided view on the subject. In addition [...]]]></description>
			<content:encoded><![CDATA[<p><strong>What is the Best Requirements method?</strong> That&#8217;s a mighty big and difficult question to ask, for several reasons. Everyone has a different idea of &#8220;<em>best</em>&#8220;, but also of &#8220;<em>requirements method</em>&#8220;.</p>
<p>While I could try to analyze various methods according to various statistics, it would still only give a one-sided view on the subject. In addition I only know a few methods very well so that would leave out other methods.<br />
A different approach, the one that we take here, is to ask <strong>you</strong>, the participant in the requirements process.<br />
<span id="more-559"></span><br />
By sharing our experiences we can get a better picture of the strengths and weaknesses of each method in several areas, according to people who have practical experience.</p>
<p>The results of the survey will be posted on this blog.</p>
<p><strong>Survey</strong></p>
<p>Now, without further ado, please visit the survey at:</p>
<p><strong><a href="http://www.surveymonkey.com/s.aspx?sm=zcNO2GNsgSNmjW5UTJ5gxg_3d_3d">http://www.surveymonkey.com/s.aspx?sm=zcNO2GNsgSNmjW5UTJ5gxg_3d_3d</a></strong></p>
<p>and answer the questions. </p>
<p>Further explanation is provided in the survey.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://blog.xebia.com/2008/05/08/the-best-requirements-method-survey/"></g:plusone></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.xebia.com%2F2008%2F05%2F08%2Fthe-best-requirements-method-survey%2F&amp;title=%26%238220%3BThe%20Best%20Requirements%20Method%26%238221%3B%20survey" id="wpa2a_2"><img src="http://blog.xebia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.com/2008/05/08/the-best-requirements-method-survey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is it a Requirement or is it Design?</title>
		<link>http://blog.xebia.com/2008/01/18/is-it-a-requirement-or-is-it-design/</link>
		<comments>http://blog.xebia.com/2008/01/18/is-it-a-requirement-or-is-it-design/#comments</comments>
		<pubDate>Fri, 18 Jan 2008 15:41:13 +0000</pubDate>
		<dc:creator>Erwin Bolwidt</dc:creator>
				<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Requirements Management]]></category>

	<!-- AutoMeta Start -->
	<category>“the</category>
	<category>stakeholder</category>
	<category>“how”</category>
	<category>“what”</category>
	<category>observable</category>
	<category>satisfies</category>
	<category>requirement</category>
	<category>externally</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/2008/01/18/is-it-a-requirement-or-is-it-design/</guid>
		<description><![CDATA[Many courses and books on requirements will tell you that a good requirement describes the “what” of a need of a customer. They will tell you that you shouldn’t write down the “how” (they call that ‘design’) because it pushes you in a technical direction and cause you to miss out on other good solutions. But when is something a design, and when is it a requirement? Is this even the right distinction to make?]]></description>
			<content:encoded><![CDATA[<p>Many courses and books on requirements will tell you that a good requirement describes the “what” of a need of a customer (or more generally, stakeholder). They will tell you that you shouldn’t write down the “how” (they call that ‘design’) because it pushes you in a technical direction and causes you to miss out on other good solutions.</p>
<p>That’s good advice in the sense that you shouldn’t restrict yourself to a solution if another solution satisfies the needs of a customer better. But when is something a design, and when is it a requirement? If you’ve thought about it, you realized that it is hard to draw the line. <span id="more-393"></span> The “how” can become the “what” and vice versa.</p>
<p>For example,<br />
<strong>What</strong>:	“The system should bring me from A to B”<br />
<strong>How</strong>:	“The system should consist of a car”</p>
<p>Now consider:<br />
<strong>What</strong>:	“I need to be able to have meetings with people at different locations”</p>
<p>In this case, “The system should bring me from A to B” can be a valid “how”, as can “The system should provide teleconferencing capabilities”. Which one of those would be best depends on other needs of the stakeholders, not on “how” or “what”.</p>
<p>In his book <em>“Just Enough Requirements Management”</em>, Alan M. Davis defines two aspects of a requirement that I find very useful.</p>
<p>He states: <em>“A requirement is an externally observable characteristic of a desired system”</em>. </p>
<p>In other words, it must be possible to check that the requirement is fulfilled from outside of the system. The second aspect of a requirement is that it should fulfill some need of a stakeholder.</p>
<p>A requirement like “The car should be produced in the colors red, yellow and blue” can be valid. It is surely externally observable. If it turns out that these are the most popular colors among the buyers of the car, and that the painting installation can only handle three different colors, then it also satisfies the needs of more than one stakeholder.</p>
<p>Almost any aspect of a system can be externally observable (in the right context, from the perspective of a particular stakeholder). Take an extreme one, “no method in the Java programming language shall exceed 1200 characters in length (excluding spaces)”. This can be valid, from the viewpoint of maintainability of the code. Perhaps a tool is used that doesn’t support that many characters or the stakeholder has good reason to believe that this will make it easier to maintain the code. In that case it is a requirement. It should still be balanced against the needs of other stakeholders, of course.</p>
<p>So to determine if a requirement is good, you don’t focus on the simple mantra “is it a design, then it is not a good requirement”. What matters is how far it satisfies a need of a stakeholder, and a better requirement satisfies more needs, or more important needs, than a worse requirement.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://blog.xebia.com/2008/01/18/is-it-a-requirement-or-is-it-design/"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.com/2008/01/18/is-it-a-requirement-or-is-it-design/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Agile Up Front Analysis</title>
		<link>http://blog.xebia.com/2007/07/16/agile-up-front-analysis/</link>
		<comments>http://blog.xebia.com/2007/07/16/agile-up-front-analysis/#comments</comments>
		<pubDate>Mon, 16 Jul 2007 21:26:36 +0000</pubDate>
		<dc:creator>Erwin Bolwidt</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Requirements Management]]></category>

	<!-- AutoMeta Start -->
	<category>iteration</category>
	<category>stakeholders</category>
	<category>analysis</category>
	<category>risk</category>
	<category>requirements</category>
	<category>addressed</category>
	<category>agile</category>
	<category>leaving</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/2007/07/16/agile-up-front-analysis/</guid>
		<description><![CDATA[One of the most visible aspects of agility is making decisions when they are needed, and not making them all up-front, before any development work is done. But some decisions are needed before the rest of the project is executed. An agile approach to software development has many advantages in most organisations. Because change is [...]]]></description>
			<content:encoded><![CDATA[<p>One of the most visible aspects of agility is making decisions when they are needed, and not making them all up-front, before any development work is done. But some decisions <em>are</em> needed before the rest of the project is executed.</p>
<p>An agile approach to software development has many advantages in most organisations. Because change is inherent, in business needs, in technology, in knowledge, in people, it makes a lot of sense to use a process that takes change as a given and embraces it, instead of trying to defend against it.<br />
One of the tenets of agile approaches is to decide things as late as possible. At the same time, we want to make software that people will use and like and that has real value to them. And sometimes these two goals are at odds with each other.</p>
<p><span id="more-262"></span></p>
<p>The traditional way to achieve this, is performing extensive requirements analysis before a project starts. All involved in the systems that is going to be built (the stakeholders) should tell upfront what they expect of the system, and after carefully balancing all needs, a list of requirements is delivered which is sent to the software design and development teams.</p>
<p>In an agile approach, many of the requirements gathering techniques used in traditional requirements management still make sense. The upfront analysis approach does not, as it does not take into account the fact that requirements change. People change their minds or gain a better understanding of their needs, laws change, budgets change, political landscapes change.<br />
The usual agile approach is to finalise the requirements, and their relative prioritities, for one iteration just before that iteration starts. Refinement is even possible within the iteration. The requirements should be as detailed as necessary; not more, not less. This means that a requirements engineer not only talks with business stakeholders, but also with his primary customers: the developers, who are going to use these requirements.</p>
<p>Many agile (and non-agile) projects however start too fast, forgetting to think about issues that do need to be addressed before the first iteration. The risks of producing the wrong software are too big if these issues are ignored.</p>
<p>These issues include the business purpose of the project, the list of people and systems involved (the stakeholders), the scope of the work and the most critical constraints.<br />
Depending on your organisation, this could be written down on one or two sheets of paper, or require a more rigorous analysis and report.</p>
<p>If you don’t, you run this risk of:</p>
<ul>
<li>making something that doesn’t fulfill a business purpose, so it will be seen as a waste of money even if something is delivered [business purpose]
<li>leaving out stakeholders and their requirements, leaving people unhappy at best, and making the result useless because it omits important functions or interfaces at worst [stakeholders]
<li>including costly features that are outside of scope and could have been more economically implemented in another project or system (or leaving out important features that could have made the system more worthwhile &#8211; because of an incorrect assumption about the scope) [scope]
<li>getting the wrong people on board, like oracle developers to extend a java system, or not being able to run on existing infrastructure, or not working towards an important deadline [constraints]
</ul>
<p>So in any project, even in an agile project, take time for a project blast-off in which these important issues are addressed, or else the success of your project is a complete gamble, no matter how good the team is.</p>
<p>After the blast-off, requirements management is part of the agile process, managed by the product owner, who is a true part of the agile development team.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://blog.xebia.com/2007/07/16/agile-up-front-analysis/"></g:plusone></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.xebia.com%2F2007%2F07%2F16%2Fagile-up-front-analysis%2F&amp;title=Agile%20Up%20Front%20Analysis" id="wpa2a_4"><img src="http://blog.xebia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.com/2007/07/16/agile-up-front-analysis/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  blog.xebia.com/author/ebolwidt/feed/ ) in 0.47644 seconds, on Feb 9th, 2012 at 4:19 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 9th, 2012 at 5:19 pm UTC -->
