<?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>aktually &#187; quality</title>
	<atom:link href="http://www.aktually.com/tag/quality/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aktually.com</link>
	<description>the art of the rethink, where business meets design</description>
	<lastBuildDate>Fri, 14 May 2010 15:55:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Refereeing the Holy Trinity: Creative, Business, and Technical Folks</title>
		<link>http://www.aktually.com/recommendations/refereeing-the-holy-trinity-creative-business-and-technical-folks/</link>
		<comments>http://www.aktually.com/recommendations/refereeing-the-holy-trinity-creative-business-and-technical-folks/#comments</comments>
		<pubDate>Sat, 30 May 2009 06:08:06 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Recommendations]]></category>
		<category><![CDATA[culture]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[quality]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.aktually.com/?p=117</guid>
		<description><![CDATA[When it comes to the classic "iron triangle" project management model of time, scope, and cost, the three key stakeholder groups which directly contribute, guide, and work on a typical interactive project would certainly get into a fight with very little prodding.  The question is: How do you make it work?]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.aktually.com/wp-content/uploads/2009/05/timeout.jpg"><img class="alignright size-full wp-image-118" title="timeout" src="http://www.aktually.com/wp-content/uploads/2009/05/timeout.jpg" alt="timeout" width="250" height="240" /></a>When it comes to the classic &#8220;iron triangle&#8221; project management model of time, scope, and cost, the three key stakeholder groups which directly influence and work on a typical interactive project are in constant conflict based on their perspectives.  I&#8217;ve been asked many times in the past: &#8220;What&#8217;s your approach to handling this kind of situation?  How do you resolve the differences between the creative, business, and technical teams?&#8221;</p>
<p><span id="more-117"></span>My perspective comes from lots of hands-on experience with each of the three groups.  Creative folks <a href="http://www.smashingmagazine.com/2009/05/24/do-you-want-fries-with-that-logo/">need time</a> to let ideas marinate and mature into thoughtful assets.  Technical folks (good ones, anyway) <a href="http://www.codinghorror.com/blog/archives/000150.html">need scope</a> to build the best possible product (if only I had a dime for every time a developer&#8217;s asked me &#8220;Well, if I do it this way it can work okay, but I think it&#8217;s better to do it this way because [insert comment about future capabilities or cool functionality]&#8220;, I&#8217;d be rich!).  And of course, we can&#8217;t forget business folks, whose tolerance for time seem to fall lower every day.  How can you get the three groups working together?</p>
<p><strong>Recommendation</strong>: Building mutual respect and condensing each group&#8217;s issues into soundbites for the other groups is my approach to handling any initial situation.  Project managers must have a strong curiosity for new domains and the nuances of each group&#8217;s work and background, which will help them argue for each side.  This kind of position will guide a project to success for all stakeholders since it strikes a good balance and effectively negotiates a lot of tension out of the situation.  However, when I&#8217;m in between a rock and a hard place, I have to side with the money but not without a fight for quality and extensibility.  Doing right by the client is my mantra and I would never sacrifice that until I&#8217;m kicked out of the building.</p>
<p>What do <em>you</em> think?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aktually.com/recommendations/refereeing-the-holy-trinity-creative-business-and-technical-folks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Write A Good Software Requirement</title>
		<link>http://www.aktually.com/recommendations/how-to-write-a-good-software-requirement/</link>
		<comments>http://www.aktually.com/recommendations/how-to-write-a-good-software-requirement/#comments</comments>
		<pubDate>Wed, 06 May 2009 22:14:43 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Recommendations]]></category>
		<category><![CDATA[business analysis]]></category>
		<category><![CDATA[quality]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.aktually.com/?p=45</guid>
		<description><![CDATA[Software development lifecycle processes can sometimes be seen as impediments or tedious tasks.  But it is worth reminding everyone that the smart work up front will save you headaches later. In my experience, well-written software requirements serve two main purposes: it orients all project participants and helps get buy-in about what you&#8217;re trying to [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-large wp-image-63" title="requirementsfishbone" src="http://www.aktually.com/wp-content/uploads/2009/05/requirementsfishbone-1024x294.png" alt="requirementsfishbone" width="450" />Software development lifecycle processes can sometimes be seen as impediments or tedious tasks.  But it is worth reminding everyone that the smart work up front will save you headaches later. In my experience, well-written software requirements serve two main purposes: it orients all project participants and helps get buy-in about what you&#8217;re trying to do (since you&#8217;re articulating what you&#8217;re trying to accomplish), and it makes sure that everyone (from the project sponsor(s) down to the technologist and back up to the end user) can say that the project is done <em>to expectations</em>.</p>
<p>The trick is how to write a good requirement, for any number of situations. Part of the answer is to follow this convention:</p>
<p>The <span style="color: #808080;">[your words here: system, actor, function, dependency, etc.]</span><br />
must <span style="color: #808080;">[your words here: do, process, store, etc.]</span><br />
to <span style="color: #808080;">[your words here: accomplish a goal, serve a purpose, etc.]</span>.</p>
<p>and to focus on the &#8220;<em>what</em>&#8221; (substance) of the need as opposed to the &#8220;<em>how</em>&#8221; (design) of the need.  In addition, there are 8 key criteria that each requirement should satisfy to be considered well written.</p>
<p><span id="more-45"></span></p>
<p>As a business analyst, you should think about addressing the following points to evaluate how well written the requirement is:</p>
<ul>
<li>Necessity €“ A &#8220;must have&#8221;. Conversely, it helps to avoid gold-plating and gives you a prioritization tool during the build phase of work.</li>
<li>Unambiguous-ness €“ Use assertive words without vague terms. This also helps the writer/stakeholder focus on the &#8220;<em>what</em>&#8221; of the product/service/result as opposed to the &#8220;<em>how&#8221;</em> and proactively reducing interpretation issues.</li>
<li>Testability €“ Can be verified by inspection, analysis, or demonstration, which means that there&#8217;s a qualifying attribute to almost everything based on the idea that <a href="http://en.wikipedia.org/wiki/I_know_it_when_I_see_it">you know it when you see it</a>.</li>
<li>Conciseness €“ Conveys what is required and is easy to read yet. If you end up writing a page-long requirement, it&#8217;s time to make it more atomic.</li>
<li>Consistency €“ Does not contradict other requirements and uses a known vocabulary that should be defined for the layman (or at least the wider group).</li>
<li>Completeness €“ Does not require you to look at additional text to know what the requirement means. At the same time, requirements may be related to each other, which then requires the writer to add a separate requirement that talks about interaction between multiple requirements.</li>
<li>Feasibility €“ A requirement that can be implemented. Typically, time is a factor, but cost and available resources will all ultimately play a role in what you deem feasible or realistic.</li>
<li>Traceability €“ Has a unique identifier and is tracked through the development of the product/service/result. Along with testability, this attribute plays a role in ensuring that things do not get lost in the cracks.</li>
</ul>
<p>The above list was adapted from <a href="http://en.wikiversity.org/wiki/Technical_writing_specification">here</a> based on my own experience, and there is a wealth of material on the Web and in print that follows these conventions (or their spirit). Unfortunately, despite the volumes dedicated to this topic, it still frustrates users and is a task that is taken lightly because it is time spent with seemingly less tangible benefit up front. I have had many experiences where the team will ask &#8220;What did (insert name) mean when he/she wrote this,&#8221; which resulted in time wasted, potentially incorrect coding to occur, and costly testing time and effort down the line that reveals something &#8220;wrong&#8221; with the system but is hard to define or pin down.</p>
<p><strong>Recommendation</strong>: Do the work upfront, and you&#8217;ll save time and headache later. As a business stakeholder, focus on the &#8220;what&#8221;, and allow technical subject matter experts worry about the &#8220;how&#8221; (which they are supposed to do anyway). Well-written requirements based on necessity, unambiguousness, testability, conciseness, consistency, completeness, feasibility, and traceability will save the day.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aktually.com/recommendations/how-to-write-a-good-software-requirement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
