<?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; project management</title>
	<atom:link href="http://accurev.com/blog/tag/project-management/feed/" rel="self" type="application/rss+xml" />
	<link>http://accurev.com/blog</link>
	<description>SCM and Agile Software Development Blog</description>
	<lastBuildDate>Thu, 17 May 2012 15:00:08 +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>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>
		<item>
		<title>Arming Software Development Project Managers with Real Data</title>
		<link>http://accurev.com/blog/2007/11/30/arming-software-development-project-managers-with-real-data/</link>
		<comments>http://accurev.com/blog/2007/11/30/arming-software-development-project-managers-with-real-data/#comments</comments>
		<pubDate>Fri, 30 Nov 2007 18:30:08 +0000</pubDate>
		<dc:creator>lorne cooper</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[project manager]]></category>
		<category><![CDATA[reports]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[source control]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/2007/11/30/arming-software-development-project-managers-with-real-data/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/11/30/arming-software-development-project-managers-with-real-data/' addthis:title='Arming Software Development Project Managers with Real Data ' ><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>Managing software development is tough enough as it is. Managers take responsibility for the results their teams deliver. They’re on the hook for hitting schedules, delivering quality, and meeting customer requirements. Worst of all, if they’re saddled with slacker engineers, they still have to get the work done, and done right. Tools are needed to [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/11/30/arming-software-development-project-managers-with-real-data/' addthis:title='Arming Software Development Project Managers with Real Data '  ><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/2007/11/30/arming-software-development-project-managers-with-real-data/' addthis:title='Arming Software Development Project Managers with Real Data ' ><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><a href="http://www.accurev.com/blog/wp-content/uploads/2007/11/lorne-pic-1.gif" title="lorne-pic-1.gif"></a><a href="http://www.accurev.com/blog/wp-content/uploads/2007/11/lorne-pic-1.gif" title="lorne-pic-1.gif"></a><a href="http://www.accurev.com/blog/wp-content/uploads/2007/11/lorne-pic-2.gif" title="lorne-pic-2.gif"></a><a href="http://www.accurev.com/blog/wp-content/uploads/2007/11/lorne-pic-2.gif" title="lorne-pic-2.gif"></a><a href="http://www.accurev.com/blog/wp-content/uploads/2007/11/lorne-pic-2.gif" title="lorne-pic-2.gif"></a></p>
<p class="MsoNormal">Managing software development is tough enough as it is.<span> </span>Managers take responsibility for the results their teams deliver.<span> </span>They’re on the hook for hitting schedules, delivering quality, and meeting customer requirements.<span> </span>Worst of all, if they’re saddled with slacker engineers, they still have to get the work done, and done right.</p>
<p class="MsoNormal">Tools are needed to help managers stay on top of their projects and find problems when there’s still time to fix them, before the schedule pressures explode.<span> </span>Project management tools are valuable, but their schedules only reflect the quality of the information that went into making them.<span> </span>Garbage in, garbage out.</p>
<p class="MsoNormal">The SCM system is the source of the information that drives smart decisions. Here are four sources of real data that can come out of any quality <a href="http://www.accurev.com/quotes.html" target="_blank">SCM system</a>.<span> </span>I’ll illustrate with AccuRev because, well, because it’s the best.</p>
<ol>
<li class="MsoNormal">Bug Arrival Rate</li>
<li class="MsoNormal">Churn rate</li>
<li class="MsoNormal">Task Estimate accuracy</li>
<li class="MsoNormal">Complexity Creep</li>
</ol>
<p class="MsoNormal">1. Bug Arrival Rate</p>
<p class="MsoNormal">A key graph in any project manager’s arsenal compares bugs reported over time against bugs closed over time.<span> </span>Here we use AccuRev’s AccuWork <a href="http://www.accurev.com/issue-tracking.html" target="_blank">issue tracking </a>tool to store all issues, whether reported by QA, sent in from customer service’s CRM, or entered by the powers that be as customer requirements.<span> </span>Since our iterations are four weeks long, we use the week as a reporting time period.<span> </span>Some <a href="http://www.accurev.com/customers.html" target="_blank">AccuRev customers</a> use days.<span> </span></p>
<p class="MsoNormal">In AccuWork, queries are easy to create, and we get a report from AccuWork in XML covering all the issues opened or verified [foot note: In our terminology, developers “close” issues, and QA “verifies” them.<span> </span>Other companies have developers “submit” issues and QA “close” them] against a particular iteration.<span> </span></p>
<p class="MsoNormal">The XML slides right into Microsoft’s excellent Excel 2003.<span> </span>I use PivotTables and Excel graphs for all my reports.<span> </span>Others might leverage their superior Perl skills.</p>
<p class="MsoNormal">Here, we add a “week” field based on the AccuRev time field.<span> </span></p>
<p><span><a href="http://www.accurev.com/blog/wp-content/uploads/2007/11/lorne_pic_final.gif" target="_blank"><img src="http://www.accurev.com/blog/wp-content/uploads/2007/11/lorne_pic_final.gif" alt="lorne pic final Arming Software Development Project Managers with Real Data" style="width:410px;height:351px" height="397" width="520" title="Arming Software Development Project Managers with Real Data" /></a></span></p>
<p>2.Churn Rate<span> </span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></p>
<p class="MsoNormal">A key metric for quality is how often different parts of the code base have to be modified to address issues.<span> </span>Here, the AccuRev code repository has all the information we need.<span> </span>I use the AccuRev Hist command</p>
<p style="text-indent:0.5in" class="MsoNormal">accurev hist –a –s “release candidate stream” –fx –t “2006/1/8 – 2006/1/1”</p>
<p class="MsoNormal">to get an XML file of all the “Promotes” (sort of like “check-ins”) to a release candidate stream within a time range.<span> </span>Some use a separate “hist” command for each release period.<span> </span>Personally, I take a big time range and then use Microsoft’s Excel 2003’s XML file support to slice and dice into tasty chucks.<span> </span>I tried it once with Excel 2007.<span> </span>Once.</p>
<p class="MsoNormal">Since we component-ize our code base based on directories, the “path” field is particularly interesting, as directories can be as significant as individual files.</p>
<p class="MsoNormal">Loading the XML file into Excel, my macro deletes some unneeded columns and creates a Pivot Table like the following:</p>
<p class="MsoNormal"><a href="http://www.accurev.com/blog/wp-content/uploads/2007/11/lorne-pic-2.gif" title="lorne-pic-2.gif"></a></p>
<p class="MsoNormal"><a href="http://www.accurev.com/blog/wp-content/uploads/2007/11/lorne_pic_2_final.gif" target="_blank"><img src="http://www.accurev.com/blog/wp-content/uploads/2007/11/lorne_pic_2_final.gif" alt="lorne pic 2 final Arming Software Development Project Managers with Real Data"  title="Arming Software Development Project Managers with Real Data" /></a></p>
<p class="MsoNormal">Here I’ve filtered the data to not include the binary files, and used the Excel Pivot table’s advanced feature to show the top ten in descending order.<span> </span>AccuRev.c takes a beating every release but it isn’t significant.<span> </span>Server/diff.c and Client/stat.c seem to be at the center of a lot of changes that release, and are probably candidates for some <a href="http://www.accurev.com/whitepaper/accurev_advantage.htm" target="_blank">code reviews</a>.</p>
<p class="MsoNormal">3. Task Estimate Accuracy</p>
<p class="MsoNormal">Along with dates of issue opens and issue closes, we have chosen to include a user field for the original estimate of the length of time it will take to complete the issue.<span> </span>That gives us something to compare to when we “close” an issue and send it to QA, and an opportunity to correlate against the length of time before an issue gets verified.</p>
<p class="MsoNormal">As a best-practice, we try to normalize issues to a couple of days in length.<span> </span>Longer and you haven’t really figured out what needs to be done.<span> </span>Shorter and you’re liable to strangle in your own spit, a management practice I can’t recommend having seen the results.</p>
<p class="MsoNormal">We get this data out of AccuWork again, and can slice it by group, release, or even individual developer.<span> </span>This is a quick way to quantify the subjective feel we all have for who is slow, who’s fast, and who’s clueless.<span> </span>Here’s a scatter plot for a group.<span> </span>Note that they are generally on the high side of their estimates, and that they haven’t done a very good job normalizing tasks to 2-3 days:</p>
<p class="MsoNormal"><a href="http://www.accurev.com/blog/wp-content/uploads/2007/11/lorne-pic-3-final.gif" target="_blank"><img src="http://www.accurev.com/blog/wp-content/uploads/2007/11/lorne-pic-3-final.gif" alt="lorne pic 3 final Arming Software Development Project Managers with Real Data" height="290" width="430" title="Arming Software Development Project Managers with Real Data" /></a></p>
<p class="MsoNormal">4. Complexity Creep</p>
<p class="MsoNormal">As software gets modified, and especially when managers become conscious of the amount of time taken to fix a bug or implement a feature, there is a tendency for developers to make the code base less maintainable.<span> </span>There are some metrics for code complexity that can benefit the manager when trying to assess when it is time to refactor.<span> </span>A frequently used metric is <a href="http://en.wikipedia.org/wiki/Cyclomatic_complexity" target="_blank">cyclomatic code complexity</a>.<span> </span></p>
<p class="MsoNormal">While we don’t do any code complexity measurements here, some of our larger customers do.<span> </span>This is easy to collect using a trigger on changes being sent to a release candidate (or QA candidate) stream, where the trigger calls the analysis tool and puts the results into a tab-separated file for later plotting from Excel.</p>
<p class="MsoNormal">A simple (Perl) implementation of the server side “server_post_promote” trigger creating a file “complexity.txt” looks like:</p>
<p class="MsoNormal">open COMPOUT, &#8220;&gt;&gt;complexity.txt&#8221; or die &#8220;Can&#8217;t open complexity.txt&#8221;;<br />
if ($stream eq &#8220;acmeProj_QA&#8221;) {<br />
$complexity = complexity($stream, $version, $workspaceDir, $filePath);<br />
print COMPOUT “$user\t $date\t $transaction\t $stream\t $version\t $filePath\t $complexity\t $issueNum\n&#8221;;<br />
}<br />
close COMPOUT;
</p>
<p class="MsoNormal">Together, these reports provide a good mix of data around schedule, estimation and code quality, giving our beleaguered project manager a pretty nice set of armor.</p>
<p class="MsoNormal">Please post your favorite management reports, even if you don’t (yet!) use AccuRev.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/11/30/arming-software-development-project-managers-with-real-data/' addthis:title='Arming Software Development Project Managers with Real Data '  ><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/2007/11/30/arming-software-development-project-managers-with-real-data/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Three Absolute Requirements for Successful Offshore Application Development, Part 3</title>
		<link>http://accurev.com/blog/2007/11/02/three-absolute-requirements-for-successful-offshore-application-development-part-3/</link>
		<comments>http://accurev.com/blog/2007/11/02/three-absolute-requirements-for-successful-offshore-application-development-part-3/#comments</comments>
		<pubDate>Fri, 02 Nov 2007 18:00:05 +0000</pubDate>
		<dc:creator>lorne cooper</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Agile methodologies]]></category>
		<category><![CDATA[developer turnover]]></category>
		<category><![CDATA[development process]]></category>
		<category><![CDATA[Offshore]]></category>
		<category><![CDATA[Offshore development]]></category>
		<category><![CDATA[offshore project management]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[remote team]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[software project]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/2007/11/02/three-absolute-requirements-for-successful-offshore-application-development-part-3/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/11/02/three-absolute-requirements-for-successful-offshore-application-development-part-3/' addthis:title='Three Absolute Requirements for Successful Offshore Application Development, Part 3 ' ><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>&#160; Requirement #3: Match the Project to the Team You can put lipstick on a pig but it doesn’t do much good. It’s not much to look at, and it annoys the pig. You can assign any old set of tasks to the offshore team, but if they CAN’T succeed at the project, or DON’T [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/11/02/three-absolute-requirements-for-successful-offshore-application-development-part-3/' addthis:title='Three Absolute Requirements for Successful Offshore Application Development, Part 3 '  ><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/2007/11/02/three-absolute-requirements-for-successful-offshore-application-development-part-3/' addthis:title='Three Absolute Requirements for Successful Offshore Application Development, Part 3 ' ><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">&nbsp;</p>
<p class="MsoNormal"><strong>Requirement #3: Match the Project to the Team</strong></p>
<p class="MsoNormal">You can put lipstick on a pig but it doesn’t do much good.<span> </span>It’s not much to look at, and it annoys the pig.<span> </span>You can assign any old set of tasks to the offshore team, but if they CAN’T succeed at the project, or DON’T CARE about succeeding at the project, you won’t get much value and you’ll have ended up annoying the team.</p>
<p class="MsoNormal"><u><a target="_blank" href="http://www.accurev.com/agile-scm.html">Agile methodologies</a></u> have taught us all the benefits of keeping the customer tied into the development process.<span> </span>We know the offshore team will have less of a context for managing changes and usually will average less years of experience than the corporate team.<span> </span></p>
<p class="MsoNormal">That doesn’t mean you can try to do the “thinking” for them.<span> </span>There are as many smart people in Moscow and Bangalore as there are in Silicon Valley, just fewer Starbucks.<span> </span></p>
<p class="MsoNormal">There are two common failure modes in defining projects for the offshore team:</p>
<ol>
<li class="MsoNormal">Asking a remote team to solve a complex problem the customer might not understand; or</li>
<li class="MsoNormal">Asking the remote team to grind through endless bug fixes to a stable product line.<span> </span></li>
</ol>
<p class="MsoNormal">In the first, it’s easy to see that the customer isn’t getting any happier with each release.<span> </span>In the second, the failure will be the <u><a target="_blank" href="http://en.wikipedia.org/wiki/Dutch_elm_disease">Dutch Elm Disease</a></u> of application development: developer turnover.</p>
<p class="MsoNormal">Developer turnover comes from multiple sources, many of which you don’t control.<span> </span>Given the heavy cost of recruiting and training new hires, it pays to stay on top of the factors you do influence.<span> </span>Everybody wants to be successful, and will stay on a successful project longer than on an unsuccessful one.<span> </span>So pick the project wisely.</p>
<p class="MsoNormal">Great projects for remote teams are ones that have very well defined deliverables but ambitious long-term goals.<span> </span>Projects like cloning capabilities of one system to another, changing platforms or improving performance of an app, all benefit from clarity of definition and sufficient technical challenge to keep the remote team productive and engaged.</p>
<p class="MsoNormal"><strong>Epilog</strong></p>
<p>In my humble experience, meeting these three requirements eliminates the additional risk created by an <a target="_blank" href="http://www.accurev.com/distributed-scenario.htm">offshore development</a> group, and reduces the problem to the same set of risks as an onshore development group.<span> </span>Not that onshore development is easy.</p>
<p class="MsoNormal">Are three requirements really all it takes?<span> </span>Yes, because all three are meta-requirements that cover the most important challenges of offshoring.<span> </span>In fact, a superstar remote team lead (<u><a target="_blank" href="http://blog.accurev.com/2007/10/25/three-absolute-requirements-for-successful-offshore-application-development-part-1/">Requirement #1</a></u>) can be enough in itself to deliver success.<span> </span>Superstars are so hard to find we can’t count on finding them.<span> </span>That’s why you need to maximize your success rate by meeting <u><a target="_blank" href="http://blog.accurev.com/2007/10/31/three-absolute-requirements-for-successful-offshore-application-development-part-2/">requirements 2</a></u> and 3 as well.</p>
<p class="MsoNormal">Bonne Chance, Bueno Suerte, Удачи, and Good luck!<span> </span></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/11/02/three-absolute-requirements-for-successful-offshore-application-development-part-3/' addthis:title='Three Absolute Requirements for Successful Offshore Application Development, Part 3 '  ><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/2007/11/02/three-absolute-requirements-for-successful-offshore-application-development-part-3/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

