<?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>SoftwareProjects.org &#187; Requirements Validation</title>
	<atom:link href="http://www.softwareprojects.org/category/requirements-validation/feed" rel="self" type="application/rss+xml" />
	<link>http://www.softwareprojects.org</link>
	<description>Projects In A Global, Mobile, Virtual And Multi-Cultural World</description>
	<lastBuildDate>Wed, 26 May 2010 16:12:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Changes In Requirements</title>
		<link>http://www.softwareprojects.org/project_requirements_validation_rolling47.htm</link>
		<comments>http://www.softwareprojects.org/project_requirements_validation_rolling47.htm#comments</comments>
		<pubDate>Sat, 28 Jul 2007 13:36:29 +0000</pubDate>
		<dc:creator>Bas</dc:creator>
				<category><![CDATA[Requirements Validation]]></category>

		<guid isPermaLink="false">http://www.softwareprojects.org/project_requirements_validation_rolling47.htm</guid>
		<description><![CDATA[In this section I described this pandemonium where everyone is sharing, "show me yours, I'll show you mine", and in general providing feedback. I discussed the need for feedback, and some ways the feedback can be given. The result of it all is change. Changing requirements, changing realization of these requirements. I quoted before: "Unless [...]]]></description>
			<content:encoded><![CDATA[<p><P>In this section I described this  pandemonium where everyone is sharing,  "show me yours, I'll show you mine", and  in general providing feedback. I discussed  the need for feedback, and some ways the  feedback can be given. The result of it  all is change. Changing requirements,  changing realization of these  requirements. I quoted before: <I>"Unless  the job has previously been done and only  modest changes are needed, it is best to  assume that the requirements are  wrong."</I></P></p>
<p> <P>There are several reasons why requirements change:</P></p>
<p> <UL><br />
 <LI><I>Stakeholder changes his mind.  </I>By discussing, thinking about it  and reflecting on the subject, a  stakeholder can change his mind on what  he wants.<BR>  </LI><br />
 <LI><I>Project team interpreted  requirements different than intended by  stakeholder</I>. Two people don't  understand each other.<BR>  </LI><br />
 <LI><I>"Forgotten" requirements pop  up</I>. During the project intake and  the requirements determination the  scope is determined and the initial  requirements are written down. In this  process you can forget one or two  requirements that appear during the  phase of feedback.<BR>  </LI><br />
 <LI><I>Changes in the project  surroundings</I>. Things happened  outside the project that can affect the  project directly. A merger or  reorganization, a new policy for buying  supplies, a new law, etc. The  fluctuation in the surroundings can  change requirements. The longer a  project runs, the more vulnerable the  project is to this type of  changes.</LI><br />
 </UL></p>
<p> <P>The software project manager has to  roll with the punches; these changes are a  fact-of-project-life, so he has to deal  with it. However, to be able to construct  something, requirements should be  relatively stable, at least long enough to  build and test stuff.</P></p>
<p> <P>This stability, can be forced by not  allowing changes to the requirements, they  are frozen. Requirements in a project will  have alternating periods of change and  freeze. It's the role of the project  manager to manage this process. It's  called "change control": the process by  which a change is proposed, evaluated,  approved or rejected, scheduled and  tracked.</P></p>
<p> <P>The key issue is to install a change  control procedure that forces people to go  to one central point of entry for the  project. E.g. project management will  decide if a change in the requirement set  is accepted or rejected. Only one person  is allowed to change the set of  requirements. This is one procedure I  really recommend putting in place.</P></p>
<p><strong>Links of Interest</strong><br />
<a href="http://blog.softwareprojects.org/coping-with-change-mind-network-280.html">The Secret To Coping With Change: MIND + NETWORK</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareprojects.org/project_requirements_validation_rolling47.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Testing</title>
		<link>http://www.softwareprojects.org/project_requirements_validation_testing46.htm</link>
		<comments>http://www.softwareprojects.org/project_requirements_validation_testing46.htm#comments</comments>
		<pubDate>Sat, 28 Jul 2007 13:33:13 +0000</pubDate>
		<dc:creator>Bas</dc:creator>
				<category><![CDATA[Requirements Validation]]></category>

		<guid isPermaLink="false">http://www.softwareprojects.org/project_requirements_validation_testing46.htm</guid>
		<description><![CDATA[In the previous section the main focus is on having feedback on principles, ideas and look-and-feel. You need this. But it's only the start of it all. While engineers are building the system (or merely configuring it), extensive testing has to be done. Does it work, and does it work properly? You might perhaps consider [...]]]></description>
			<content:encoded><![CDATA[<p><P>In the previous section the main focus  is on having feedback on principles, ideas  and look-and-feel. You need this. But it's  only the start of it all. While engineers  are building the system (or merely  configuring it), extensive testing has to  be done. Does it work, and does it work  properly? You might perhaps consider this  as not being part of the feedback loop to  the stakeholders, but consider the  requirements "it has to work" and "I don't  want to reboot my system three time a  day". If these requirements are explicitly  stated, you are lucky, mostly people  assume that it speaks for itself (pity the  poor fools!).</P></p>
<p> <P><B>Technical software testing</B></P></p>
<p> <P>As a project manager you have to be  aware that testing happens. Not just  checking if by pressing the button the  wheel spins, but also looking if the roof  is not collapsing because there happens to  be some relation between the wheel and the  roof (yeah, a far fetched example). Look  if the parts are tested, and the whole of  the parts. Don't trust developers if they  say they don't need testing ("software is  like bananas; they ripen at the  customer"); it's a complex task and the  discipline is just a few decades old. By  the way, it is a discipline, that starts  at the level of the individual  developer.</P></p>
<p> <P><B>Functional software testing</B></P></p>
<p> <P>This technical stuff is all fine, but  what happens if the system (or parts of  it) comes available from the developers?  You now have to test of it is functional.  Does it perform what is supposed to, and  in a way it is supposed to? It is the big  final feedback to the stakeholders.</P></p>
<p> <P>To do this properly you have to prepare  in advance. Think of the real life  situation of the system in the future, and  come up with some scenarios that can be  considered as an archetype situation. Try  to write scenarios (including human  aspects and handling) that cover all the  major aspects.</P></p>
<p> <P>When testing an editorial system for  newspapers (the big word processors on  steroids) role-play is used to construct  all archetype pages, including someone  writing, someone correcting etc. This is  the big acceptance test. You need therefor  to construct the scenarios with all  stakeholders concerned. If the system  passes the test, they just have to sign  for final acceptance.</P></p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareprojects.org/project_requirements_validation_testing46.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Benchmark And Prototype</title>
		<link>http://www.softwareprojects.org/project_requirements_validation_try45.htm</link>
		<comments>http://www.softwareprojects.org/project_requirements_validation_try45.htm#comments</comments>
		<pubDate>Sat, 28 Jul 2007 13:27:10 +0000</pubDate>
		<dc:creator>Bas</dc:creator>
				<category><![CDATA[Requirements Validation]]></category>

		<guid isPermaLink="false">http://www.softwareprojects.org/project_requirements_validation_try45.htm</guid>
		<description><![CDATA[I ask myself sometimes disturbing questions like "You know the software business. You know how systems are built. Are you now comfortable, sitting in this airplane, 10km high in the sky, flying on systems that some software geezer constructed?" Uuuhhhr, honestly I don't know. The best thing is not to think about it too much. [...]]]></description>
			<content:encoded><![CDATA[<p> <P>I ask myself sometimes disturbing questions like  "You know the software business. You know  how systems are built. Are you now  comfortable, sitting in this airplane,  10km high in the sky, flying on systems  that some software geezer constructed?"  Uuuhhhr, honestly I don't know. The best  thing is not to think about it too  much.</P></p>
<p> <P>What I know is this: after designs are  made (or even during) software engineers  have to try things out. They are not  always sure that certain concepts can be  done at all, or wonder how it will act in  reality. To stay in the language used in  this course: they need feedback on the  parts and principles they are supposed to  implement. And these trials are not always  thrown away&#8230; like they should.</P></p>
<p> <P><B>Pilot, prototype and Hollywood</B></P></p>
<p> <P>Brooks has a very clear opinion on this matter:</P></p>
<blockquote><p>The management question,  therefor, is not whether to build  a pilot system and throw it away.  You will do that. &#8230; Delivering  that throwaway to customers buys  time, but only at the cost of  agony for the user, distraction  for the builders while they do  the redesign, and a bad  reputation for the product that  the best redesign will find hard  to live down.   (<a href="http://www.amazon.com/gp/product/0201835959?ie=UTF8&#038;tag=softwareproje-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0201835959">The Mythical Man-Month: Essays on Software Engineering, 20th  Anniversary Edition</a><img src="http://www.assoc-amazon.com/e/ir?t=softwareproje-20&#038;l=as2&#038;o=1&#038;a=0201835959" width="1" height="1" border="0" alt=" Benchmark And Prototype" style="border:none !important; margin:0px !important;" title="Benchmark And Prototype" />)</p>
</blockquote>
<p> <P>You will create pilots for trying  things out, but the pilots are focussed on  this particular aspect that they are  attempting to prove. They are not designed  as a part of a whole, which makes them a  nightmare to use in a complete system.</P></p>
<p> <P>But before throwing them away, these  exercises are crucial for your project.  They provide at an early stage the first  glimpses of the requirements in a product.  If you take a trip to Hollywood you should  visit the Universal Studios. There you can  be guided through the studios. You will  see all those little streets you can see  in movies and TV series. Even standing  before a building, you can appreciate the  look and feel, you can sense the ambiance.  If you turn the corner, you see that the  street consists of only the front of the  houses. Disappointed? No. The mock-ups  serve their purpose.</P></p>
<p> <P>A prototype is a mock-up of software, a  Hollywood system. You can use it in an  early stage to give users a sense of what  the end will look like. Mostly it's just a  window with buttons that don't do  anything. But a user can mentally walk  through the system. Don't forget to tell  them it's a mock-up, to avoid later  disappointment. Feedback time! And if they  like it, get it signed!</P></p>
<p> <P><B>Proof of concept and benchmarks</B></P></p>
<p> <P>A couple of years ago I did a project  where we implemented a system that  consisted of multiple remote databases  that had to be synchronized. Perhaps for  you that is peanuts, but at that time we  had no experience in this concept. Ok, it  was done elsewhere, so it had to be  possible. The supplier of the software had  done a small exercise in this area with an  administrative system they used internally  for tracking the projects. It consisted of  one central database and small databases  on laptops of the engineers. This provided  a perfect feedback to the customer that  the concept could be done, a so called,  proof of concept.</P></p>
<p> <P>However, skepticism arose on the  scalability of the concept. It might  perform well with a few users and data,  but how does this perform with heavy data  traffic and hundreds of users? This matter  was handled by building a pilot(!) that  just synchronized databases with a lot of  data, and a simulated workload of a user  making updates and queries. The time it  took for results came back for the  simulated user, and the time it took to  synchronize (and some other technical  measurements) were used as a reference for  the future system. It was considered a  benchmark. Those measurements on the pilot  were acceptable, so the system to build  was regularly checked against the  benchmark. It provided a feedback on the  scalability and on how far the actual  system was away from the acceptable  measurements.</P></p>
<p> <P><B>Plan it</B></P></p>
<p> <P>The activities described on in this  section, they will be performed. It is how  software people must work, and it is how  you can provide proper feedback to your  stakeholders. Listen to Brooks: don't  deliver the throwaway as a final system,  you will lose in the end. It will happen,  so plan it in advance, make it an official  part of your project&#8230; Plan time to try  things out, you will, anyhow!</P></p>
<p><strong>Links of Interest</strong><br />
<a href="http://blog.softwareprojects.org/no-box-project-management-256.html">There Is No Box: Agile And Plan-Driven Project Management Do Not Exist</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareprojects.org/project_requirements_validation_try45.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Deliverable Sign Off And Acceptance</title>
		<link>http://www.softwareprojects.org/project_requirements_validation_signed44.htm</link>
		<comments>http://www.softwareprojects.org/project_requirements_validation_signed44.htm#comments</comments>
		<pubDate>Sat, 28 Jul 2007 13:20:43 +0000</pubDate>
		<dc:creator>Bas</dc:creator>
				<category><![CDATA[Requirements Validation]]></category>

		<guid isPermaLink="false">http://www.softwareprojects.org/project_requirements_validation_signed44.htm</guid>
		<description><![CDATA[Once in a while we have these live debates of our government on television (remember I'm Dutch). It's a rare chance to see democracy in action. Party A states something. Party B is "in principle not negative in respect to the suggestion". Party C "can imagine an agreement with consideration of aspects that are currently [...]]]></description>
			<content:encoded><![CDATA[<p><P>Once in a while we have these live  debates of our government on television  (remember I'm Dutch). It's a rare chance  to see democracy in action. Party A states  something. Party B is "in principle not  negative in respect to the suggestion".  Party C "can imagine an agreement with  consideration of aspects that are  currently not known, but could arise in  the future, possibly, or not all." You  watch this soap opera and you think they  all agree. You thought wrong. Weeks later,  they have the same discussion and you have  the idea that they don't agree. Wrong.  They do. Do they? And after four years of  discussion we get a new government.</P></p>
<blockquote><p><strong>Links of Interest</strong><br />
<a href="http://blog.softwareprojects.org/management-and-meditation-197.html">Management And Meditation</a><br />
<a href="http://blog.softwareprojects.org/filter-and-drainage-%e2%80%93-trust-running-through-the-team-148.html">Filter And Drainage &#8211; Trust Running Through The Team</a></p></blockquote>
<p> <P>Ever have this meeting where during the  meeting you are quite sure that you know  where the other guy is standing? That you  exactly know what his opinion is? You walk  out of the room, you drive home and you  reflect on the meeting and can't remember  an exact statement that supports your  feeling? If you haven't, just do a  software project and you will.</P></p>
<p> <P><B>Get it signed!</B></P><br />
  <P>It's very important that the  stakeholders get the feedback from the  designers, but it is in the same level of  importance that the project manager gets  the feedback that the stakeholders were  happy (or unhappy) with what they saw.  Don't forget, you, the software project  manager are also a stakeholder, and you  should also take care of your stakes. You  have to make sure you make progress within  the project. That small steps are taken in  the right direction, and you got to have  this feedback in a non disputable way. You  just have to get it signed!</P></p>
<p> <P>After some feedback to the  stakeholders, let them sign that they  agree on what they saw. That what they  saw, takes care of their requirements. If  they state "That's a nice design", your  answer has to be "That's nice, please sign  here." If people are forced to make a  formal commitment to a piece of paper (or  electronic equivalent of paper), they read  more carefully before they commit, and  after signing they stick longer to their  statement. It's not a matter of cost, we  will handle that in the next section, but  it's a way of getting some stable points  in an otherwise dynamic (or chaotic)  environment.</P></p>
<p> <P><B>Get it signed!</B></P></p>
<p> <P>Of course, the procedure of what to  sign should be in relation to the size of  the project. It doesn't make sense to sign  every paragraph, but don't wait until the  end, when everything is ready. Get  intermediate approvals.</P></p>
<p> <P>In some weird way, most people are  reluctant to put their commitment on  paper. It's just a signature. But the  request alone can be considered an insult.  "My word should be good enough for you."  Well, actually it shouldn't. Never trust a  used car salesman who says "trust me". If  you can't get in place a good approval  structure, leave the project, go home, you  loose in the end. Every one will bend and  twist and everything will move  consistently, with the exception of  yourself. Remember, you are a stakeholder,  so take care of your own stakes.</P></p>
<p> <P>While you are in this process, just  think of one thing: <B><I>GET IT  SIGNED!</I></B></P></p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareprojects.org/project_requirements_validation_signed44.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Design Documents</title>
		<link>http://www.softwareprojects.org/project_requirements_validation_designs43.htm</link>
		<comments>http://www.softwareprojects.org/project_requirements_validation_designs43.htm#comments</comments>
		<pubDate>Sat, 28 Jul 2007 13:16:50 +0000</pubDate>
		<dc:creator>Bas</dc:creator>
				<category><![CDATA[Requirements Validation]]></category>

		<guid isPermaLink="false">http://www.softwareprojects.org/project_requirements_validation_designs43.htm</guid>
		<description><![CDATA[After reading the previous section, I know you get my point. However, I will spend some more text on the matter, because it's too important, and the natural tendency within software projects is to consider software design documents as a product of their own. "We design to create a design." Wrong, wrong, wrong. A design [...]]]></description>
			<content:encoded><![CDATA[<p><P>After reading the previous section, I  know you get my point. However, I will  spend some more text on the matter,  because it's too important, and the  natural tendency within software projects  is to consider software design documents  as a product of their own. "We design to  create a design." Wrong, wrong, wrong. A  design is a medium to tell how the  requirements will be translated to the  real world. And there lies the problem for  project management with specifications and  designs; the designs are considered to be  a word passed from one technician to  another. The global expert, tells the  detailed expert, who tells the developer  what to do. And they pass their message by  the medium 'design'. They leave out the  non-technicians, the 'normal'  people&#8230;</P></p>
<p> <P>During the actual construction of the  design documents the software project  manager will not be involved too much in  the discussions. And if he is, it's not  because he has the role of project  manager. The biggest challenge for the  manager is to make sure the communication  to the stakeholders is done effectively  and timely. He should make sure that once  in a while the software gurus come out of  their cave and tell in understandable  words what they are envisioning. These  discussions are legendary, two different  worlds meet each other. Try to order  something in Paris and you catch the  drift.</P></p>
<p> <P><B>Enhancing the chance of success</B></P></p>
<p> <P>The project manager can do something to  enhance the chance of success of this  process. First, to be aware&#8230; and that  you are now. Second, the choice of the guy  or gal leading the design activities  should not be solemnly based upon his  technical know-how, communicative skills  weigh even stronger. And, last in the  'open-door' series, take more time for the  software design documents than you think  you need. Take the time to create designs.  You will earn it back later on. However,  use the extra time for communicating with  the stakeholders, not to make your  graphics look more slick.</P></p>
<p> <P>The communication between the designers  and the stakeholders can take place in  workshops and other kinds of meetings. So,  the project manager, that means you, can  check if such meetings are planned and  held, or can even actively schedule such  sessions or emphasize the need for them.  After such a meeting is held, schedule a  talk with one of the stakeholders to see  if he got the information he wanted.</P></p>
<p> <P><B>Document it all</B></P></p>
<p> <P>To ensure that the information is  presented in such a way, that the  stakeholders can understand the  specifications, the designers should keep  track of all the decisions they made, and,  more importantly, the arguments why they  made a certain decision. If they decide to  use Super XMLParser sub-system GNA (don't  try to find this one) somewhere should be  recorded that they intend to use it, and  further more, the arguments on why this  sub-system and not an other one. If they  talk with normal people, then at least  they can keep up the appearance of knowing  what they are doing, to be aware of their  actions.</P></p>
<p> <P>But stakeholders just want to know one  thing: "What the heck happened to my  requirements?" So, the next log the  designers have to keep is the one  containing relations between the design  decisions and the requirements issued. A  paragraph in a design on the generation of  an error log file in HTML on some server,  should be linked to have an "easy to  access medium to verify incorrect  responses of export to the other system."  The latter being an example of a  requirement. In preparation for one of the  feedback meetings a designer just has to  see who's coming, extract their  requirements and present the information  on what he did with them. That's feedback  especially tailored to suit you.</P></p>
<p> <P>As a closing remark for this  section, remember that designing  is an iterative process; you  design, you discuss, you throw  stuff away and put new  consideration into it. You win  some, you lose some. Keep this in  mind, when you design the process  to perform these activities.  Brooks (<a href="http://www.amazon.com/gp/product/0201835959?ie=UTF8&#038;tag=softwareproje-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0201835959">The Mythical Man-Month: Essays on Software Engineering, 20th  Anniversary Edition</a><img src="http://www.assoc-amazon.com/e/ir?t=softwareproje-20&#038;l=as2&#038;o=1&#038;a=0201835959" width="1" height="1" border="0" alt=" Software Design Documents" style="border:none !important; margin:0px !important;" title="Software Design Documents" />) even states  that you have to plan to throw  one away. You will in the end anyway!</P></p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareprojects.org/project_requirements_validation_designs43.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Global To Detail With Requirements Management</title>
		<link>http://www.softwareprojects.org/project_requirements_validation_global42.htm</link>
		<comments>http://www.softwareprojects.org/project_requirements_validation_global42.htm#comments</comments>
		<pubDate>Sat, 28 Jul 2007 13:12:41 +0000</pubDate>
		<dc:creator>Bas</dc:creator>
				<category><![CDATA[Requirements Validation]]></category>

		<guid isPermaLink="false">http://www.softwareprojects.org/project_requirements_validation_global42.htm</guid>
		<description><![CDATA[In my home town the city built a complete new neighborhood, houses, roads and parking spaces, everything is new. Even the people. I don't know how it is in the rest of the world, but in Holland, such a new area has to have a new work of art. But for $300.000 the locals should [...]]]></description>
			<content:encoded><![CDATA[<p>In my home town the city built a  complete new neighborhood, houses, roads  and parking spaces, everything is new.  Even the people. I don't know how it is in  the rest of the world, but in Holland,  such a new area has to have a new work of  art. But for $300.000 the locals should  have influence on the choice of what kind  of concrete with holes and circles they  want to have (yep, it's called  'participation').</p>
<p>The first requirement is put up by city  hall: the art piece should reflect the  struggle between man and the water (we  live at the coast you know, 'the struggle  between man and the government' would be  more appropriate). Next, ten artists are  asked to put in their suggestions. Vague  drawings of holes and squares, circles and  sockets, black and blue blurbs. Intended  is that the inhabitants get an idea of  what they can have in front of their  doors. Everybody can vote (I make no funny  remarks about the US 2000 elections, and  that's difficult).</p>
<p>The three winners go to the next round.  They make a detailed work drawing of the  actual construction of their art piece. Is  it steel? Is it placed in water? Is it  green? Is it ugly? Based upon the final  drawings the government chooses. Steel,  water, green, ugly? Yep, yep, yep and yep  again.</p>
<p><strong>Software design and requirements management</strong></p>
<p>You know, creating a piece of software  is also a work of art. Luckily there is no  voting with the residents, otherwise no  system would ever be build. But the  mechanism of taking a requirement and  creating first a global drawing and  afterwards a more detailed sketch is  similar. We wouldn't be fair to the  profession if we hadn't a great name for  it: a design.</p>
<p>If we have good requirements, they will  not say too much on how a system should be  built. It should provide us statements on  what it should do, in what context, and  perhaps, sometimes, how it should be  performed. All technicians that read the  previous chapter would have wondered  "where is my design?" Well, here you  are.</p>
<p>Designs are in fact a way of  communicating how a software system should  be constructed. They are a description of  what will be the end result. In this way,  it's one of the earliest points in time,  when stakeholders can see some glimpses on  what is done with their requirements. So,  when all the techies go to work, the  project manager should make sure they  maintain relations between the design  choices and the original requirements.</p>
<p><strong>Global and detail</strong></p>
<p>What is global and how deep is detail?  There you got me. Draw a line somewhere  where you feel natural. If you look at a  system as boxes, the global design places  the boxes within a certain context, and  their dependencies. The detailed design  fills the boxes.</p>
<p>Another way of looking at it, is by  functional versus technical aspects. The  first design (or specification, for now  the differences are too tiny to discuss)  masters the points on how to handle the  system from a user perspective; what  should the user do and what will the  system do? The second phase covers the  technical implementation of the functional  one. What data to manipulate? Which file  to copy where? This approach reflects the  opinion that techies can never lead the  design process, the functional aspects  rule!</p>
<p>Any way, you start your translation of  the requirements to the real world by  making designs or specifications. It is of  course a communication tool for the  technicians within their own species. But  stakeholders want to see what happened  with the things they yelled, and this is  their first opportunity, so you better  take care.</p>
<p><strong>Related Links</strong><br />
<a href="http://blog.softwareprojects.org/big-design-up-front-103.html">Big Design Up-Front</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareprojects.org/project_requirements_validation_global42.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FOUR: Requirements Validation</title>
		<link>http://www.softwareprojects.org/project_requirements_validation_feedback41.htm</link>
		<comments>http://www.softwareprojects.org/project_requirements_validation_feedback41.htm#comments</comments>
		<pubDate>Sat, 28 Jul 2007 13:07:30 +0000</pubDate>
		<dc:creator>Bas</dc:creator>
				<category><![CDATA[Chapters]]></category>
		<category><![CDATA[Requirements Validation]]></category>

		<guid isPermaLink="false">http://www.softwareprojects.org/project_requirements_validation_feedback41.htm</guid>
		<description><![CDATA[How many times did you order in a restaurant this very nice meal, which was described on the menu as delicious, to later find out the cook went completely experimental on it? I read this incredibly great description for a main course involving the better parts of a lamb. When I got it, I noticed [...]]]></description>
			<content:encoded><![CDATA[<p>How many times did you order in a  restaurant this very nice meal, which was  described on the menu as delicious, to  later find out the cook went completely  experimental on it? I read this incredibly  great description for a main course  involving the better parts of a lamb. When  I got it, I noticed it wasn't actually  cooked; I like my meat extremely well  done, nuked to the bone. I remembered, a  menu is not a meal.</p>
<p>How many times did you bring your car  to the garage for a check up, to hear  later on from the mechanic that he took  special care of the noise he heard? You  are going deaf, or this guy is hearing  sounds that are not there, anyway you have  to pay for this extra 'service'.</p>
<p>How many times are kids getting a dog  because "I wanna doggie" is yelled by some  10 year old, so that the kid can later  realize he didn't want the doggie itself,  but the soft feeling of fur? You may think  you want it, to find out later you had no  idea what you were actually wishing for.  Having the kid itself falls into this  category.</p>
<p>How many times must a man&#8230;</p>
<p><strong>Meanwhile, back in the jungle&#8230;</strong></p>
<p>In the jungle of software project  management the fierce full application  developer is searching for requirements.  After a good hunt he is dragging a bag  full of statements back to his cave. There  he grunts for weeks, he picks every  requirement up, looks at it, smells it and  takes it apart. After months, the creature  sets foot for the first time outside his  cave. The daylight is hitting hard on him.  With him he drags a large ball made out of  pieces of requirements. The pastry is the  results of his craftsmanship. He shows it  to the rest of the tribe. Holding it up,  shining in the sun. The tribe leader looks  at it, smells at it, sets fire to it.  Anthropologists are still trying to figure  out, if the leader communicated his  disapproval or that he provided warmth to  the tribe.</p>
<p><strong>Expectations</strong></p>
<p>The central issue here is  "expectations". You imagine a certain  situation in the nearby future. You close  your eyes and you can actually experience  it. You open them again, and try to  describe what you saw to some one else. He  will hear the same words, the same  sentences and you might even share the  same enthusiasm for it. But if you both  think about "a nice woman" or "a nice  man", you both having the same warm  feeling doesn't guarantee you that the  color of the hair of the imaginary friend  is identical. It probably isn't.  Communication is always influenced by  interpretation of a person. Requirements  in a software project are not different in  this respect. An "easy to use interface"  can be interpreted in hundreds of  ways.</p>
<p>So, there is nothing you can do? Wrong.  You can do a lot, but it will take some  effort. You can provide feedback by using  a mechanism, which is not affected by  interpretation, or at least less affected.  Exchanging pictures of your idea about "a  nice (wo)man" can solve the hair color  issue. There are several available you can  use on the product requirements of a  software project. And that's what this  section is all about.</p>
<p><strong>Good idea, bad idea</strong></p>
<p>It's not only the talking with people  that can cause problems. It's also your  own imagination that plays tricks on you.  What may seem nice in your head, me be in  reality a disaster. Even if the other  person understood you correctly. Feedback  is also here the magic word. It can help  indicate that you, or any one else, was  wrong with his idea of the future at a  relatively early time in the project.</p>
<p>Requirements validation is all about  feedback. Is the interpretation of the  requirements to the real life situation  correct, and, are the requirements still  valid? It's now "feedback time"!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareprojects.org/project_requirements_validation_feedback41.htm/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
