<?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>Software Configuration Management and Agile Software Development &#187; requirements management</title>
	<atom:link href="http://accurev.com/blog/tag/requirements-management/feed/" rel="self" type="application/rss+xml" />
	<link>http://accurev.com/blog</link>
	<description>SCM and Agile Software Development Blog</description>
	<lastBuildDate>Fri, 03 Feb 2012 19:28:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Agile Governance: Oil and Water?</title>
		<link>http://accurev.com/blog/2008/12/02/agile-governance/</link>
		<comments>http://accurev.com/blog/2008/12/02/agile-governance/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 13:32:34 +0000</pubDate>
		<dc:creator>matthew d. laudato</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[accountability]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[agile and governance]]></category>
		<category><![CDATA[agile benefits]]></category>
		<category><![CDATA[agile governance]]></category>
		<category><![CDATA[agile software development]]></category>
		<category><![CDATA[agile visibility]]></category>
		<category><![CDATA[aligning business and IT]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[requirements management]]></category>
		<category><![CDATA[risk management]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=550</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/12/02/agile-governance/' addthis:title='Agile Governance: Oil and Water? ' ><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47597ad291fb" class="addthis_button_compact">Share</a><span class="addthis_separator">&#124;</span><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a></div>When I first sat down to write about agile governance, my mixed metaphor and oxymoron meter started redlining. As I researched to see how prominent this topic has been, I encountered phrases like &#8220;tail wagging dog&#8221; and &#8220;are you kidding me?&#8221; It seems that the Agile advocates and the governance advocates don&#8217;t see eye to eye, if they even [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/12/02/agile-governance/' addthis:title='Agile Governance: Oil and Water? '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/12/02/agile-governance/' addthis:title='Agile Governance: Oil and Water? ' ><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47597ad291fb" class="addthis_button_compact">Share</a><span class="addthis_separator">|</span><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a></div><p>When I first sat down to write about agile governance, my mixed metaphor and oxymoron meter started redlining. As I researched to see how prominent this topic has been, I encountered phrases like &#8220;tail wagging dog&#8221; and &#8220;are you kidding me?&#8221; It seems that the Agile advocates and the governance advocates don&#8217;t see eye to eye, if they even talk to each other at all. While several authors have addressed this topic (notably Dr. Peter Merrick in a <a title="The difficulties of Agile development" href="http://www.information-age.com/magazine/august-2008/perspective/459456/the-difficulties-of-agile-development.thtml" target="_blank">recent article in Information Age</a>), most of the coverage is theoretical. My goal in this post is to outline some practical approaches to ensure that the requirements of large-project governance can be met by engineering teams that employ <a href="http://www.accurev.com/agile-software-development.html" target="_blank">Agile software development</a> methodologies.</p>
<p>Let&#8217;s start with some working definitions. I define governance as accountability and risk management of IT projects and resources as perceived by non-engineering personnel. Agile can be defined as the set of engineering methodologies that rely on incremental development cycles, flexible long-term planning, and rigid short term-planning. Though many will comment on these definitions, they will serve for our purposes here.</p>
<p>Looking first at governance, it should not surprise anyone that the CFO or CEO of a <a href="http://blog.accurev.com/2008/05/01/the-quest-for-successful-parallel-development/" target="_blank">Fortune 500 company</a> might be interested in exactly how their $100M annual IT budget is being spent and how this spending benefits the company. That&#8217;s their job as representatives of the business interests of the organization. Similarly, the business stakeholders at an independent software vendor, such as account representatives and product managers, need visibility into the activities in engineering in order to communicate to customers, investors and other external stakeholders. Put another way, governance of engineering assets is a requirement for business &#8211; without it, the engineering or IT organization is operating in an opaque fashion without accountability.</p>
<p>On the agile side, it should also not be a surprise that after decades of being blamed for late projects, over budget software releases, and failure to meet customer requirements, engineering organizations are fast embracing agile as a way to manage <a href="http://www.accurev.com/agile-software-development.html" target="_blank">software development </a>projects. Starting with the axiom that requirements are rarely fully specified, agile provides a scheduling and requirements management framework that enables teams to work successfully on under-specified requirements today, and adjust their plans as requirements change tomorrow, next week, or next month. Put another way, agile solves the <a href="http://blog.accurev.com/2008/06/11/agile-requirements-traceability-with-accurev-and-rally/" target="_blank">requirements management problem</a> that every business has &#8211; without this solution, the engineering or IT organization may be transparent (&#8220;See, here&#8217;s our project plan&#8221;), but is likely not satisfying business requirements.</p>
<p><span id="more-550"></span></p>
<p>At this point, I am reminded of the old joke: Do you want to make God laugh? Just tell Him your plans. Businesses need to plan their activities to ensure that resources are accounted for and are working to further business goals. Engineering teams need to work on requirements that don&#8217;t change, so that the work is focused and efficient. The question then becomes, how to reconcile the governance requirements that business stakeholders have with the just-in-time requirements management approach of agile? There are three practical things that organizations can do to ensure that agile benefits not only engineering, but the business as a whole:</p>
<p><strong>1. Agree on high-level requirements.</strong> This is more than just &#8216;software or salsa&#8217;. It means that someone in the organization (a product manager at an ISV, for example) must take ownership for extracting and documenting requirements at the highest level. The great myth around agile is that there is no documentation &#8211; not true. There is no extraneous documentation. Everyone needs to agree that the organization needs to build an X that meets these A,B,C customer requirements. Agile purists who resist the creation of this document should be taken to task, as should product managers and other business stakeholders who want to meddle in engineering implementation details.</p>
<p><strong>2. Plan for change at the business level.</strong> Given high-level requirements, the temptation for business stakeholders is to say &#8220;I&#8217;m done with my part&#8221;. That&#8217;s not agile, nor is it realistic. If your engineering organization is working with 30 day sprints, it&#8217;s the job of the business representatives to actively evaluate not only the requirements in the backlog, but also the output of each sprint, so that the next 30 day sprint is planned in accordance with any new information about the business requirements of the project.</p>
<p><strong>3. Make governance a part of the agile process.</strong> This is the hardest part for engineering organizations to swallow. But the engineering or IT budget isn&#8217;t a gift from Santa &#8211; it is a hard number that your VP of Engineering or CIO owns and is accountable for. So it makes sense to add a step in the process at sprint review time (the post-evaluation that occurs at the end of each sprint) to formally document the project progress in a form that is useful for the rest of the business. Included in this report should be at a minimum what features were completed, what the cost of these features are, what the rollout plan is for these features, and what percent of the known requirements have been satisfied to date. In this way, the internals of the agile method are only minimally exposed to business stakeholders, who may not know nor care what a sprint is, but the results as they affect the business as a whole are transparent.</p>
<p>I&#8217;m sure that readers could come up with a few more practices, or critique my brief set. That&#8217;s great &#8211; what is needed on this topic is cooperation and frank discussion, so that businesses can move forward with more efficient engineering organizations, and with improved ways of communicating engineering activities to a broader business audience. Ultimately, both agile and governance are about making sure the business is working on activities that add value to customers. So it is in the interest of both agile practitioners in engineering, and business stakeholders across the organization to work together to blend agile and governance in a practical way that maintains the efficiencies of agile, and also advances and meets the overall needs of the business.</p>
<p>Interested in more on this topic? Attend a free live webinar with guest speaker, Jeffrey Hammond, senior analyst, Forrester Research on Thursday, December 4 at 1:00 PM EST:  <a href="https://www1.gotomeeting.com/register/346195726?mtcCampaign=6338" target="_blank"><span style="color: #0066cc;">The Business Case for Pragmatic ALM: Agility with Governance</span></a></p>
<p>This Webinar is now available as a recording here: <a href="http://www.accurev.com/webinar/200812-pragmatic-alm" target="_blank">Pragmatic ALM</a></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/12/02/agile-governance/' addthis:title='Agile Governance: Oil and Water? '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2008/12/02/agile-governance/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Adrift in a Sea of Conflicting Priorities and Assignments? Here&#039;s a Life Preserver!</title>
		<link>http://accurev.com/blog/2008/03/28/adrift-in-a-sea-of-conflicting-priorities-and-assignments-heres-a-life-preserver/</link>
		<comments>http://accurev.com/blog/2008/03/28/adrift-in-a-sea-of-conflicting-priorities-and-assignments-heres-a-life-preserver/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 19:00:38 +0000</pubDate>
		<dc:creator>damonpoole</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[defect tracking]]></category>
		<category><![CDATA[issue tracking]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[reduce project management meetings]]></category>
		<category><![CDATA[reduce rework]]></category>
		<category><![CDATA[requirements management]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[SCM reporting]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/?p=146</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/03/28/adrift-in-a-sea-of-conflicting-priorities-and-assignments-heres-a-life-preserver/' addthis:title='Adrift in a Sea of Conflicting Priorities and Assignments? Here&#039;s a Life Preserver! ' ><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47597ad291fb" class="addthis_button_compact">Share</a><span class="addthis_separator">&#124;</span><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a></div>Do you ever feel like things are out of control on your project, that you are adrift in a sea of conflicting priorities and requests? Do you suddenly find out at the last minute that you are the bottleneck and everybody is breathing down your neck asking you what is taking you so long to [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/03/28/adrift-in-a-sea-of-conflicting-priorities-and-assignments-heres-a-life-preserver/' addthis:title='Adrift in a Sea of Conflicting Priorities and Assignments? Here&#039;s a Life Preserver! '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/03/28/adrift-in-a-sea-of-conflicting-priorities-and-assignments-heres-a-life-preserver/' addthis:title='Adrift in a Sea of Conflicting Priorities and Assignments? Here&#039;s a Life Preserver! ' ><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47597ad291fb" class="addthis_button_compact">Share</a><span class="addthis_separator">|</span><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a></div><p>Do you ever feel like things are out of control on your project, that you are adrift in a sea of conflicting priorities and requests? Do you suddenly find out at the last minute that you are the bottleneck and everybody is breathing down your neck asking you what is taking you so long to create the moveStuff() method but you had no idea that anybody even cared about moveStuff() or that you owned it? Do you ever find yourself in the exact opposite position, wondering why Sue and Bob didn’t get their stuff done that you need and then your boss walks by while you are surfing the net waiting for Sue and Bob? And who is Bob anyway?</p>
<p>The solution is simple! All you need to do is get everybody to move to Project. Well, if you have somebody you can spare full-time to keep Project up to date of course. Oh and I almost forgot, you’ll need to start using a requirements tool. But that’s it really, other than integrating them all together over the weekend and of course that’s assuming you’ve already gotten a CRM tool for workflow.</p>
<p>There is a simpler solution. It isn’t perfect, and it doesn’t solve all problems, but it can definitely provide the following benefits:</p>
<ul>
<li>reduce the chaos</li>
<li>increase your vision into where you are and what’s going on</li>
<li>reduce the number of status and/or project management meetings</li>
<li>reduce the need to provide the same information over and over again</li>
<li>simplify collaboration both locally and for distributed teams</li>
<li>provide a more Agile workflow</li>
</ul>
<p>The answer is to reduce the amount of rework that you are already doing. Right now you are probably storing defects in a defect tracking system, enhancements (aka RFEs, requirements, etc) in a requirements management tool (usually Excel or Word but sometimes an actual RM tool), and if you are using a project management tool it is probably MS-Project. All three of these product areas evolved to provide different aspects of project management for different groups of people and as a result they have lots of overlap. Considering how hard it is to coordinate three different systems, why not consider standardizing on one system for most of the work? The only question is, which system?</p>
<p>If we are going to try to do most of our project management work in a single tool, we should first decide what the interesting activities are. I believe they are: recording enhancement requests and defects as they are gathered by marketing or reported by users, load balancing, estimated completion calculation, critical path determination, work assignment, workflow, and reporting.</p>
<p>First let’s consider how well suited Project is for doing most or all of these tasks. Project is good at taking a small static collection of large tasks and doing load balancing, estimated completion, and critical path determination. Thus, it is mostly used for the very narrow task of project management of enhancements.</p>
<p>Next let’s consider requirements management. For whatever reason, most people use Excel or Word as their requirements management tool instead of a “real” requirements management tool. Excel and Word are just not appropriate for project management.</p>
<p>Lastly, there is defect tracking. A defect tracking system covers the assignment, tracking, workflow and reporting of defects. There is usually a higher volume of defects than enhancements, and they are usually smaller in scope and have a more complicated and often more time critical workflow. If it works well for defects, it should work equally well for enhancements.</p>
<p>Based on this analysis, it makes sense to extend the project management that you are already doing with a defect tracking system to include enhancements. A generic name for something that is either a requirement, enhancement, or defect is “work item.” By using work items to track all work, it is easy to see where you are and what remains to be done. Now you can use a similar workflow for enhancements as you do for defects, for instance from newly entered, to triaging, to assignment, to test development, to completion, to test, to integration, to delivery. You can easily run a query to see which work items have their code written but do not yet have any tests. Similarly, you can see which work items are done from a coding perspective and have tests but have not yet been verified as done by QA. This will give you a much more complete view of your overall project status and progress.</p>
<p>Whatever you are currently using for defect tracking it will be straightforward to start getting the benefits of managing defects and enhancements together. Just add a field that indicates if a work item is a defect or an enhancement. You may need to make a few more changes to accommodate a slightly different workflow for enhancements than you have for defects, but I think you&#8217;ll find it is worth the effort. For one example of how this can work, you can take a look at how AccuRev does it using <a target="_blank" href="http://www.accurev.com/accuworkflow.html">AccuWorkflow</a>.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/03/28/adrift-in-a-sea-of-conflicting-priorities-and-assignments-heres-a-life-preserver/' addthis:title='Adrift in a Sea of Conflicting Priorities and Assignments? Here&#039;s a Life Preserver! '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2008/03/28/adrift-in-a-sea-of-conflicting-priorities-and-assignments-heres-a-life-preserver/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

