<?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>Terran Consultancy Ltd</title>
	<atom:link href="http://terranconsultancy.co.uk/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://terranconsultancy.co.uk</link>
	<description>Centre of Excellence for Process Analysis, Improvement &#38; Sustainability</description>
	<lastBuildDate>Fri, 30 Apr 2010 15:06:06 +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>Reduce Churn: Restate Constraints, Assumptions &amp; Dependencies</title>
		<link>http://terranconsultancy.co.uk/?p=47</link>
		<comments>http://terranconsultancy.co.uk/?p=47#comments</comments>
		<pubDate>Fri, 30 Apr 2010 15:06:06 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Business Analysis]]></category>

		<guid isPermaLink="false">http://terranconsultancy.co.uk/?p=47</guid>
		<description><![CDATA[Taken from the IIBA® Quick Tips for Better Business Analysis Many requirements packages contain Constraints, Assumptions and Dependencies (CAD). These are often defined at the start of the project—and ignored until the BA needs to defend against allegations of poor requirements. Instead of creating a defensive repository to redirect blame (&#8220;You signed off on this!&#8221;), [...]]]></description>
			<content:encoded><![CDATA[<p>Taken from the <strong><a href="http://iiba.informz.ca/z/cjUucD9taT01NjM0NyZwPTEmdT05MDAzMTkzOTYmbGk9NzgzODg/index.html" target="_blank">IIBA<sup>®</sup> Quick Tips for Better Business Analysis</a></strong></p>
<p>Many requirements packages contain Constraints, Assumptions and Dependencies (CAD). These are often defined at the start of the project—and ignored until the BA needs to defend against allegations of poor requirements. Instead of creating a defensive repository to redirect blame (&#8220;You signed off on this!&#8221;), restate CADs in actionable forms by translating them into non-functional requirements or risks. Since projects usually have processes to manage risks and requirements, this leads to fewer surprises and less churn.</p>
<p>Translation starts with understanding the definition of each term (&#8216;condition&#8217; refers to an <em>event</em> or <em>circumstance</em>).</p>
<p>-          <strong>Constraint</strong>: A condition that limits the project or solution, is outside the control of the project team, and needs to be managed around (see <a href="http://iiba.informz.ca/z/cjUucD9taT01NjM0NyZwPTEmdT05MDAzMTkzOTYmbGk9NzgzOTA/index.html">http://en.wikipedia.org/wiki/Theory_of_Constraints#Constraints</a>).</p>
<p>-          <strong>Assumption</strong>: A condition not certain to happen, outside the control of the project team, and necessary for the project or solution to be successful.</p>
<p>-          <strong>Dependency</strong>: A relationship between conditions where one cannot start or finish until another starts or finishes (see <a href="http://iiba.informz.ca/z/cjUucD9taT01NjM0NyZwPTEmdT05MDAzMTkzOTYmbGk9NzgzOTE/index.html">http://en.wikipedia.org/wiki/Dependency_(project_management)</a>.</p>
<p>-          <strong>Risk</strong>: A probable condition that will impact the project or solution if it happens. There are four ways to manage a risk: Avoid, Control, Accept or Transfer (ACAT)<br />
(see <a href="http://iiba.informz.ca/z/cjUucD9taT01NjM0NyZwPTEmdT05MDAzMTkzOTYmbGk9NzgzOTI/index.html">http://en.wikipedia.org/wiki/Risk_management#Potential_risk_treatments</a>).</p>
<p>-          <strong>Non-Functional Requirement:</strong> A condition under which the solution must remain effective; a quality the solution must have. Non-functional requirements often describe ways to avoid or control organizational risks.</p>
<p>To begin the translation, establish the primary impacts of the CAD to the solution (how the business operates) and the project (changing how the business operates).</p>
<p>-          <strong>For each solution impact, reframe the CAD as a non-functional requirement.</strong> The assumption &#8220;ATM data schema can be loaded by mainframe&#8221; would impact the solution if false. Elicit details associated with the condition from SMEs and document them as measurable requirements.</p>
<p>-          <strong>For each project impact, reframe the CAD as a project risk.</strong> The dependency &#8220;resources available to test code when needed&#8221; would impact the project if broken. Assess the probability and impact, and propose a method to manage the risk. The PM is accountable for risk management, but you can offer options.</p>
<p>One CAD may have a mix of multiple project and solution impacts, and be translated into risks and requirements.</p>
<p>This technique takes practice, but it&#8217;s worth the effort. PMs and business people appreciate your ability to speak their language—the language of risk—while designers and testers benefit from a more complete understanding of the business needs.</p>
]]></content:encoded>
			<wfw:commentRss>http://terranconsultancy.co.uk/?feed=rss2&amp;p=47</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Building Valuable Process Maps Takes Skill and Time</title>
		<link>http://terranconsultancy.co.uk/?p=38</link>
		<comments>http://terranconsultancy.co.uk/?p=38#comments</comments>
		<pubDate>Mon, 10 Aug 2009 11:02:24 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Business Process Management (BPM)]]></category>
		<category><![CDATA[Process Improvement]]></category>

		<guid isPermaLink="false">http://terranconsultancy.co.uk/?p=38</guid>
		<description><![CDATA[Reproduced from http://www.isixsigma.com/library/content/c090810a.asp Practitioners who think process mapping can be completed in a two-hour session with a group of subject matter experts, a white board and some sticky notes are likely to end up with a nice piece of paper with a bunch of squares and diamonds. This is because process mapping is not for [...]]]></description>
			<content:encoded><![CDATA[<p>Reproduced from <a href="http://www.isixsigma.com/library/content/c090810a.asp">http://www.isixsigma.com/library/content/c090810a.asp</a></p>
<p>Practitioners who think process mapping can be completed in a two-hour session with a group of subject matter experts, a white board and some sticky notes are likely to end up with a nice piece of paper with a bunch of squares and diamonds. This is because process mapping is not for wimps. Creating a process map that tells a full, data-based story requires a decent amount of time and effort by those individuals involved in the process.</p>
<p><strong>Gathering Information</strong></p>
<p>A great process map should show, with certainty, where improvements can be made, where cycle time delays exist and where smooth handoffs are not taking place. Creating a process, or value stream, map should be the first act a company performs when seeking to make process improvements. If they start more advanced process improvement methodologies without completing a value stream map first, organizations may make a slower start on their road to improvement. Of course, practitioners should not avoid these advanced methodologies. But they will benefit from beginning with a process map, which can make an immediate impact – immediate in the sense of less than three months.</p>
<p>Again, process mapping is not an easy undertaking. It is the perfect combination of business acumen and art. It takes special talent to interview individuals and get them to explain exactly what they do in their job every day, as well as share their pains and express their wants. In fact, it takes the ability to connect with many different types of people and personalities, the know-how to ask questions that will effectively prompt the interviewee and the listening skills to understand what a person is saying – without judgment or prejudice.</p>
<p>A skilled practitioner may ask some of the following questions during an interview to capture process owners’ pains and wants:</p>
<ul>
<li>What parts of the process do you seek to eliminate, and why?</li>
<li>Where do you spend most of your time, and why?</li>
<li>Where in the process do you repeat work? How often, and why?</li>
<li>What does your manager think happens in the process? What really happens?</li>
<li>When pressed for time, what steps in the process do you skip or work around?</li>
</ul>
<p>But what about the data-based story component? Well, to perform a true value stream mapping exercise, data must be collected in conjunction and concurrently with the interviews. Questions to collect this data may include:</p>
<ul>
<li>Where do cycle time delays exist?</li>
<li>Where do handoffs take place?</li>
<li>Do people actually hand something off, or is it submitted to a system with the assumption that it is handed off?</li>
<li>What data points are put into systems? What data points are taken out?</li>
<li>What pains does the process cause? What do people want or desire from the process?</li>
</ul>
<p>Gathering data is the real power of performing process mapping. The master plot, the final map with all the details, is great for showing people the process, but the juicy stuff is in the data that is collected.</p>
<p>One of the practitioner’s challenges is to identify exactly how many handoffs there are in the process, and how many inputs go into a system but never get taken out. However, the absolute biggest benefit comes from taking steps out of the process. Once changes have been made, practitioners can calculate a return on investment and assign value to each step in the process.</p>
<p><strong>Five Key Tips</strong></p>
<p>The following are some tips and tricks for process mapping any process in an organization:</p>
<ul>
<li>Scope the process: Clearly define a start and stop in the process.</li>
<li>Identify metrics of importance: To give the effort value, practitioners should determine what they want to eliminate from the process – process steps that generate cycle time, steps where individuals seek approvals, steps where individuals perform manual effort and so on. These will become the steps to color code as action items.</li>
<li>Select a map collection method: Process mapping can be performed using sticky notes, a spreadsheet or technical drawing software program, or paper and pen. Practitioners should select the method that works best for them and their organization.</li>
<li>Validate the process maps: After completing a first round of interviews, practitioners should have someone within the organization who is familiar with the process read the maps. This person should check for clarity, content and continuity. The practitioner can review the feedback with the original interviewee for confirmation.</li>
<li>Minimal interviewees at one time: Practitioners should not attempt to create process maps with large groups. It is best to interview one or two people at a time, therefore reducing social conversation and the desire to correct the process during the mapping session.</li>
</ul>
<p>About the Author: Joy Taylor is a Master Black Belt and the president of Taygan Consulting Inc. She has worked with clients such as NRG Energy Inc., Merck &amp; Co and Avid Technologies Inc. Taylor started her career at GE Americom Comunications, a GE Capital Business. She is based in Yardley, Pa., USA, and can be reached at <a href="mailto:joy@tayganconsulting.com">joy@tayganconsulting.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://terranconsultancy.co.uk/?feed=rss2&amp;p=38</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Teamwork and Creativity Help to Identify Root Causes</title>
		<link>http://terranconsultancy.co.uk/?p=32</link>
		<comments>http://terranconsultancy.co.uk/?p=32#comments</comments>
		<pubDate>Tue, 12 May 2009 09:00:13 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Root Cause Analysis]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://terranconsultancy.co.uk/?p=32</guid>
		<description><![CDATA[Re-Produced from http://www.realinnovation.com/content/c090511a.asp  By Michael Ohler In problem-solving methodologies, identifying potential causes is a crucial step between process mapping and data collection and analysis. It involves the best available process knowledge, as well as creativity. Creativity and team management tools, more often employed for solution finding than for root cause finding, can generate deep understanding [...]]]></description>
			<content:encoded><![CDATA[<p>Re-Produced from<br />
<a href="http://www.realinnovation.com/content/c090511a.asp">http://www.realinnovation.com/content/c090511a.asp</a> </p>
<p>By Michael Ohler</p>
<p>In problem-solving methodologies, identifying potential causes is a crucial step between process mapping and data collection and analysis. It involves the best available process knowledge, as well as creativity. Creativity and team management tools, more often employed for solution finding than for root cause finding, can generate deep understanding of the process mechanics and help the team prepare for the distilling and data-based validation of the &#8220;essential few&#8221; root causes of a problem.</p>
<p>Problem-solving teams can increase their chances of success by using a consistent methodology for identifying a problem&#8217;s origins. Such a methodology must be based on the very nature of root cause analysis. This form of analysis:</p>
<ul>
<li><strong>Is a process</strong> that needs to be understood from the &#8220;bigger picture.&#8221;</li>
<li><strong>Is a team exercise</strong> that focuses on people and on meeting facilitation.</li>
<li><strong>Uses brainstorming</strong> to combine best expert knowledge with out-of-the-box thinking.</li>
<li><strong>Delivers measurable factors</strong> and a data-collection plan.</li>
<li><strong>Uses data</strong> to derive potential causes.</li>
</ul>
<p>In the light of one specific example, it is possible to see how creativity and team management tools can be used to look deeper into the first four elements of root cause analysis. Using data to distill significant causes, both from a statistical and then from a practical point of view, is typically covered in Lean Six Sigma training classes. The example considered here is a delivery process where lead time had recently degraded with respect to customer expectations.</p>
<h2>Working Through the Process</h2>
<p>After carefully describing their problem, the team started the analysis by mapping out the delivery process. Then they brainstormed for potential causes for variation in lead time. To validate those causes, they collected and analyzed data. At first, only a small share of the total variation could be explained with these factors. The team then further elaborated the process map for the steps estimated most critical and revisited the cause-and-effect analysis to collect data for more potential factors by using the 5 Why’s analysis technique to drill down further.</p>
<h2>Preparing the Team</h2>
<p>To understand the observed variation in delivery time, the team mapped out the delivery process in greater detail. The team interviewed customers to determine their requirements and the rationale behind those requirements. They also analyzed how the process interfaces with suppliers; for several team members this was the first time they perceived the &#8220;big picture&#8221; of the process they were working in. Such first victories set the team on track for the next steps.</p>
<p>In preparation for the brainstorming meeting to identify potential causes, the team leader carefully:</p>
<ul>
<li><strong>Conveyed a high sense of urgency and made participants feel &#8220;pain and pleasure:&#8221;</strong> Competitors had taken market share in line with their lead in delivery speed. A smooth flow of the process would also free up resources and reduce overtime work. Management actively supported the initiative.</li>
<li><strong>Secured creative diversity: I</strong>ncluded process and business experts and people with different personal styles.</li>
<li><strong>Made the team curious about &#8220;creativity tools&#8221; to be used:</strong> He also checked with experienced team members to find out which tools might be best suited for the specific team.</li>
<li><strong>Removed barriers to a free flow of ideas:</strong> The facilitator ensured that rules about inter-department finger pointing was clarified offline. He also verified that stakeholders were analyzed and approached accordingly.</li>
</ul>
<h2>Brainstorming Potential Causes</h2>
<p>Like any other brainstorming activity, identifying potential influence factors is a team-thinking process. At the beginning of the meeting, management aligned the participants behind the business criticality of the process through a short intervention. The team also agreed on a schedule and ground rules. Then they went through the process map again, printed on an sheet of paper, which served throughout the meeting.</p>
<p>To capture the team&#8217;s experience on what might influence delivery time, the facilitator asked participants to write their thoughts on sticky notes and paste these on a flip chart. As people saw their peers’ contributions, they eventually generated new ideas. The walking and talking involved in the brainstorming set a relaxed atmosphere. Even so, after about 20 minutes, the team reached its first <em>dead point</em>, the time in brainstorming sessions when the team momentarily runs out of ideas. To keep the momentum alive, the facilitator decided to use a fishbone diagram. The facilitator asked participants to come to the flipchart and cluster the different potential causes into major groups.</p>
<p>The facilitator steered the team around a common trap that can arise when using fishbone diagrams. The team had started by writing the defect (&#8220;Delivery is slow&#8221;) at the &#8220;head&#8221; of the fish. This would have reduced the continuous variable delivery time into pass/fail information. Doing so would also have generated repercussions when capturing potential causes. A statement such as &#8220;insufficient headcount causes slow delivery&#8221; can lead a team in a different direction than a study of the influence of allocated work hours on delivery time. Thus, the team investigated the primary metric, &#8220;delivery time.&#8221;</p>
<p>This clarification, as well as clustering the ideas into major groups, helped generate discussions about the relations between different potential factors, which again generated new ideas. Participants also translated their original statements on &#8220;roadblocks to success&#8221; into &#8220;tunable factors,&#8221; imagined as &#8220;steering wheels to influence delivery speed&#8221;</p>
<p>The clustering exercise generated several major groups of factors. The team sensed some of these were underrepresented because they comprised only one or two potential factors. A quick re-brainstorming made these groups more complete. Then, the facilitator used printouts of traditional Ishikawa diagrams, the basis for fishbone diagrams, which helped them realize that price aspects had been overlooked and could now be collected through another round of posted ideas.</p>
<p>The facilitator decided not to have the team rearrange the posted notes into any of the traditional Ishikawa diagrams. This would helped the team consider the collected potential causes from still another angle, revealing other relations between factors, and generating new ideas. However, with the team dynamics that had unfolded, the facilitator sensed such an additional exercise as a drain to people&#8217;s creativity. Note that if this rearrangement does take place, the original state should first be documented with a camera.</p>
<p>The facilitator used a dead point to take a short break to prepare a creativity boosting game. These games often kick people out of their thinking box by first kicking them out of their seats. Typically, human resources departments can help in selecting creativity games. Searching the Internet also delivers many leads.</p>
<p>A short wrap-up of the game helped understand what defined the borders of the current thinking box: policies (written and unwritten), experiential boundaries (&#8220;At the current maturity of our logistics system, improvements must be the result of major investments&#8221;), firm convictions nobody knew the foundation of (&#8220;We will only find things we have seen in the past&#8221;) and several other limitations to creative thinking. It was the first time the team had seen the boundaries of their own thinking explicitly on a white board. They decided to creatively challenge some of these boundaries to discover new factors, such as &#8220;If we had no performance reporting to management, the delivery time might depend a lot on the affinity of the personnel for a given customer.&#8221;</p>
<h2>Delivering Measurable Factors</h2>
<p>The brainstorming resulted in 47 potential influence factors on delivery time. Green dots, on which the source was noted, were glued on the sticky notes of the factors where data was already available. Yellow dots stood for factors where data could be made available with some effort. Factors with no measurement system in place were marked with red dots. The result turned out to be a surprise: Data was easily available for only for a few factors. The team conducted a vote, in which each participant had five votes, to decide which of the red factors’ measurement systems were high priority.</p>
<p>The team then drafted a data collection plan: determine factor, (potential) data source and owner. They placed sample size determination, operational definition of the measurement and capability assessments of the underlying measurement systems as action items.</p>
<h2>Wrapping Up</h2>
<p>After agreeing on a follow-up procedure, the facilitator closed the meeting with a wrap up and a short feedback round among the participants. The team felt that the somewhat-fuzzy objective to identify root causes to their problem had been transformed into operational tasks. The use of creativity tools and a game had also made this work more fun. The facilitator added: Facilitating root cause identification is an art that can best be learned by exercising it.</p>
<h3>About the Author:</h3>
<p>Michael Ohler is Master Black Belt with experience in several industries and a controlling, quality and project management background. He also has Lean and Six Sigma training experience at the Yellow, Green and Black Belt levels and holds a doctorate in experimental physics. Dr. Ohler has been teaching university courses in France and Brazil. Contact Michael Ohler at <a href="javascript:sendmail('ohlermichael','googlemail.com');">ohlermichael (at) googlemail.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://terranconsultancy.co.uk/?feed=rss2&amp;p=32</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Six Sigma Aids in IT Employee Resource Planning</title>
		<link>http://terranconsultancy.co.uk/?p=23</link>
		<comments>http://terranconsultancy.co.uk/?p=23#comments</comments>
		<pubDate>Thu, 07 May 2009 12:53:48 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Process Improvement]]></category>
		<category><![CDATA[Six Sigma Resourcing IT CTQ FMEA COPQ planning]]></category>

		<guid isPermaLink="false">http://terranconsultancy.co.uk/?p=23</guid>
		<description><![CDATA[By Celia B. Banks, Ph.D.  Reproduced from http://software.isixsigma.com/library/content/c090506b.asp   Effective resource planning is an important part of any process improvement program. Formalizing processes and developing measurement systems helps to determine the value of internal projects from a human capital perspective. A measurement system for effective resource planning in implementing project goals may be particularly helpful for [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><span style="font-family: arial,helvetica,sans-serif;">By Celia B. Banks, Ph.D.</span> </p>
<div></div>
<p><span style="font-family: arial,helvetica,sans-serif;"></p>
<div style="text-align: left;">Reproduced from <a href="http://software.isixsigma.com/library/content/c090506b.asp">http://software.isixsigma.com/library/content/c090506b.asp</a>  </div>
<div><span style="font-family: arial,helvetica,sans-serif;"></span></div>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-family: arial,helvetica,sans-serif;"><font face="arial,helvetica,sans-serif"><font face="arial,helvetica,sans-serif"><font face="arial,helvetica,sans-serif"></p>
<div style="text-align: left;">Effective resource planning is an important part of any process improvement program. Formalizing processes and developing measurement systems helps to determine the value of internal projects from a human capital perspective. A measurement system for effective resource planning in implementing project goals may be particularly helpful for information technology (IT) divisions of companies.Developing a Measurement System<span style="font-family: arial,helvetica,sans-serif;"><span style="font-family: arial,helvetica,sans-serif;"> </span></span></div>
<p></font></font></font></span><font face="arial,helvetica,sans-serif"><font face="arial,helvetica,sans-serif"></font></font></span><font face="arial,helvetica,sans-serif"></font></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;">A first step in defining the measurement system must be establishing formalized processes for resource planning. Practitioners should gather and analyze the business requirements within the process to determine deficiency input points. This can be done using process flow diagrams of both current, or “as is,” and modified, or “to be,” processes.</span></p>
<p><span style="font-family: arial,helvetica,sans-serif;">Next, practitioners should determine critical-to-quality (CTQ) requirements for project task deliverables. Metrics for evaluating resource planning processes consider these CTQs. Once CTQ characteristics are identified, the cost of poor quality (COPQ) can be determined. A project skills matrix and a failure mode and effects analysis (FMEA) for resource planning can be used to capture data for measurement. Then practitioners can identify the defects per million opportunities (DPMO), a number that can be converted to a sigma level. The sigma level will focus on measuring and eliminating defects in core resource planning processes.</span>  </p>
<p><span style="font-family: arial,helvetica,sans-serif;">Six Sigma can be used to define process capability in order to identify metrics for evaluating the outcome of CTQ requirements.</span></p>
<h3>Identifying CTQ Variables</h3>
<div><span style="font-family: arial,helvetica,sans-serif;">In evaluating project resourcing planning, the earned value management model can be used in defining CTQ variables. In order to evaluate performance, practitioners can use a general variance model, in which the actual resource cost is compared to the standard budget for a given project, to examine the cost of a resource in terms of hourly amount, hours utilized and scheduling. When actual utilization in terms of cost and scheduling exceeds the standard budget, it is deemed unfavorable.</span></div>
<p><span style="font-family: arial,helvetica,sans-serif;">Within the variance model framework, a resource manager should construct a CTQ FMEA template that is applicable to staffing requirements outlined in the Define phase. The CTQ specifications should be stated, and measures devised. Variables can be associated with defect opportunities (Table 1).</p>
<table border="1" cellspacing="2" cellpadding="2" width="80%">
<tbody>
<tr>
<td colspan="3" bgcolor="#000099"><span style="color: #ffffff;"><strong>Table 1:</strong> Example of CTQ Requirements</span></td>
</tr>
<tr>
<td bgcolor="#cccccc"><strong>Requirement</strong></td>
<td bgcolor="#cccccc"><strong>Variable</strong></td>
<td bgcolor="#cccccc"><strong>Defect Threshold</strong></td>
</tr>
<tr>
<td>Set up server hardware</td>
<td>Resource skill</td>
<td>Hardware malfunctions due to incorrect setup four times</td>
</tr>
<tr>
<td>Install and configure Oracle on server</td>
<td>Resource skill in specialty area</td>
<td>Incorrect settings in system global area four times</td>
</tr>
<tr>
<td>Post go-live application support</td>
<td>Resource training relevant to skill</td>
<td>Incorrectly diagnose problem as user training issue when in actuality it is an application bug three times</td>
</tr>
</tbody>
</table>
<p>The conversion of actual defects in task delivery to DPMO will derive a sigma value denoting either organizational excellence, satisfactory performance or unfavorable results. Practitioners can compare sigma values at the start and end of the project to determine improvement gains. A sample of a CTQ measurement is illustrated in Table 2.</p>
<table border="1" cellspacing="2" cellpadding="2" width="80%">
<tbody>
<tr>
<td colspan="5" bgcolor="#000099"><span style="color: #ffffff;"><strong>Table 2:</strong> Sample CTQ Measurement</span></td>
</tr>
<tr>
<td bgcolor="#cccccc"><strong>Define</strong></td>
<td bgcolor="#cccccc"><strong>Measure</strong></td>
<td bgcolor="#cccccc"><strong>Analyze</strong></td>
<td bgcolor="#cccccc"><strong>Improve</strong></td>
<td bgcolor="#cccccc"><strong>Control</strong></td>
</tr>
<tr>
<td>CTQ: The customer will tolerate up to four hardware malfunctions due to incorrect setup</td>
<td>Defects: Hardware malfunctions four times<br />
Units: 196 (47 file servers x 4 setup errors)<br />
Opportunities: 1 per file server<br />
DPMO: 85,100<br />
Process sigma: 2.81</td>
<td>Two system engineer resources, A and B, are assigned to task: Resource A sets up 23 file servers over a period extending beyond the planned 10 workdays (13 workdays actual). Resource B sets up the remaining 24 file servers under the planned 10 workdays (9 workdays actual). Six file servers that Resource A sets up experience malfunctions due to incorrect setup.</td>
<td>Resource A caused a cost and schedule variance and failed to meet CTQ requirements six times.<br />
Defects: Hardware malfunctions six times<br />
Units: 138 (23 file servers x 6 setup errors)<br />
Opportunities: 1 per file server<br />
DPMO: 260,900<br />
Process sigma: 2.14</td>
<td>Identify opportunities for Resource A to improve server set up ability through training or journeying.</td>
</tr>
</tbody>
</table>
<p> </p>
<p></span></p>
<h3>Quantifying COPQ in Resource Planning Processes</h3>
<div><span style="font-family: arial,helvetica,sans-serif;">There are many causes that affect COPQ: demand constraints, labor cost to fix problems, cost of lost opportunity, underutilization, loss of sale or revenue, and lower service level to customers. Table 3 describes these causes from a resource planning perspective.</span></div>
<p><span style="font-family: arial,helvetica,sans-serif;"></p>
<table border="1" cellspacing="2" cellpadding="2" width="80%">
<tbody>
<tr>
<td colspan="2" bgcolor="#000099"><span style="color: #ffffff;"><strong>Table 3:</strong> Poor Quality Causes in Resource Planning</span></td>
</tr>
<tr>
<td bgcolor="#cccccc"><strong>Poor Quality Cause</strong></td>
<td bgcolor="#cccccc"><strong>Description</strong></td>
</tr>
<tr>
<td>1</td>
<td>Underutilization of resources is also termed spoilage in Six Sigma. It occurs when there is inconsistence or inefficient processes.</td>
</tr>
<tr>
<td>2</td>
<td>Reworking a deliverable due to wrong resources skill applied involves the labor to repqir the defect.</td>
</tr>
<tr>
<td>3</td>
<td>Additional resources includes any burden of consumption of resources in order to accommodate an unforseen step in project deliverables.</td>
</tr>
<tr>
<td>4</td>
<td>Lost opportunity is the loss in business of a failure. Included are the loss of margin and the capital to be invested for regaining lost revenue to offset the cumulative revenue loss.</td>
</tr>
<tr>
<td>5</td>
<td>Lost revenue due to poor quality considers the loss of new business due to defective quality in a deliverable.</td>
</tr>
<tr>
<td>6</td>
<td>Poor customer satisfaction is the sum total of all COPQ. Cost is compounded by losses customers suffer due to defective quality in a deliverable.</td>
</tr>
</tbody>
</table>
<p>The calculation of COPQ uses weighted risk for potential failures. It considers an estimation of four components:</p>
<ol>
<li>Probability of occurrence for each failure</li>
<li>Potential severity of each failure</li>
<li>Current detection provisions</li>
<li>Resolution cost of a single failure</li>
</ol>
<table border="1" cellspacing="2" cellpadding="2" width="80%">
<tbody>
<tr>
<td colspan="7" bgcolor="#000099"><span style="color: #ffffff;"><strong>Table 4:</strong> Sample COPQ Measurement</span></td>
</tr>
<tr>
<td colspan="7"><strong>Goal:</strong> Reduce Customer Dissatisfaction Incidents Due to Resource Related Project Failures by 75</td>
</tr>
<tr>
<td bgcolor="#cccccc"><strong>No.</strong></td>
<td bgcolor="#cccccc"><strong>Potential Resource Deficiency</strong></td>
<td bgcolor="#cccccc"><strong>Risk Priority Number</strong></td>
<td bgcolor="#cccccc"><strong>Effort Hours to Resolve</strong></td>
<td bgcolor="#cccccc"><strong>Average Cost Per Hour</strong></td>
<td bgcolor="#cccccc"><strong>Average Cost to Resolve</strong></td>
<td bgcolor="#cccccc"><strong>RPN x ACR</strong></td>
</tr>
<tr>
<td>1</td>
<td>Right skilled but underutilized in project task</td>
<td>30</td>
<td>10</td>
<td>$90.00</td>
<td>$900.00</td>
<td>$27,000.00</td>
</tr>
<tr>
<td>2</td>
<td>Wrong skill to repair defect</td>
<td>27</td>
<td>40</td>
<td>$48.00</td>
<td>$1,920.00</td>
<td>$51,840.00</td>
</tr>
<tr>
<td>3</td>
<td>Added resource due to scope creep</td>
<td>27</td>
<td>56</td>
<td>$240.00</td>
<td>$13,440.00</td>
<td>$362,880.00</td>
</tr>
<tr>
<td>4</td>
<td>Loss of business opportunity due to downtime (daily revenue = $10,000)</td>
<td>18</td>
<td>40</td>
<td>$416.67</td>
<td>$16,666.80</td>
<td>$300,002.40</td>
</tr>
<tr>
<td>5</td>
<td>Lost revenue due to resource incorrectly working project task</td>
<td>21</td>
<td>10</td>
<td>$4,166.70</td>
<td>$41,667.00</td>
<td>$875,007.00</td>
</tr>
<tr>
<td> </td>
<td>Total:</td>
<td>123</td>
<td> </td>
<td> </td>
<td> </td>
<td>$1,616,729.40</td>
</tr>
<tr>
<td colspan="7">Formula 1: Weighted average cost to resolve = (RPN x ACR)/RPN = 1,616,729.40/123 = $13,144.14</td>
</tr>
<tr>
<td colspan="7">Formula 2: COPQ (annualized) = Weigted average cost to resolve x annual reduction in resource related project failures<br />
13,144.14 x 75 = $985,810.50</td>
</tr>
</tbody>
</table>
<p>The connection of COPQ to DPMO means that poor quality costs are proportional to sigma levels. The yield should be compared to the cost of quality in the finished project deliverable. The sigma level correlation to DPMO and cost of quality is stated as percentage of revenue (Table 5).</p>
<table border="1" cellspacing="2" cellpadding="2" width="80%">
<tbody>
<tr>
<td colspan="5" bgcolor="#000099"><span style="color: #ffffff;"><strong>Table 5:</strong> Sigma Level, Value, DPMO and Cost of Quality Percentage</span></td>
</tr>
<tr>
<td bgcolor="#cccccc"><strong>Sigma Level</strong></td>
<td bgcolor="#cccccc"><strong>Range Value</strong></td>
<td bgcolor="#cccccc"><strong>Yield</strong></td>
<td bgcolor="#cccccc"><strong>DPMO</strong></td>
<td bgcolor="#cccccc"><strong>Cost of Quality Percentage</strong></td>
</tr>
<tr>
<td>2</td>
<td>Unfavorable</td>
<td>&#8211;</td>
<td>298,000</td>
<td>More than 40%</td>
</tr>
<tr>
<td>3</td>
<td>Satisfactory</td>
<td>93.3%</td>
<td>66,870</td>
<td>25%-40%</td>
</tr>
<tr>
<td>4</td>
<td>Satisfactory</td>
<td>99.8%</td>
<td>6,210</td>
<td>15%-25%</td>
</tr>
<tr>
<td>5</td>
<td>Organization excellence</td>
<td>99.977%</td>
<td>233</td>
<td>5%-15%</td>
</tr>
<tr>
<td>6</td>
<td>Organization excellence</td>
<td>99.99966%</td>
<td>3.4</td>
<td>Less than 1%</td>
</tr>
</tbody>
</table>
<p> </p>
<p></span></p>
<h3>Control System Benefits</h3>
<div><span style="font-family: arial,helvetica,sans-serif;">A performance measurement system enables management to plan and make decisions. The approach identified here provides a control system that aligns practical standards against ideal, or perfect, conditions. Standardization provides performance baselines for control efforts in budgeting and planning of resource allocation. From here, practitioners can devise a simple formula that compares actual costs in resource allocation against the baselines. Variances should be noted to determine the extent of favorable and unfavorable outcomes. The data used to derive costs can be maintained in the project management application for creating reports and scorecards.</span></div>
<p><span style="font-family: arial,helvetica,sans-serif;"></p>
<div><span style="font-family: arial,helvetica,sans-serif;"><strong><span style="color: #000099;"><strong></strong></span><span style="color: #993300;">About the Author:</span></strong><span style="color: #993300;"> </span><em><strong>Celia B. Banks</strong>, Ph.D., is a certified Black Belt. As a management consultant, she defines project management office (PMO) processes and standards for governance in information technology and aligns best practices with Six Sigma metrics. She can be reached at </em><em><a href="mailto:celia@cyberneteks.com">celia@cyberneteks.com</a></em><em>.</em></span></div>
<p><span style="font-family: arial,helvetica,sans-serif;"> </p>
<p></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://terranconsultancy.co.uk/?feed=rss2&amp;p=23</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Lean Services: Doing Transactions Right the First Time</title>
		<link>http://terranconsultancy.co.uk/?p=18</link>
		<comments>http://terranconsultancy.co.uk/?p=18#comments</comments>
		<pubDate>Tue, 21 Apr 2009 14:50:41 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Process Improvement]]></category>
		<category><![CDATA[Lean]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[waste]]></category>

		<guid isPermaLink="false">http://terranconsultancy.co.uk/?p=18</guid>
		<description><![CDATA[The source of this article is http://www.isixsigma.com/library/content/c090406a.asp  Written by Sharad Sharma In a service organization, the most efficient method for cutting waste is to attack anything and everything that is not done right the first time. This concept, known as first time right, involves making sure that all activities are carried out in the right [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><span style="font-family: arial,helvetica,sans-serif;">The source of this article is <a href="http://www.isixsigma.com/library/content/c090406a.asp">http://www.isixsigma.com/library/content/c090406a.asp</a> </span></p>
<div></div>
<div><span style="font-family: arial,helvetica,sans-serif;">Written by Sharad Sharma</span></div>
<p><span style="font-family: arial,helvetica,sans-serif;">In a service organization, the most efficient method for cutting waste is to attack anything and everything that is not done right the first time. This concept, known as <em>first time right</em>, involves making sure that all activities are carried out in the right manner the first time and every time. Examples include a customer not needing to repeat their order at a take out restaurant and a bank executive handing the customer the correct form the first time. Completing all services right the first time is not easy, but doing so can be an effective way for businesses to begin their Lean journey.</p>
<h3>Tracking First Time Right Encounters</h3>
<p>The first step to completing service processes right the first time is to measure the current level of performance. Practitioners can begin by measuring the number of transactions that meet this goal and comparing this to the total number of transactions. Any process that receives input from another internal process should be measured. With this data, practitioners can approach the problem in a logical manner and find the reasons for poor performance. Sheer measurement of first time right processes usually helps earn the required buy-in and attention from the stakeholders.</p>
<p>Measuring the first time right performance of service personnel might be a change for many organizations. For example, bank managers may be used to judging their staff by the time it takes them to resolve a customer query. However, staff may not always provide complete information to customers, which can result in repeat complaints. Thus, it is essential to link an employee’s performance or output with the transactions that are completed correctly the first time.</p>
<h3>Improving Performance</h3>
<p>At the transaction level, organizations need to ensure that processes are well understood by the people performing them. Many transactions are not first time right simply because there are no clear guidelines and the staff has not been properly trained. A documented process will go a long way in ensuring this. For example, creating a standard operating procedure for filling out a loan application form will reduce the number of cases rejected at the next step in the loan process.</p>
<p>Simple techniques such as checklists and highlighted boxes for signatures help to ensure things are done right the first time. In a restaurant, for instance, all default silverware can be kept in stands or bins so that the waiter simply has to pick up one from each bin to ensure that all the tools are served correctly. Or, if a fast food restaurant distributes an order form while the customer is in line, the customer can check the items required and hand the form to the billing clerk, thus avoiding any error in ordering and reducing billing time.</p>
<h3>Cutting Out Waste</h3>
<p>First time right also helps address the seven wastes of Lean. By religiously following this spirit of making things right the first time, each of the forms of waste can be reduced, as explained here:</p>
<p><strong>1. Defects –</strong> The simplest and most direct waste addressed by first time right. Any service rendered to a customer that is not first time right – wrong delivery, data entry or diagnosis in a hospital – is a defect. Services do not have the luxury of rework; any defect remains a defect. However hard an organization tries, customers will not be completely satisfied after a bad service experience. The same is not true in manufacturing, where the customer may not even be aware of rework if it happens prior to product delivery. For example, the wrong order served in a restaurant will leave a bad taste with the customer even after the mistake is corrected; however, the rework on a car engine has no impact on the customer as long as the final product meets the specifications.</p>
<p><strong>2. Overproduction –</strong> Services have a tendency to overproduce to make up for transactions that do not go first time right. Any rework is overproduction, and takes up effort that should be going into a fresh transaction. For example, a package misdelivered results in an extra pick up and delivery to the correct destination.</p>
<p><strong>3. Processing –</strong> In services industries, a lot of processing takes place to prevent defects from reaching the customer. For example, in a bank, employees may check an account-opening form at multiple points during the process before generating the new account number. Inspection is a pure non-value-adding activity. Hence, inspection needs to be performed only when absolutely necessary and should not be used as a filtering process to hide the inefficiency of the input. If a customer address is not captured accurately on a majority of applications, it is better to devote time and effort on correctly capturing the information the first time rather than deploying someone to check and rectify all the applications.</p>
<p><strong>4. Waiting –</strong> Any difference between the processing turnaround time and customer demand results in customer waiting time. In many cases, the processing turnaround time increases due to rework for activities that have not happened correctly the first time. For any kind of rework, there is waiting involved – usually on the part of the customer. Any hotel room not made up properly results in customer waiting, and a loan application not completed properly will delay the disbursement to the customer.</p>
<p><strong>5. Inventory –</strong> The traditional manufacturing concept of inventory does not exist in services; services cannot be stored for future delivery. A hotel room left vacant for a night is lost business forever – it can never be recovered. However, in certain situations, services do maintain an inventory in the form of capacity. Call centers can reduce the staff on board if they ensure first time resolution of the customer’s complaint so that the customer does not need to call again for the same reason. If sufficient focus and effort is applied to improving billing accuracy, organizations need not use part of its capacity for making corrections.</p>
<p><strong>6. Motion and 7. Transportation –</strong> Services incur motion and transportation in the form of various handoffs that take place at stages of service delivery. Any rework results in more of these handoffs. For example, a loan that has been rejected due to incorrect income calculations goes thorough multiple handoffs and approvals before it is corrected. This could be avoided if the calculations were done correctly the first time.</p>
<p><strong><span style="color: #000099;">About the Author:</span></strong> <em><strong>Sharad Sharma</strong> is employed with Reliance Money Ltd. in New Delhi, India. He is an engineering graduate with a master’s in business administration from the National Institute of Industrial Engineering, Mumbai. He has extensive experience in deploying quality initiatives across the manufacturing, business process outsourcing and financial services sectors. He can be reached at </em><a href="mailto:sharad.sharma1@yahoo.com"><em>sharad.sharma1@yahoo.com</em></a></p>
<p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://terranconsultancy.co.uk/?feed=rss2&amp;p=18</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Why would I Want to Use Consultants?</title>
		<link>http://terranconsultancy.co.uk/?p=16</link>
		<comments>http://terranconsultancy.co.uk/?p=16#comments</comments>
		<pubDate>Thu, 05 Mar 2009 18:33:21 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Business Consulting]]></category>

		<guid isPermaLink="false">http://terranconsultancy.co.uk/?p=16</guid>
		<description><![CDATA[Taken from &#8220;Choosing &#38; Using Consultants &#38; Advisers: A Best Practice Guide to Making the Right Decision and Getting Good Value&#8221; by Harold Lewis THIS IS WHAT CLIENTS SAY When business managers are asked why they use consultants, their replies typically point to three factors the expertise that consultants offer; their independent viewpoint; the resources they [...]]]></description>
			<content:encoded><![CDATA[<div class="section">
<p class="sect2-title"><a name="8"></a><em>Taken from &#8220;</em><span id="b24-booktitle-13030"><em>Choosing &amp; Using Consultants &amp; Advisers: A Best Practice Guide to Making the Right Decision and Getting Good Value&#8221;<br />
<span id="b24-bookauthor-13030" class="b24-bookauthor">by Harold Lewis</span></em></span></p>
<h3 class="sect2-title">THIS IS WHAT CLIENTS SAY</h3>
<p class="first-para"><a name="9"></a><a name="page132A2ECC2-1789-45CA-B374-E3F9A90A3D56"></a>When <span class="b24-hit">business</span> managers are asked why they use <span class="b24-hit">consultants</span>, their replies typically point to three factors</p>
<ul class="square-list" type="square">
<li class="first-listitem">
<p class="first-para">the expertise that <span class="b24-hit">consultants</span> offer;</p>
</li>
<li class="listitem">
<p class="first-para">their independent viewpoint;</p>
</li>
<li class="listitem">
<p class="first-para">the resources they provide.</p>
</li>
</ul>
<h3 class="miscfigure">
<table class="BlueLine" border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td class="bluecell" bgcolor="#000080"><span style="font-size: x-small; color: #010100; font-family: Arial;"><strong><img title="Start Figure" src="http://terranconsultancy.co.uk/wp-admin/_.gif" border="0" alt="Image from book" width="1" height="2" /></strong></span></td>
</tr>
</tbody>
</table>
<p><a name="10"></a><a name="ch01fig0132A2ECC2-1789-45CA-B374-E3F9A90A3D56"></a></p>
<div class="miscfigure-informalexample">
<div class="informaltable">
<table border="0">
<thead>
<tr valign="top">
<th class="th" align="center" scope="col">
<h3 class="table-para">Expertise</h3>
</th>
<th class="th" align="center" scope="col">
<h3 class="table-para">Independence</h3>
</th>
<th class="th" align="center" scope="col">
<h3 class="table-para">Resources</h3>
</th>
</tr>
</thead>
<tbody>
<tr valign="top">
<td class="td" align="center">
<p class="table-para">Specialist skills<br style="LINE-HEIGHT: 1" />External competencies<br style="LINE-HEIGHT: 1" />Breadth of experience<br style="LINE-HEIGHT: 1" />Depth of insight<br style="LINE-HEIGHT: 1" />Focus and direction<br style="LINE-HEIGHT: 1" />Awareness of best practice<br style="LINE-HEIGHT: 1" />Facilitating change<br style="LINE-HEIGHT: 1" />Identifying and diagnosing problems<br style="LINE-HEIGHT: 1" />Adding value through knowledge transfer<br style="LINE-HEIGHT: 1" />Lateral thinking<br style="LINE-HEIGHT: 1" />Creativity and new ideas<br style="LINE-HEIGHT: 1" />Access to research data</p>
</td>
<td class="td" align="center">
<p class="table-para">Detached viewpoint<br style="LINE-HEIGHT: 1" />Impartiality<br style="LINE-HEIGHT: 1" />Unbiased analysis<br style="LINE-HEIGHT: 1" />Bridge between interests<br style="LINE-HEIGHT: 1" />Professional judgement as technical collateral<br style="LINE-HEIGHT: 1" />Legal requirement for independent advice</p>
</td>
<td class="td" align="center">
<p class="table-para">Outsourcing<br style="LINE-HEIGHT: 1" />Meeting workload pressures<br style="LINE-HEIGHT: 1" />Freeing up management time<br style="LINE-HEIGHT: 1" />Fulfilling management roles<br style="LINE-HEIGHT: 1" />Cost-effective response to occasional or short-term needs<br style="LINE-HEIGHT: 1" />Opportunity for cost savings</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<table class="BlueLine" border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td class="bluecell" bgcolor="#000080"><span style="font-size: x-small; color: #010100; font-family: Arial;"><strong><img title="End Figure" src="http://terranconsultancy.co.uk/wp-admin/_.gif" border="0" alt="Image from book" width="1" height="2" /></strong></span></td>
</tr>
</tbody>
</table>
<p><br style="LINE-HEIGHT: 1" /><a name="11"></a><a name="ch01lev2sec132A2ECC2-1789-45CA-B374-E3F9A90A3D56"></a>Expertise</h3>
<div class="section">
<ul class="square-list" type="square">
<li class="first-listitem">
<p class="first-para">‘We&#8217;re able to tap into skills and knowledge outside the competence of our own staff.’<a name="12"></a><a name="page232A2ECC2-1789-45CA-B374-E3F9A90A3D56"></a></p>
</li>
<li class="listitem">
<p class="first-para">‘Because they are specialists in their field they focus directly on the work. That means they get results more efficiently than we could ourselves.’</p>
</li>
<li class="listitem">
<p class="first-para">‘We faced a difficult <span class="b24-hit">business</span> situation we hadn&#8217;t met before, and were unsure what to do. But it was something our management <span class="b24-hit">consultants</span> had seen in a lot of other firms, and they knew the pros and cons of different approaches. We had the benefit of their broad experience.’</p>
</li>
<li class="listitem">
<p class="first-para">‘In restructuring the firm, we had tried to sort things out for ourselves, but seemed to get nowhere. They saw we had been asking the wrong questions, and helped us get to the root of the problem. In the end we did find our own solution, but it was with their help.’</p>
</li>
<li class="listitem">
<p class="first-para">‘We knew the <span class="b24-hit">business</span> had to change, and we saw where we wanted to go; but we didn&#8217;t know the best way to get there.’</p>
</li>
<li class="listitem">
<p class="first-para">‘The risks of making the wrong decisions about equipment and supplies were so enormous, we had to get informed advice from experts.’</p>
</li>
<li class="listitem">
<p class="first-para">‘We had become set in our ways and needed a new vision to get us moving. The <span class="b24-hit">consultants</span> played a key role in facilitating changes in our thinking and motivating our team.’</p>
</li>
<li class="listitem">
<p class="first-para">‘They gave us an awareness of best practice across the computer industry. We were able to stop wasting time inventing wheels that had already been designed elsewhere.’</p>
</li>
<li class="listitem">
<p class="first-para">‘Working alongside our people, they can help sharpen up our skills in specialist areas. There is a definite transfer of knowledge that takes place, and this is one way they add value to our <span class="b24-hit">business</span>.’</p>
</li>
<li class="listitem">
<p class="first-para">‘What we get are ideas we might not have thought of ourselves. I suppose you could call it lateral thinking or thinking out of the square or just creativity. They&#8217;re often ideas that can help us cut costs and bring in new income, ideas that hopefully will build up our <span class="b24-hit">business</span> advantage.’</p>
</li>
<li class="listitem">
<p class="first-para">‘Technologies move fast in the renewable energy sector. Our <span class="b24-hit">consultants</span> keep us up to speed with new processes and new areas of development.’<a name="13"></a><a name="page332A2ECC2-1789-45CA-B374-E3F9A90A3D56"></a></p>
</li>
<li class="listitem">
<p class="first-para">‘To meet the requirements of our own clients, we needed to have quality accreditation. Specialist <span class="b24-hit">consultants</span> guided us successfully through the procedure.’</p>
</li>
<li class="listitem">
<p class="first-para">‘Putting in planning applications, lodging appeals and acting for us in planning inquiries–these are areas where we need expert advice.’</p>
</li>
<li class="listitem">
<p class="first-para">‘We needed to obtain an environmental resource consent at an early stage in a development project. We were not sure what information we would have to provide, but our environmental <span class="b24-hit">consultants</span> had been through the process many times before and they helped us submit a successful application.’</p>
</li>
<li class="listitem">
<p class="first-para">‘We were impressed by the range of market research data the <span class="b24-hit">consultants</span> had available. We would otherwise not have had access to that information.’</p>
</li>
</ul>
</div>
<div class="section">
<h3 class="sect3-title"><a name="14"></a><a name="ch01lev2sec232A2ECC2-1789-45CA-B374-E3F9A90A3D56"></a>Independent viewpoint</h3>
<ul class="square-list" type="square">
<li class="first-listitem">
<p class="first-para">‘Sometimes we&#8217;re too close to a problem to see it in its true perspective, and we miss points that are obvious to everyone else. <a name="15"></a><a name="page432A2ECC2-1789-45CA-B374-E3F9A90A3D56"></a><span class="b24-hit">Consultants</span> can help us think situations through and challenge the way we go about things. Looking in from outside, they can identify what we need to do to improve our <span class="b24-hit">business</span> performance and service delivery.’</p>
</li>
<li class="listitem">
<p class="first-para">‘They can take a more objective and impartial view of a situation than we can. They don&#8217;t bring with them any baggage of management self-interest.’</p>
</li>
<li class="listitem">
<p class="first-para">‘Our relocation plans at times involve contentious issues and feelings run high. By using <span class="b24-hit">consultants</span> we can obtain a neutral and dispassionate analysis of the options.’</p>
</li>
<li class="listitem">
<p class="first-para">‘There is a valuable role that <span class="b24-hit">consultants</span> can play in acting as a bridge between different and perhaps conflicting interests, a line of communication that doesn&#8217;t wear the label of one side or the other. People will speak more openly to them than they would to us.’</p>
</li>
<li class="listitem">
<p class="first-para">‘Investors are unlikely to fund a project unless it has had its feasibility checked independently. So a <span class="b24-hit">consultant</span>&#8216;s judgement that a project can deliver an adequate return is an essential form of technical collateral.’</p>
</li>
<li class="listitem">
<p class="first-para">‘Apart from due diligence concerns, our work on pension and investment schemes has to involve independent advisers: it&#8217;s a legal requirement.’</p>
</li>
</ul>
</div>
<div class="section">
<h3 class="sect3-title"><a name="16"></a><a name="ch01lev2sec332A2ECC2-1789-45CA-B374-E3F9A90A3D56"></a>Resources</h3>
<ul class="square-list" type="square">
<li class="first-listitem">
<p class="first-para">‘Because of recent cuts, the pressures on our remaining staff have become particularly intense. We are so fully stretched on day-today work, we really cannot respond to sudden demands or unexpected problems. That is where <span class="b24-hit">consultants</span> come in: they keep our workload afloat.’</p>
</li>
<li class="listitem">
<p class="first-para">‘They free up our management to focus on strategic questions.’</p>
</li>
<li class="listitem">
<p class="first-para">‘We have sometimes brought in <span class="b24-hit">consultants</span> to fill management positions when things are too urgent to go through a recruitment process.’</p>
</li>
<li class="listitem">
<p class="first-para">‘It is management policy: if an activity is not thought central to our operations it has to be outsourced.’<a name="17"></a><a name="page532A2ECC2-1789-45CA-B374-E3F9A90A3D56"></a></p>
</li>
<li class="listitem">
<p class="first-para">‘I&#8217;m responsible for so much, I am just not able to focus full time on a single project at the cost of everything else. It makes better sense to call in <span class="b24-hit">consultants</span> who can give it proper attention.’</p>
</li>
<li class="listitem">
<p class="first-para">‘It is more cost-effective to use a <span class="b24-hit">consultant</span> for work that is short-term, specialized and occasional than to keep an expert on the payroll.’</p>
</li>
<li class="listitem">
<p class="first-para">‘We save money by using <span class="b24-hit">consultants</span>. They will generally work for less, especially if their contract offers continuity, and we&#8217;re not saddled with the benefit costs of employees.’</p>
</li>
</ul>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://terranconsultancy.co.uk/?feed=rss2&amp;p=16</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Requirements Gathering</title>
		<link>http://terranconsultancy.co.uk/?p=13</link>
		<comments>http://terranconsultancy.co.uk/?p=13#comments</comments>
		<pubDate>Thu, 31 Jul 2008 11:08:08 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Requirements Gathering]]></category>

		<guid isPermaLink="false">http://terranconsultancy.co.uk/?p=13</guid>
		<description><![CDATA["So is that a requirement?"

A couple years later, I realized that I misunderstood the question.  I didn't have enough project management background to know the particular way that he was using the word "requirement".  For me at the time, the word "requirement" had connotations of absolute necessity.  So when Steve asked the question, here is what I heard:

"So is this feature something that absolutely must be in the next release of the product?"]]></description>
			<content:encoded><![CDATA[<p style="margin: auto 0cm;">(Taken from <a title="http://www.ericsink.com/articles/Requirements.html" href="http://www.ericsink.com/articles/Requirements.html">http://www.ericsink.com/articles/Requirements.html</a>)</p>
<p style="margin: auto 0cm;">Maybe it was that southern drawl.</p>
<p>Or maybe it was because I got mad.</p>
<p>I&#8217;m not sure why I still remember this moment so clearly, but I do.  It happened when I was at Spyglass, over ten years ago.  Several of us developers were in a meeting with Steve Stone, then recently-hired as director of the Champaign office.  We were talking about a possible new feature.  Steve, in his Alabama accent, asked,</p>
<p style="margin-left: 36pt;">&#8220;So is that a requirement?&#8221;</p>
<p>A couple years later, I realized that I misunderstood the question.  I didn&#8217;t have enough project management background to know the particular way that he was using the word &#8220;requirement&#8221;.  For me at the time, the word &#8220;requirement&#8221; had connotations of absolute necessity.  So when Steve asked the question, here is what I heard:</p>
<p style="margin-left: 36pt;">&#8220;So is this feature something that absolutely must be in the next release of the product?&#8221;</p>
<p>On top of that, I&#8217;ll confess I was sort of generally crabby at that point in my life, especially with respect to Steve Stone.  Instead of promoting me or one of the other lead developers to run the Champaign office, Spyglass had hired Steve from the outside.  In fact, Spyglass asked me to interview Steve, but only after the interview did they tell me I had actually been interviewing my new boss.</p>
<p>Anyway, I was in a generally foul mood when I misunderstood this question.  I suppose that&#8217;s why I answered Steve by saying something like this:</p>
<p style="margin-left: 36pt;">&#8220;How the @%$* should I know if this feature has to be in the product or not?  You&#8217;re new here, so let me explain how things go.  Management moved the headquarters to Chicago after years of promising that they never would.  Here in Champaign, nobody tells us anything.  We&#8217;ve got no marketing people except the team who spent 3 months deciding which Pantone color is the right shade of red for our company logo, which nobody ever sees because our product is an OEM component.  The only way we ever know that a feature absolutely must be in the product is when one of our Sales Guys calls up and tells us that he already promised it.&#8221;</p>
<p>Steve was a very patient man.  I assume anybody who lived in Alabama would have to be.  <img src='http://terranconsultancy.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   He just smiled as he listened to my rant (footnote 1).</p>
<p>But my career with Spyglass didn&#8217;t last too much longer after that.  A few months later, in a moment when I was ready to throw another tantrum, I decided to just quit instead.</p>
<p>And I went out on my own and founded SourceGear.  We started out doing contracting projects.  One of our first clients asked me for a Software Requirements Specification (SRS) and a Traceability Matrix.  That wasn&#8217;t a very good day.</p>
<p>But not long after that, I learned what the word &#8220;requirement&#8221; means when used in the context of software project management.</p>
<p>And I learned what Steve Stone had really meant when he asked that infuriating question.  When Steve said:</p>
<p style="text-indent: 36pt;">&#8220;So is that a requirement?&#8221;</p>
<p>What he was really asking was:</p>
<p style="margin-left: 36pt;">&#8220;So it sounds like we just identified something that should become part of our spec.  You guys have a spec around here somewhere, right?  Who is responsible for updating that spec to capture this new item?&#8221;</p>
<h3 style="margin: auto 0cm;">What is a Requirement?</h3>
<p>I define a requirement as &#8220;one piece of a spec&#8221;.  Is that definition complete and immune to attack?  No, but I think it&#8217;s the simplest definition that works.</p>
<p>Of course, it relies on the definition of a &#8220;spec&#8221;, so let&#8217;s go there.</p>
<h3 style="margin: auto 0cm;">What is a Spec?</h3>
<p>A spec is short for &#8220;specification&#8221;.  A spec is something that describes what a piece of software should do.</p>
<p>For the moment I am being deliberately broad and inclusive.  If you are experienced in software project management, you probably have something very specific in mind when think of the words &#8220;spec&#8221; or &#8220;requirement&#8221;.  In fact, it is possible that you are not willing to acknowledge that something is a spec unless it matches up fairly well with your image of same.  That&#8217;s okay.  Just stay with me.</p>
<p>For now, I&#8217;m saying that anything that is a &#8220;description of what a piece of software should do&#8221; can be considered a spec.  This may include:</p>
<ul type="disc">
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l3 level1 lfo1; tab-stops: list 36.0pt;">A document</li>
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l3 level1 lfo1; tab-stops: list 36.0pt;">A bunch of 3&#215;5 note cards</li>
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l3 level1 lfo1; tab-stops: list 36.0pt;">A spreadsheet containing a list of features</li>
</ul>
<p>I am currently involved in a project where my role is &#8220;The Walking Spec&#8221;.  In other words, I am the person who mostly knows everything about how this piece of software should mostly behave.  When people need a spec, they ask me a question (footnote 2).  I&#8217;m not saying that I am a good spec, but I don&#8217;t think I&#8217;m the worst spec I have ever seen, and I am certainly better that no spec at all.  <img src='http://terranconsultancy.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Seriously, a spec needs to be in a form which is accessible to more than one person.  It needs to be written down, either in a computer or on paper.</p>
<p>But how?</p>
<h3 style="margin: auto 0cm;">Document or Database?</h3>
<p>There is a constant tension over the form of a spec.  Should it be a document or a database?</p>
<p>I&#8217;m using the words &#8220;document&#8221; and &#8220;database&#8221; as names for the two extremes which create this tension. </p>
<ul type="disc">
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo2; tab-stops: list 36.0pt;">When a spec is more like a document, it looks like a bunch of paragraphs and prose and pictures. </li>
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo2; tab-stops: list 36.0pt;">When a spec is more like a database, it looks like a bunch of bullets and lists and outlines.</li>
</ul>
<p>When a spec is being written, it wants to be a document.  It&#8217;s easier to describe what a piece of software should do when we can use paragraphs and prose and formatting.</p>
<p>Maybe this is because the primary content of a spec is usually coming from someone other than a developer.  We developers sometimes write apps for ourselves, but that&#8217;s not the common case.  More often, we&#8217;re writing software that somebody else wants.  We don&#8217;t know how the software should behave.  They do.  In order for the software to be born, they need to express to us everything they know about what the software should do.  That expression is a spec.</p>
<p>And in all likelihood, that expression is more naturally going to be like a document and less like a database.  The person will want to tell stories and give examples and rationale.  They may want to include pictures or video to explain.</p>
<p>But right after a spec is written, a document is usually the wrong form.  It started out as a document only because that form was most convenient for the author.  But a document is not the most convenient form for the people who are reading or using the spec, and those people have the author outnumbered.  Most of those readers/users want that spec to be a database instead of a document.</p>
<p>They want the spec to be logically broken up into a bunch of little pieces.  Each piece should be a self-contained statement about one single detail of how the software should behave.</p>
<p>Breaking a spec into little pieces allows us to use that spec more effectively.  We can more easily divide the software construction tasks across a team by assigning different pieces to different people.  We can then print the pieces as a list, put boxes to the left of each one and use it as a checklist to make sure we&#8217;re getting everything done.</p>
<p>So, let&#8217;s return to the original question.  What is a &#8220;requirement&#8221;?</p>
<p>A requirement is a piece of a spec.  When we take a spec and put it into its more useful form by breaking it into bite-sized pieces, each of those pieces is a requirement.</p>
<h3 style="margin: auto 0cm;">Corollary</h3>
<p>If you are in the habit of ignoring specs, you can ignore requirements in exactly the same way.  They&#8217;re no different.  <img src='http://terranconsultancy.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h3 style="margin: auto 0cm;">Writing Requirements</h3>
<p>&#8220;Dad, where do products come from?&#8221;</p>
<p>&#8220;Well, son, when a company and a market segment really love each other, they&#8230;&#8221;</p>
<p>Every software product starts out as a gleam in the eye of some guy who wants to make money.  He sees a bunch of people who have money.  He pauses to reflect upon how much nicer life would be if that money were moved from their wallets into his own.</p>
<p>So, he pursues a process which involves the following two steps:</p>
<ol type="1">
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l5 level1 lfo3; tab-stops: list 36.0pt;">Find an idea for a product</li>
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l5 level1 lfo3; tab-stops: list 36.0pt;">Build that product</li>
</ol>
<p>Things usually fall apart between steps 1 and 2, mostly because these two steps are done by different people.  The product is not being built by the same person who had the idea and the gleam.  Step 1 is usually somebody in marketing.  Step 2 is a team of developers.</p>
<p>So, in order for the developers to know what product to build and how, we need to describe it to them (via a spec) with lots of details (requirements).</p>
<h3 style="margin: auto 0cm;">Construction and Testing</h3>
<p>With a well-written requirements spec, the development of a software project is easy.</p>
<p>Let&#8217;s assume the project starts out with a spec that is:</p>
<ul type="disc">
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo4; tab-stops: list 36.0pt;">Complete.  The spec describes everything the product needs to do.  Nothing was forgotten.</li>
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo4; tab-stops: list 36.0pt;">Stable.  The spec isn&#8217;t in flux.  It&#8217;s not going to change along the way.</li>
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo4; tab-stops: list 36.0pt;">List-oriented.  The spec is like a database; each item being a self-contained requirement.  All the prose has been appropriately broken up into little pieces.</li>
</ul>
<p>This is the dream scenario for a development manager.  Translate all the requirements into a set of tasks.  Divide up all the tasks between the developers on the team.  How hard can that be?</p>
<p>Similarly, the testing lead has a very straightforward path with this kind of a requirements spec.  For every requirement, create one or more tests that can be used to verify that the software meets that requirement.  Automate as many of those tests as possible.  Every time the developers create a new build, run the tests and report what happened.  Easy, right?</p>
<p>Unfortunately, projects don&#8217;t always work that way.</p>
<p>In fact, projects almost never work that way, because most requirements specs are badly written.</p>
<h3 style="margin: auto 0cm;">Bad Requirements</h3>
<p>A bad requirements spec is considerably more likely than a perfect one.  Certain kinds of problems are common.</p>
<p>For example, let&#8217;s suppose we are building a game which is designed to be played by middle school girls in a library.  The following examples show some typical problems with requirements:</p>
<p style="margin-left: 36pt;">Missing Requirements</p>
<p style="margin-left: 36pt;">Very often, the spec simply isn&#8217;t complete.  Somebody forgot to include an important detail.</p>
<p style="margin-left: 36pt;">For example, since we know the game is supposed to be played in libraries, users will need to turn the sound down or off.  So we need the game to be playable without sound.  If we forget to mention this requirement specifically, there&#8217;s a decent chance the dev team will create a game where sound is important to game play.</p>
<p style="margin-left: 36pt;">Unclear Requirements</p>
<p style="margin-left: 36pt;">Sometimes requirements are ambiguous.  Here&#8217;s an unclear requirement:</p>
<p style="margin-left: 72pt; text-indent: -18pt;">·        The game must be compatible with DirectX.</p>
<p style="margin-left: 36pt;">Which version?  Can we use DirectX 10, thus requiring Windows Vista?  Or should we target DirectX 9 and stay compatible with Windows XP?  It&#8217;s not clear.</p>
<p style="margin-left: 36pt;">Non-prioritized Requirements</p>
<p style="margin-left: 36pt;">A good requirements spec contains priority information to help the dev team make the right tradeoffs.  If some requirements are more important than others, the spec should say so.</p>
<p style="margin-left: 36pt;">Consider these two requirements:</p>
<p style="margin-left: 72pt; text-indent: -18pt;">·        The user must be allowed to save a game in progress and resume it later.</p>
<p style="margin-left: 72pt; text-indent: -18pt;">·        The main character in the game must resemble Dakota Fanning without looking exactly like her.</p>
<p style="margin-left: 36pt;">The schedule is getting tight.  Only one of these two features is going to make it.  Do you want to leave this choice entirely up to the dev team?  Or do you want to make it clear that save/load is a more important feature than making the main character resemble a certain child actress? (footnote 3)</p>
<p style="margin-left: 36pt;">Missing Anti-Requirements</p>
<p style="margin-left: 36pt;">Sometimes the problem is that the development team tries to go above and beyond the call of duty and sneak something in that wasn&#8217;t part of the spec.  This can be a good thing, but it can also be a bad thing.  A good requirements spec will contain &#8220;anti-requirements&#8221;, explicitly spelling out things that should not be done.  For example:</p>
<p style="margin-left: 72pt; text-indent: -18pt;">·        This game must not have a grenade launcher.</p>
<p style="margin-left: 36pt;">Believe me, if you leave too much latitude on a game project like this, we developers will turn it into a first person shooter.  Yes, we can see from the spec that the target customer is a 12 year old girl playing in a library.  But still, our intuition is that all games need a grenade launcher, so you&#8217;re gonna get one if you don&#8217;t explicitly tell us otherwise.</p>
<h3 style="margin: auto 0cm;">Changing Requirements</h3>
<p>If a project gets all the way to completion with bad requirements, the likelihood is that the software will be disappointing.  When this happens, the resulting assignment-of-blame exercise can be fun to watch.  From a safe distance.</p>
<p>More often, during the project somebody notices a problem with the requirements and changes them along the way.</p>
<p style="margin-left: 108pt; text-indent: -90pt;">Marketing:              By the way, I forgot to mention that the application has to be compatible with Windows 95.</p>
<p style="margin-left: 108pt; text-indent: -90pt;">Development:         Windows 95?  You&#8217;re kidding, right?  People stopped using Win95 over a decade ago!</p>
<p style="margin-left: 108pt; text-indent: -90pt;">Marketing:              Oh, and Mac OS 7.6 too.</p>
<p style="margin-left: 108pt; text-indent: -90pt;">Development:         What?  We&#8217;re building this app with .NET 3.0 and we&#8217;re already 40% done!</p>
<p style="margin-left: 108pt; text-indent: -90pt;">Marketing:              You&#8217;re half done?  That&#8217;s great!  Oh, and I forgot to mention we need compatibility with the Atari ST.</p>
<p style="margin-left: 108pt; text-indent: -90pt;">Development:         Why didn&#8217;t you tell us this before we started?</p>
<p style="margin-left: 108pt; text-indent: -90pt;">Marketing:              Sorry.  I forgot.  It&#8217;s no problem to change it now, right?</p>
<p>Changing requirements mid-project can be expensive and painful.</p>
<p>However, it is very rare to have a project where all the requirements are known and properly expressed before development begins.  So, it behooves us to prepare for changes.  If we choose a development process which rigidly requires a perfect spec before construction can begin, we are just setting ourselves up for pain.  We need to be a bit more agile.</p>
<h3 style="margin: auto 0cm;">Agile</h3>
<p>I lament the loss of the word &#8220;agile&#8221;.</p>
<p>A minute ago when I used the word &#8220;agile&#8221;, most readers immediately thought I was talking about <a href="http://en.wikipedia.org/wiki/Agile_software_development">Agile software development</a> practices such as Scrum or Extreme Programming.  That means your reaction was probably polarized toward one of the following two extremes:</p>
<ul type="disc">
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo5; tab-stops: list 36.0pt;">Oh, great!  I&#8217;m five pages into this article and suddenly I find out Eric Sink is one of those Extreme Programming fanatics?  I guess that&#8217;s 15 minutes of my life I&#8217;ll never get back.  Sorry, I don&#8217;t mind visiting once in a while like on Christmas or Easter, but I&#8217;m just not interested in having somebody tell me how to live my life.  And I don&#8217;t want some Agile priest telling me that I&#8217;m not a true believer just because we don&#8217;t do pair programming.</li>
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo5; tab-stops: list 36.0pt;">Oh, great!  Here&#8217;s Eric Sink trying to pretend like he&#8217;s a believer when everybody knows he&#8217;s not.  Actually I guess I should check the Central Membership Roll just to be sure.  Nope, I was right.  He&#8217;s not.  Even if he was, we would have to excommunicate him anyway.  Anybody who reads the drivel on his blog knows darn well that his doctrine is seriously screwed up.</li>
</ul>
<p>I just want to use the word &#8220;agile&#8221; without all those connotations.  My copy of Merriam Webster&#8217;s Tenth Edition says that &#8220;agile&#8221; means &#8220;marked by ready ability to move with quick easy grace&#8221;.  At a high level, that&#8217;s all I&#8217;m trying to say.  Sometimes requirements change.  Be ready.</p>
<p>In more practical terms, I&#8217;ll admit that the body of wisdom literature produced by the Agile movement has some very good stuff in it.  But Agile is no different from any other major religion like Christianity or Buddhism.  You can learn some great principles and practices there, but formally becoming a member is a decision that should not be made lightly.</p>
<p> <img src='http://terranconsultancy.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h3 style="margin: auto 0cm;">Traceability</h3>
<p>I&#8217;ve tried to write this article at a fairly high level, focusing more on principles than practices, staying inclusive of the broad range of viable methods for getting projects done.  However, the truth is that the word &#8220;requirement&#8221; is usually associated with stricter and more formal ways of doing things.</p>
<p>We developers say that we don&#8217;t like formality and strictness, but I think we&#8217;re confused.</p>
<p>We don&#8217;t like being told what to do.  We don&#8217;t like stupid rules that don&#8217;t make sense.  We don&#8217;t like working for some stupid pointy-haired-boss who draws arbitrary boundaries that we&#8217;re not allowed to cross.</p>
<p>But we spend our entire day using a compiler, and compilers are very formal and strict.  In C, if we type primtf instead of printf, the compiler will let us go no further until we stop and fix it.  In C#, if we try to use an uninitialized local variable, our compiler will scold us for stepping outside the boundaries.</p>
<p>Do we go out after work and gripe about our compiler?</p>
<p style="margin-left: 36pt;">&#8220;I am sick and tired of that stupid compiler!  When I do something right it never says a word, but if I do the slightest little thing wrong, it throws a fit.  Why does it have to nitpick about every little mistake I make?&#8221;</p>
<p>Nope.  Actually, we like compilers.  We like the formality and strictness.  We know having a compiler to catch our mistakes is a good thing because it allows us to go faster.  It&#8217;s safe to sit down and crank out a thousand lines of code as fast as we can because we know the compiler will find a lot of the little errors that happen.</p>
<p>Wouldn&#8217;t it be great if every phase of the software development process had a compiler?</p>
<ul type="disc">
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l6 level1 lfo6; tab-stops: list 36.0pt;">I want a piece of software that tells me if I forget to implement one of the requirements.</li>
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l6 level1 lfo6; tab-stops: list 36.0pt;">When my requirements conflict with each other, my &#8220;spec compiler&#8221; should output an error.</li>
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l6 level1 lfo6; tab-stops: list 36.0pt;">When one of my requirements isn&#8217;t being verified by anything in the test suite, some piece of software should tell me.</li>
</ul>
<p>The compiler I want doesn&#8217;t exist today, but there are things we can do to approximate that style of work.  For example, <a href="http://www.ericsink.com/articles/Code_Coverage.html">code coverage</a> can be used to help verify that things are getting tested.  Automated testing can help catch bugs that slip in.</p>
<p>The concept which may eventually get us the compiler I want is called &#8220;traceability&#8221;.  The idea is that everything should be traceable back to something else.</p>
<ul type="disc">
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l4 level1 lfo7; tab-stops: list 36.0pt;">Every piece of code in the project should exist because it helps meet one or more requirements.  Traceability should allow us to ask, &#8220;Which requirement motivates this piece of code?&#8221;  If the answer is &#8220;none&#8221;, then that piece of code should be excised.</li>
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l4 level1 lfo7; tab-stops: list 36.0pt;">Every requirement needs to be tested.  Traceability should allow us to ask, &#8220;Which tests verify that this requirement is being met?&#8221;  If the answer is &#8220;none&#8221;, then we need to write some more tests.</li>
</ul>
<p>Lacking my super-duper application lifecycle compiler that verifies that everything is traceable, we can keep track of some of this stuff using a <a href="http://en.wikipedia.org/wiki/Traceability_matrix">traceability matrix</a>.</p>
<p>When it functions more like a compiler than a pointy-haired-boss, a little extra formality and strictness can be very helpful.</p>
<h3 style="margin: auto 0cm;">Requirements Management Software</h3>
<p>Naturally, we want to use software to manage our requirements.  Many folks do this with a general-purpose tool like a word processor or a spreadsheet.  That works fine.</p>
<p>Some people track requirements in a bug-tracking system.  This can work, but it&#8217;s not a perfect solution.  Requirements and bugs are different.  For example, requirements don&#8217;t change status from Open to Closed to Verified.</p>
<p>Another approach is to use something which is specifically designed to track requirements.  Application Lifecycle Management (ALM) software often contains features for managing and tracking requirements.  The ALM solutions from companies like IBM Rational, Serena and Borland are examples, but it should be noted that these solutions are very expensive and designed for large enterprise environments.</p>
<p>My own company will soon be releasing an ALM solution which is designed specifically for smaller teams.  We call it SourceGear Fortress.  However, the 1.0 release will not have any features specifically designed for tracking requirements.  We do intend to include this and other features in the future as we evolve Fortress into a mature and complete ALM solution.</p>
<p>Microsoft made a similar choice with Visual Studio Team System.  However, since their product is enterprise-focused, it has been criticized for not having any requirements features in the first release (footnote 4).  I suspect that this is a hole they plan to plug at some point in the future.</p>
<h3 style="margin: auto 0cm;">Additional Reading</h3>
<p>This short article barely scratches the surface of a very complex topic.  For additional information, I recommend the book <a href="http://www.amazon.com/exec/obidos/ASIN/0735618798/sawdust08-20">Software Requirements</a> by Karl E. Wiegers.</p>
<h3 style="margin: auto 0cm;">Footnotes</h3>
<p style="margin-left: 36pt; text-indent: -36pt;"><span style="font-size: 10pt;">(1)           I have no hard feelings toward my old boss at Spyglass.  I lost touch with Steve Stone, but I understand he later left the company and joined Microsoft.  A little searching with Google reveals that he is currently the CEO of a startup company called <a href="http://infoflows.com/">InfoFlows</a>.  Steve, if you are reading this article, best regards.</span></p>
<p style="margin-left: 36pt; text-indent: -36pt;">(2)           Rest assured that this project is not one of SourceGear&#8217;s products.  It&#8217;s a revision to one of our internal systems.</p>
<p style="margin-left: 36pt; text-indent: -36pt;">(3)           Hypothetically, the reason this save feature might be so important is to ensure that when the hypothetical father of the hypothetical middle school girl arrives at the hypothetical library to pick her up, she can save her game and go promptly so her Dad doesn&#8217;t have to wait.  Hypothetically.</p>
<p style="margin-left: 36pt; text-indent: -36pt;"> (4)          Third-party products are available to add requirements management features to VSTS.</p>
]]></content:encoded>
			<wfw:commentRss>http://terranconsultancy.co.uk/?feed=rss2&amp;p=13</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BOLO (Be On LookOut) List for Analyzing Process Mapping</title>
		<link>http://terranconsultancy.co.uk/?p=10</link>
		<comments>http://terranconsultancy.co.uk/?p=10#comments</comments>
		<pubDate>Thu, 31 Jul 2008 11:03:15 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Business Process Management (BPM)]]></category>
		<category><![CDATA[Process Analysis]]></category>
		<category><![CDATA[Process Mapping]]></category>

		<guid isPermaLink="false">http://terranconsultancy.co.uk/?p=10</guid>
		<description><![CDATA[Process mapping is a technique for making work visible. A process map shows who is doing what, with whom, when and for how long. It also shows decisions that are made, the sequence of events and any wait times or delays inherent in the process.]]></description>
			<content:encoded><![CDATA[<p style="margin: auto 0cm;">Process mapping is a technique for making work visible. A process map shows who is doing what, with whom, when and for how long. It also shows decisions that are made, the sequence of events and any wait times or delays inherent in the process.</p>
<p>Process maps are good for streamlining work activities and telling new people, as well as internal and external customers, &#8220;what we do around here.&#8221; They also can help in the effort to reduce cycle time, avoid rework, eliminate some inspections or quality control steps, and prevent errors.</p>
<p>Once a process map is completed, the team that put it together will analyze it. There has probably never been a process map developed where someone has not said, &#8220;Do we still do that?&#8221; or &#8220;Why does X happen there?&#8221; or &#8220;Why are we doing it that way?&#8221; or &#8220;I did not realize&#8230;.&#8221;</p>
<p>The analysis is no more than considering the process activities and flow by:</p>
<p>A. Looking at each process step for:</p>
<ul type="disc">
<li class="MsoNormal" style="margin: 0cm 0cm 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt;">Bottlenecks</li>
<li class="MsoNormal" style="margin: 0cm 0cm 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt;">Sources of delay</li>
<li class="MsoNormal" style="margin: 0cm 0cm 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt;">Errors being fixed instead of prevented (rework)</li>
<li class="MsoNormal" style="margin: 0cm 0cm 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt;">Role ambiguity (we didn&#8217;t know who&#8230;)</li>
<li class="MsoNormal" style="margin: 0cm 0cm 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt;">Duplications</li>
<li class="MsoNormal" style="margin: 0cm 0cm 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt;">Unnecessary steps</li>
<li class="MsoNormal" style="margin: 0cm 0cm 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt;">Cycle time</li>
</ul>
<p>B: Looking at each decision for:</p>
<ul type="disc">
<li class="MsoNormal" style="margin: 0cm 0cm 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l3 level1 lfo2; tab-stops: list 36.0pt;">Authority ambiguity (two or more people get to decide&#8230;)</li>
<li class="MsoNormal" style="margin: 0cm 0cm 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l3 level1 lfo2; tab-stops: list 36.0pt;">Are the decisions needed at this point?</li>
</ul>
<p>C: Looking at each rework loop for:</p>
<ul type="disc">
<li class="MsoNormal" style="margin: 0cm 0cm 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt;">Possibly eliminating the step(s) or doing in less time, or trying to prevent</li>
</ul>
<p>D: Using the customer&#8217;s point of view</p>
<ul type="disc">
<li class="MsoNormal" style="margin: 0cm 0cm 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo4; tab-stops: list 36.0pt;">Value-added vs. non-value-added steps (from the customer&#8217;s point of view)</li>
</ul>
<p>Below is a chart which provides a checklist of things to Be On the LookOut for when mapping and analyzing any process. Items on the list are, of course, called BOLOs, for short.<span style="font-size: x-small; font-family: Arial;"> </span></p>
<div>
<table class="MsoNormalTable" style="background: #001894; mso-cellspacing: 0cm;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr style="mso-yfti-irow: 0; mso-yfti-lastrow: yes;">
<td style="background-color: transparent; border: #e0dfe3; padding: 0.75pt;">
<div>
<table class="MsoNormalTable" style="mso-cellspacing: 0cm; mso-padding-alt: 0cm 0cm 0cm 0cm;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr style="mso-yfti-irow: 0; mso-yfti-lastrow: yes;">
<td style="background-color: transparent; border: #ffffff; padding: 0cm;" valign="top">
<div>
<table class="MsoNormalTable" style="background: #001894; mso-cellspacing: 0cm; mso-padding-alt: 0cm 0cm 0cm 0cm;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr style="mso-yfti-irow: 0;">
<td style="background-color: transparent; border: #ffffff; padding: 0cm;" colspan="2">
<table class="MsoNormalTable" style="mso-cellspacing: 0cm; mso-padding-alt: 1.5pt 1.5pt 1.5pt 1.5pt;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr style="mso-yfti-irow: 0; mso-yfti-lastrow: yes;">
<td style="background-color: transparent; border: #ffffff; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: white; font-family: Arial;"> </span><span style="font-size: small;"><strong><span style="color: white; font-family: Arial;">BOLO List in Process Mapping</span></strong><span style="font-size: 10pt; color: black; font-family: Arial;"></span></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;"></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;">
<td style="background: white; border: #ffffff; padding: 0cm;">
<div>
<table class="MsoNormalTable" style="width: 100%; mso-cellspacing: 1.5pt; mso-padding-alt: 1.5pt 1.5pt 1.5pt 1.5pt;" border="1" cellpadding="0" width="100%">
<tbody>
<tr style="mso-yfti-irow: 0;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">1.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Assumptions </span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Challenge all assumptions: It&#8217;s easy to forget that a process step was based on one or more assumptions and not fact.</span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 1;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">2.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Changes</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Idiosyncratic change (or) changes made to be creative or for some other reason that are NOT linked to the business plan or a business need. </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 2;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">3.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Duplication </span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Duplicate data entry. </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 3;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">4.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Duplication </span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Duplicate work steps in another group. </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 4;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">5.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Flexibility</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Can the process respond to changes in customer/technology requirements? Is it flexible? </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 5;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">6.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Forgot how, or too complex</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Mistakes because of a complex-clerical procedure or mistakes because people forgot what to do: Consider job aids: list, checksheet, flowchart, picture, etc. </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 6;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">7.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Intermediaries</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">When you hear words like &#8220;coordinate,&#8221; &#8220;pass it by me first,&#8221; &#8220;expedite&#8221; and &#8220;liaison,&#8221; question whether the intermediary step is value added. </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 7;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">8.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Lack of consequences </span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Standards not followed and there is no consequence or negative feedback. </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 8;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">9.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Old ways</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Tools/software available that is not used because people have not taken time to get trained or do not want to. </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 9;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;"> 10.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Old ways with new tools </span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Lots of steps in software that are just replicating the old by-hand process. </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 10;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;"> 11.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Paper records</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Is the process adding, maintaining or eliminating paper records? </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 11;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;"> 12.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Quality control</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">QC of work when the &#8220;supplier&#8221; could have checked and sent 100% ok input to you. </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 12;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;"> 13.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Quality control</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">QC is when someone else checks work not when someone checks their own work. </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 13;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;"> 14.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Quality control</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">When talking about QC consider Poka Yoke – Can the work be mistake proofed to make it impossible for the defect to be passed on? </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 14;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;"> 15.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Quality control</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Is the QC really needed? Prevention instead of detection is the desired process. </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 15;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;"> 16.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Repetition</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Can repetitive work be automated? </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 16;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;"> 17.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Resistance</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Do professionals want to make changes rather than &#8220;stick with the standard&#8221; or do what they want, saying there is no standard since they did not agree to it. </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 17;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;"> 18.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Resistance </span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Someone continually saying this won&#8217;t work, can&#8217;t make any changes. Focus on objective and say that changes to improve the process is why we are here. </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 18;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;"> 19.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Scalability</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Is the process limited to the current workload? Is it scalable to handle a larger volume of work? </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 19;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;"> 20.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Specifications/every time like first </span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Developing specifications each time something is done instead of the first time as a standard or template. </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 20; mso-yfti-lastrow: yes;">
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;"> 21.</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Supplier input</span></p>
</td>
<td style="background-color: transparent; border: #e0dfe3; padding: 1.5pt;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;">Input supplier sends inaccurate/incorrect input. Ask if they know what to do. </span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center;" align="center"><span style="font-size: 10pt; color: black; font-family: Arial;"></span></p>
</td>
<td style="background: white; border: #ffffff; padding: 0cm;">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;"><span style="font-family: Times New Roman;"> </span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center;" align="center"><span style="font-size: 10pt; color: black; font-family: Arial;"></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center;" align="center"><span style="font-size: 10pt; color: black; font-family: Arial;"></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<h3 style="margin: 0cm 0cm 10.5pt;"><a name="author"></a><span style="font-family: Arial;"><span style="font-size: small; color: #001894;"> </span></span></h3>
<h3 style="margin: 0cm 0cm 10.5pt;">About the Author</h3>
<p>Michael Lee Smith is a director of process improvement at ETS in New Jersey. In his current position he is part of a team implementing Six Sigma. He instructs, provides support and manages projects. He is a certified Six Sigma Black Belt and is working toward Master Black Belt certification. Mr. Smith has more than 35 years experience in human resources and process improvement in the telecommunications, engineering and business services industries. He has a bachelor&#8217;s degree in psychology and an MBA in human resources management. He can be reached at <a href="mailto:ms@mikesmith-hr.com">ms@mikesmith-hr.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://terranconsultancy.co.uk/?feed=rss2&amp;p=10</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>First Things First: Prioritizing Requirements</title>
		<link>http://terranconsultancy.co.uk/?p=3</link>
		<comments>http://terranconsultancy.co.uk/?p=3#comments</comments>
		<pubDate>Thu, 31 Jul 2008 10:48:41 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Requirements Gathering]]></category>

		<guid isPermaLink="false">http://terranconsultancy.co.uk/?p=3</guid>
		<description><![CDATA[Customers are never thrilled to find out they can’t get all the features they want in release 1.0 of a new software product (at least, not if they want the features to work). However, if the development team cannot deliver every requirement by the scheduled initial delivery date, the project stakeholders must agree on which subset to implement first. Any project with resource limitations has to establish the relative priorities of the requested features, use cases, or functional requirements. Prioritization helps the project manager resolve conflicts, plan for staged deliveries, and make the necessary trade-off decisions.]]></description>
			<content:encoded><![CDATA[<p>Written by Karl E. Wiegers</p>
<p style="margin: 0cm 0cm 0pt;">Taken from www.processimpact.com</p>
<p>Customers are never thrilled to find out they can’t get all the features they want in release 1.0 of a new software product (at least, not if they want the features to work). However, if the development team cannot deliver every requirement by the scheduled initial delivery date, the project stakeholders must agree on which subset to implement first. Any project with resource limitations has to establish the relative priorities of the requested features, use cases, or functional requirements. Prioritization helps the project manager resolve conflicts, plan for staged deliveries, and make the necessary trade-off decisions.</p>
<h3>Why Prioritize Requirements?</h3>
<p>One characteristic of excellent requirements is that they are explicitly prioritized. When customer expectations are high, timelines are short, and resources are limited, you want to make sure the product contains the most essential functions. Establishing each chunk of functionality’s relative importance lets you sequence construction to provide the greatest product value at the lowest cost. Customers and developers must collaborate on requirements prioritization. Developers do not always know which requirements are most important to the customers, and customers cannot judge the cost and technical difficulty associated with specific requirements.</p>
<p>A project manager has to balance the project scope against the constraints of schedule, budget, staff resources, and quality goals. One balancing strategy is to drop or defer low priority requirements to a later release when you accept new, higher priority requirements or other project conditions change. If customers don’t differentiate their requirements by importance and urgency, the project manager must make these trade-off decisions. Because customers may not agree with the project manager’s decisions, they must indicate which requirements are critical and which can wait. Establish priorities early in the project, while you have more options available for achieving a successful project outcome.</p>
<p>It’s difficult enough to get one customer to decide which of his or her requirements are most important; gaining agreement among multiple customers with diverse expectations is even more challenging. People naturally have their own interests at heart and they aren’t always willing to compromise their needs for someone else’s benefit. However, making such priority decisions is one of the customer’s responsibilities in the customer-developer partnership.</p>
<p>Customers prioritize requirements initially from the perspective of how valuable each one is to them. Once a developer points out the cost, technical risk, or other trade-offs associated with a specific requirement, though, the customers might decide it isn’t as essential as they thought. The developers might also determine that certain lower priority functions should be implemented early on because of their impact on the product architecture. When setting priorities, you need to balance the business benefit that each function provides against its cost and any implications it has for the product’s architectural foundation future evolution.</p>
<h3>Games People Play with Priorities</h3>
<p>The knee-jerk response to a request for customers to set priorities is, &#8220;I need all of these features. Just make it happen somehow.&#8221; This doesn’t help. It can be difficult to persuade customers to set priorities if they know that you may never be implement low priority requirements. A developer once told me that priorities are unnecessary, because if we wrote something in the software requirements specification (SRS), we intend to build it. However, that doesn’t consider the issue of when you should implement each function. Developers may not wish to bother with priorities, because that conflicts with the &#8220;we can do it all&#8221; attitude they want to convey to their customers and managers.</p>
<p>The reality is that some features are more essential than others. This becomes apparent during the all-too-common &#8220;rapid descoping phase&#8221; late in the project, when lower priority features are jettisoned to ensure the product is shipped on schedule. Setting priorities early in the project helps you make those trade-off decisions along the way, rather than in emergency mode at the end. Getting a feature half-developed before you determine that it’s low priority is wasteful and frustrating.</p>
<p>If left to their own devices, customers will set perhaps 85% of the requirements at high priority, 10% at medium, and 5% at low priority. This doesn’t give the project manager much to work with. Steve McConnell identified requirements scrubbing—eliminating those that are not essential and simplifying any that are unnecessarily complicated—as a best practice for rapid software development (see Rapid Development, Microsoft Press. 1996).</p>
<p>On one project I know of, the management steering team became impatient when the analyst insisted on prioritizing the requirements. The managers pointed out that they could often do without one feature, but another feature may need to be beefed up to make up for the omitted requirements. They reasoned that if they deferred too many requirements, the resulting system wouldn’t achieve the revenue that the business plan promised. When you evaluate priorities, look at the connections and interrelationships among different requirements and their alignment with the business requirements.</p>
<h3>Prioritization Scales</h3>
<p>A common approach to prioritization is to group requirements into three priority categories. Table 1 shows two typical three-level scales. All such scales are subjective and imprecise, so everyone involved must agree on the meaning of each level in the scale they use. Priority is a key attribute of each requirement that should be included in the SRS or requirements database. Establish a convention for your SRS so the reader knows whether the priority assigned to a higher-level requirement is inherited by all of its subordinate or derived requirements, or whether every individual requirement should have its own priority attribute.</p>
<p>Another issue is the granularity at which you prioritize requirements. Even a medium-sized project can have hundreds or thousands of detailed functional requirements, too many to classify analytically and consistently. You need to choose an appropriate level of abstraction for the prioritization. This could be at the use case level, the feature level, or the detailed functional requirement level, whichever makes logical sense for your situation.</p>
<h3>Table 1.</h3>
<h3>Two requirements prioritization scales.</h3>
<div>
<table class="MsoNormalTable" style="width: 452px; height: 332px; mso-cellspacing: .7pt; mso-padding-alt: 5.25pt 5.25pt 5.25pt 5.25pt;" border="1" cellspacing="1" cellpadding="0" width="452">
<tbody>
<tr style="mso-yfti-irow: 0;">
<td style="width: 20%; background-color: transparent; border: #e0dfe3; padding: 5.25pt;" width="20%" valign="top">Names</td>
<td style="width: 80%; background-color: transparent; border: #e0dfe3; padding: 5.25pt;" width="80%" valign="top">Meanings</td>
</tr>
<tr style="mso-yfti-irow: 1;">
<td style="width: 20%; background-color: transparent; border: #e0dfe3; padding: 5.25pt;" width="20%" valign="top">HighMediumLow</td>
<td style="width: 80%; background-color: transparent; border: #e0dfe3; padding: 5.25pt;" width="80%" valign="top">a mission critical requirement; required for next releasesupports necessary system operations; required eventually but could wait until a later release if necessarya functional or quality enhancement; would be nice to have someday if resources permit</td>
</tr>
<tr style="mso-yfti-irow: 2; mso-yfti-lastrow: yes;">
<td style="width: 20%; background-color: transparent; border: #e0dfe3; padding: 5.25pt;" width="20%" valign="top">EssentialConditionalOptional</td>
<td style="width: 80%; background-color: transparent; border: #e0dfe3; padding: 5.25pt;" width="80%" valign="top">the product is not acceptable unless these requirements are satisfiedwould enhance the product, but the product is not unacceptable if absentfunctions that may or may not be worthwhile</td>
</tr>
</tbody>
</table>
</div>
<p>Keep the prioritization as simple as possible to help you make the necessary development choices. You may decide to do an initial prioritization at the feature level and then prioritize the functional requirements within a specific high-priority feature separately. This will help you distinguish the core functionality that must be present for that feature to work at all from refinements you could add in a later release. Include even the low-priority requirements in the SRS. Their priority may change over time and knowing about them now will help you plan ahead for future enhancements.</p>
<h3>Prioritization Based on Value, Cost, and Risk</h3>
<p>On a small project, the stakeholders can probably agree on requirement priorities informally. Larger or more contentious projects need a more structured approach, which removes some of the emotion, politics, and guesswork from prioritization.</p>
<p>Industry analysts have proposed several techniques that involve estimating the relative value and relative cost of each requirement, such that the highest priority requirements provide the largest fraction of the total product value at the smallest fraction of the total cost. In essence, you’re trying to identify those requirements that will maximize the product value within the existing cost constraints. Subjectively estimating the cost and value by pair-wise comparisons of all the requirements is impractical for anything more than a couple dozen requirements.</p>
<p>Another alternative, Quality Function Deployment (QFD), provides a robust and comprehensive method for relating customer value to the proposed product features. A third approach, based on Total Quality Management (TQM), rates each requirement against several specific, weighted project success criteria and computes a score to rank the priority of the requirements. However, in my experience few software organizations are willing to undertake the rigor of QFD or TQM.</p>
<p>In this article I describe a semi-quantitative analytical approach to requirements prioritization. As an example, we’ll consider a product called the Chemical Tracking System. The Chemical Tracking System will let research scientists request containers of chemicals to be supplied by the company’s chemical stockroom or by commercial chemical vendors. The system will store the location of every chemical container within the company, the quantity of material remaining in it, and the complete history of each container’s locations and usage. The Chemical Tracking System must also comply with federal and state government regulations that require quarterly chemical usage, storage, and disposal reports.</p>
<p>Table 2 illustrates a simple spreadsheet model to help you estimate the relative priorities for a set of product features such as those from the Chemical Tracking System. You can download this Excel spreadsheet from www.processimpact.com/goodies.shtml. This approach distributes a set of estimated priorities across a continuum, rather than grouping them into just a few priority levels. You can apply this model just as well to prioritize use cases or individual functional requirements. This prioritization scheme borrows from the QFD concept of customer value depending on both the customer benefit provided if a specific product feature is present and the penalty paid if that feature is absent. A feature’s attractiveness is directly proportional to the value it provides and inversely proportional to its cost and the technical risk associated with implementing it. All other things being equal, those features that have the highest risk-adjusted value/cost ratio should have the highest priority. Of course, these are not the only factors that affect prioritization, so don’t use this scheme as your only method for setting priorities.</p>
<p>Apply this prioritization scheme only to negotiable features, those that are not in the top priority category. For example, you wouldn’t include items in this priority analysis that implement the core business functions of the product, that you view as key product differentiators, or that are required for compliance with government regulations. You’re going to include those features no matter what. Once you’ve identified those features that absolutely must be included for the product to be shippable, scale the relative priorities of the remaining features using the model.</p>
<p>The typical participants in the prioritization process include:</p>
<ul type="disc">
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;">The project manager, who leads the process, arbitrates conflicts, and adjusts inputs from the other participants if necessary</li>
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;">Key customer representatives, who supply the benefit and penalty ratings</li>
<li style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;">Development representatives, such as team technical leads, who supply the cost and risk ratings.</li>
</ul>
<p>Follow eight steps to use this prioritization model.</p>
<p>Step 1. List all of the requirements, features, or use cases that you wish to prioritize in a spreadsheet; we’ll use features in this example. All of the items must be at the same level of abstraction. For example, don’t mix individual requirements with product features. If certain features are logically linked (that is, you would only implement feature B if feature A were included as well), include only the driving feature in the analysis. This model will work with up to several dozen features before it becomes unwieldy. If you have more items than that, abstract related features together to create a more manageable initial list. You can do a second round of analysis at a finer granularity of requirements detail if you need to.</p>
<p>Step 2. Estimate the relative benefit that each feature provides to the customer or the business on a scale from 1 to 9, with 1 indicating very little benefit and 9 being the maximum possible benefit. These benefits indicate alignment with the product’s business requirements. Your customer representatives are the best people to judge these benefits.</p>
<p>Step 3. Estimate the relative penalty the customer or business would suffer if the feature is not included. Again, use a scale from 1 to 9, where 1 means essentially no penalty and 9 indicates a very serious downside. For example, failing to comply with a government regulation could incur a high penalty even if the customer benefit is low, as would omitting a feature that any reasonable customer would expect, whether or not they explicitly requested it. Requirements that have both a low benefit and a low penalty add cost but little value; they may be instances of gold plating.</p>
<p>Step 4. The Total Value column is the sum of the relative benefit and penalty. By default, benefit and penalty are weighted equally. As a refinement, you can change the weights for these two factors. In Table 2, all benefit ratings are weighted twice as heavily as the penalty ratings. The spreadsheet totals the feature values and calculates the percentage of the total product value provided by these features that is attributable to each feature.</p>
<p>Step 5. Estimate the relative cost of implementing each feature, again on a scale ranging from a low of 1 to a high of 9. The spreadsheet will calculate the percentage of total cost for each feature. Developers estimate the cost ratings based on factors such as the requirement complexity, the extent of user interface work required, the potential ability to reuse existing designs or code, and the levels of testing and documentation needed.</p>
<p>Step 6. Developers estimate the relative degree of technical or other risk associated with each feature on a scale from 1 to 9. An estimate of 1 means you can program it in your sleep, while 9 indicates serious concerns about feasibility, the availability of staff with the needed expertise, or the use of unproven or unfamiliar tools and technologies. The spreadsheet will calculate the percentage of the total risk that comes from each feature.</p>
<p>By default, cost and risk are weighted equally, and each carries the same weight as the benefit and penalty terms. You can adjust the cost and risk weightings in the spreadsheet. In Table 2, risk has one-half the weight of the cost factor, which has the same weight as the penalty term. If you don’t want to consider risk in the model, set the risk weighting value to zero.</p>
<p>Step 7. Once you enter the estimates into the spreadsheet, it calculates a priority number for each feature. The formula for the Priority column is: priority = value %/ (cost % * cost weight + risk % * risk weight).</p>
<p>Step 8. Sort the list of features in descending order by calculated priority. The features at the top of the list have the most favorable balance of value, cost, and risk, and thus should have higher implementation priority. The key customer and developer representatives should review the completed spreadsheet to agree on the ratings and the resulting sequence.</p>
<p>This semi-quantitative method is not mathematically rigorous, and it is limited by your ability to estimate the benefit, penalty, cost, and risk for each item. Therefore, use the calculated priority sequence only as a guideline. It will take you awhile to calibrate your rating scales for a set of requirements, so iterate through the list after rating all the requirements and make any necessary adjustments. Calibrate this model for your own use with a set of completed requirements or features from a previous product. Adjust the weighting factors until the calculate priority sequence agrees with your after-the-fact evaluation of how important the requirements in your test set really were.</p>
<p>This model can also help you make trade-off decisions when you’re evaluating proposed new requirements. Estimate their priority using the model to tell you how they match up against existing requirements, so you can choose an appropriate implementation sequence. Any actions you can take to move requirements prioritization from the political arena into an objective and analytical one will improve the project’s ability to deliver the most important functionality in the most appropriate sequence.</p>
<div style="margin: 0cm 0cm 0pt;">
<hr size="2" /></div>
<p>[This paper was originally published in Software Development, September 1999. It is reprinted (with modifications) with permission from Software Development magazine.]</p>
]]></content:encoded>
			<wfw:commentRss>http://terranconsultancy.co.uk/?feed=rss2&amp;p=3</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
