<?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; process metrics</title>
	<atom:link href="http://accurev.com/blog/tag/process-metrics/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>Why Traceability Matters</title>
		<link>http://accurev.com/blog/2008/07/16/why-traceability-matters/</link>
		<comments>http://accurev.com/blog/2008/07/16/why-traceability-matters/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 14:02:31 +0000</pubDate>
		<dc:creator>matthew d. laudato</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[metrics]]></category>
		<category><![CDATA[process metrics]]></category>
		<category><![CDATA[requirements traceability]]></category>
		<category><![CDATA[SCM traceability]]></category>
		<category><![CDATA[software process management]]></category>
		<category><![CDATA[traceability]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=224</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/07/16/why-traceability-matters/' addthis:title='Why Traceability Matters ' ><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>In a recent blog post on CodeSqueeze (http://www.codesqueeze.com/the-blame-game-how-necessary-is-traceability/) the subject of traceability and its utility in software project management was discussed. This post is a response to the author&#8217;s points on traceability. While I agree with the author on some points (especially that traceability can be used proactively), I believe that traceability has much greater [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/07/16/why-traceability-matters/' addthis:title='Why Traceability Matters '  ><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/07/16/why-traceability-matters/' addthis:title='Why Traceability Matters ' ><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 class="MsoNormal"><span style="font-size:x-small;font-family:Arial"><span style="font-size:10pt;font-family:Arial"><span style="color:#000000">In a recent blog post on CodeSqueeze (</span><a title="http://www.codesqueeze.com/the-blame-game-how-necessary-is-traceability/" href="http://www.codesqueeze.com/the-blame-game-how-necessary-is-traceability/" target="_blank"><span style="color:#000000">http://www.codesqueeze.com/the-blame-game-how-necessary-is-traceability/</span></a><span style="color:#000000">) the subject of traceability and its utility in software project management was discussed. This post is a response to the author&#8217;s points on traceability. While I agree with the author on some points (especially that traceability can be used proactively), I believe that traceability has much greater utility in the development process and in the management of software projects.</span></span></span></p>
<p class="MsoNormal"><span style="font-size:x-small;font-family:Arial"><span style="font-size:10pt;color:#000000;font-family:Arial">Traceability, both at the code and issue levels, provides you with fundamental process metrics. By removing these metrics, you lose objective insight into the state of the project. Using such metrics for a blame game may indeed be a sign of poor project management, but not having the metrics at your disposal is a sign that you are not controlling the process, and that puts your project at risk. I can&#8217;t imagine other engineering disciplines such as chemical engineering even having this conversation &#8211; you measure (almost) everything that can be measured, and then determine which metrics are most useful in improving the process. The best engineers on your team will welcome objective measurements into their code &#8211; like having the fastest time at the racetrack, doing well by a set a metrics that are not easily manipulated is something to be proud of, and something for more junior engineers to aspire to.</span></span></p>
<p class="MsoNormal"><span style="font-size:x-small;font-family:Arial"><span style="font-size:10pt;color:#000000;font-family:Arial">As for feature traceability, some of the comments on the blog point in the right direction - for example, that in regulated industries, such traceability is a requirement. &#8216;We all trust each other&#8217; doesn&#8217;t fly well with the FDA or DOD. But even beyond the regulated industries, traceability and related metrics answer questions that are too basic to leave unanswered:</span></span></p>
<p class="MsoNormal"><span style="font-size:x-small;font-family:Arial"><span style="font-size:10pt;color:#000000;font-family:Arial">- what requirement did this code satisfy?</span></span></p>
<p class="MsoNormal"><span style="font-size:x-small;font-family:Arial"><span style="font-size:10pt;color:#000000;font-family:Arial">- what ancillary issues (bugs, related requirements) is this code associated with?</span></span></p>
<p class="MsoNormal"><span style="font-size:x-small;font-family:Arial"><span style="font-size:10pt;color:#000000;font-family:Arial">- how long did it take compared to the initial estimate?</span></span></p>
<p class="MsoNormal"><span style="font-size:x-small;font-family:Arial"><span style="font-size:10pt;color:#000000;font-family:Arial">- how often since the fix was marked as &#8216;complete&#8217; did the code change?</span></span></p>
<p class="MsoNormal"><span style="font-size:x-small;font-family:Arial"><span style="font-size:10pt;color:#000000;font-family:Arial">I could (and just might) write another blog post on why these metrics are interesting and essential to software process management, but for now I leave it to commenters to elaborate.</span></span></p>
<p class="MsoNormal"><span style="color:#000000"><span style="font-size:x-small;font-family:Arial"><span style="font-size:10pt;font-family:Arial">To the specific points that the author makes, lets look at them in turn. <strong>The author&#8217;s orginal points and counterpoints are in italics.</strong></span></span></span></p>
<ul type="disc">
<li class="MsoNormal"><em></em><span style="color:#000000"><em><span style="font-size:x-small;font-family:Arial"><span style="font-size:10pt;font-family:Arial">Provides visibility of per person velocity &#8211; Visibility can occur during daily stand ups and weekly powerdowns.</span></span></em><span style="font-size:x-small;font-family:Arial"><span style="font-size:10pt;font-family:Arial">Sure it can, but that implies among other things that you are doing such standups. What if you are using an alternate process to coordinate the efforts of large, widely distributed teams? At some level, independent of your specific process, you need to be able to look into your SCM system and answer questions of who is doing what and why. Also, (and this touches on the second issue of accountability) not all developers communicate in the same way, so even if you are doing standups, as a manager you need objective facts to correlate with the verbal and written communications of your team.</span></span></span></li>
</ul>
<ul type="disc">
<li class="MsoNormal"><em></em><span style="color:#000000"><em><span style="font-size:x-small;font-family:Arial"><span style="font-size:10pt;font-family:Arial">Creates a sense of accountability &#8211; Why the hell do you have people on your team that you don’t trust?</span></span></em><span style="font-size:x-small;font-family:Arial"><span style="font-size:10pt;font-family:Arial">  Trust doesn&#8217;t happen all at once. The basic principle of managing people, whether they are shipping clerks or software engineers is &#8216;trust but verify&#8217;. Once a person has established a track record of reliable communications that are consistent with the objective (and hopefully, automated) metrics, you might reduce the frequency of how often you check them against the metrics. But periodic checking is essential &#8211; if a previously reliable engineer has for some reason fallen off the tracks, they may be reluctant to admit it, or they may not even be aware of it. A properly constructed metric that is trending in the wrong direction will give you clue that there is an issue to be addressed with this engineer.</span></span></span></li>
</ul>
<ul type="disc">
<li class="MsoNormal"><em></em><span style="color:#000000"><em><span style="font-size:x-small;font-family:Arial"><span style="font-size:10pt;font-family:Arial">Allows for possible learning opportunities &#8211; Either the bug is a bug (and no real lesson is to be learned), or senior developers did not properly guide less experienced devs through a design problem.</span></span></em><span style="font-size:x-small;font-family:Arial"><span style="font-size:10pt;font-family:Arial"> All bugs teach you something. The latter case that the author mentions is certainly one lesson, but it implies that senior developers don&#8217;t write buggy code or are somehow immune to design problems (or design-to-implementation translation problems) of their own. This seems unlikely. Most of the best engineers that I&#8217;ve worked with will admit to some whopper bugs &#8211; many written well after they had earned the title of &#8216;senior engineer&#8217; or &#8216;chief cook and bottlewasher&#8217;, or whatever. What a bug tells you is that you have code that needs attention, independent of whether it dropped out of a build process or was discovered by the janitor. The overhead for recording a bug, commenting on it and connecting it to the source code change that resolves it is minimal in a well-designed and well-tooled development process, so for a small amount of effort you get the benefit of a window into your code, its failings, and your process. Seems like a low price to pay for such potentially valuable information.</span></span></span></li>
</ul>
<p class="MsoNormal"><span style="font-size:x-small;font-family:Arial"><span style="font-size:10pt;font-family:Arial"><span style="color:#000000">I&#8217;ll admit that traceability and metrics are on my mind often (see for example, my </span><a title="AccuRev-Rally integration" href="http://blog.accurev.com/2008/06/11/agile-requirements-traceability-with-accurev-and-rally/" target="_blank"><span style="color:#000000">prior post on the AccuRev-Rally integration</span></a><span style="color:#000000"> and how it assists in agile requirements traceability). Maybe it&#8217;s because my favorite toys as a kid were ruler, compass and slide rule and I just like measuring things for the heck of it. Or maybe it&#8217;s because I&#8217;ve seen too many engineering projects fail &#8211; projects that if the manager (myself included) had a bit less hubris and a few more objective facts at their disposal, could have been squarely in the success column.</span></span></span></p>
<p class="MsoNormal"><span style="color:#000000"> </span></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/07/16/why-traceability-matters/' addthis:title='Why Traceability Matters '  ><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/07/16/why-traceability-matters/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

