<?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; software release process</title>
	<atom:link href="http://accurev.com/blog/tag/software-release-process/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>SCM Software: Optimizing the Software Development Process</title>
		<link>http://accurev.com/blog/2012/01/20/scm-software-optimizing-the-software-development-process/</link>
		<comments>http://accurev.com/blog/2012/01/20/scm-software-optimizing-the-software-development-process/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 17:10:07 +0000</pubDate>
		<dc:creator>clucca</dc:creator>
				<category><![CDATA[SCM Resources]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[scm software]]></category>
		<category><![CDATA[software release process]]></category>

		<guid isPermaLink="false">http://www.accurev.com/blog/?p=2756</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2012/01/20/scm-software-optimizing-the-software-development-process/' addthis:title='SCM Software: Optimizing the Software Development Process ' ><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>The enterprise software development arena can be a harsh and unrelenting environment – not a place for the faint-of-heart to work. Fortunately, software configuration management (SCM) software can make it not only more tolerable, but more efficient and, yes, even more successful. SCM software is not a luxury, nor just another layer of technology to [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2012/01/20/scm-software-optimizing-the-software-development-process/' addthis:title='SCM Software: Optimizing the Software Development Process '  ><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/2012/01/20/scm-software-optimizing-the-software-development-process/' addthis:title='SCM Software: Optimizing the Software Development Process ' ><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>The enterprise software development arena can be a harsh and unrelenting environment – not a place for the faint-of-heart to work. Fortunately, <strong>software configuration management (SCM) software</strong> can make it not only more tolerable, but more efficient and, yes, even more successful.</p>
<p><a href="http://www.accurev.com/">SCM software</a> is not a luxury, nor just another layer of technology to be added to an already complex process. SCM software is a necessity for development teams working concurrently and in parallel on development projects, especially those employing agile processes to deliver higher quality software more rapidly.</p>
<p>Two of the biggest benefits of using<strong> SCM software</strong> are the ability to coordinate distributed teams and parallel development more effectively, no matter where your team members are located or even the language of the replicas being used – they can be in the next cubicle, the next state, or the next country.</p>
<p><strong>We, of course, recommend AccuRev SCM</strong></p>
<p>No surprise there. After all, we designed it to be fast, flexible, scalable, and effective. After all, we’ve taken process management and version control and made the ideal mash-up that provides the most comprehensive set of SCM tools available, including these<strong> <a href="http://www.accurev.com/scm-best-practices-wp">best practices</a></strong>:</p>
<ul>
<li><a href="http://www.accurev.com/accurev-change-management.html">Change management</a></li>
<li>Visualized SCM patterns</li>
<li><a href="http://www.accurev.com/accuworkflow.html">Automated workflows</a></li>
<li>Private developer history</li>
<li><a href="http://www.accurev.com/multistage-continuous-integration.html">Multi-stage continuous integration</a></li>
<li>Issue-based development</li>
</ul>
<p>With a single set of comprehensive, best-practices SCM tools to work with, life becomes much easier for your development teams – they can focus on software development instead of management and administration tasks. SCM software made nice and simple.</p>
<p>What makes it even easier is how AccuRev SCM easily handles virtually any combination of development processes, including Agile, XP, and waterfall – you name it. You’re free to mix-and-match because AccuRev SCM’s flexible model enables your teams to rip through development with continuous integration, code refactoring, and automated code sharing, to name a few.</p>
<p>Even parallel development is a cinch with fully-transparent code base relationship management that enables teams to store work safely and test it before sharing it with others. A stream-based architecture makes code branching and merging easier, too – it even allows changes to be automatically inherited from other teams.</p>
<p>If for some reason you’re not already using SCM software or if you’re unhappy with whatever software configuration management tool you’re using now and you want to know more about SCM software and AccuRev SCM in particular, check out our <a href="http://www.accurev.com/software-configuration-management-resources.htm">SCM Software Resource Center</a> and <a href="http://www.accurev.com/accurev.html">AccuRev SCM 5.3</a>.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2012/01/20/scm-software-optimizing-the-software-development-process/' addthis:title='SCM Software: Optimizing the Software Development Process '  ><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/2012/01/20/scm-software-optimizing-the-software-development-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AccuRev is a 2009 Jolt Award Finalist</title>
		<link>http://accurev.com/blog/2009/01/22/accurev-is-a-2009-jolt-award-finalist/</link>
		<comments>http://accurev.com/blog/2009/01/22/accurev-is-a-2009-jolt-award-finalist/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 19:53:20 +0000</pubDate>
		<dc:creator>AccuRev</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[change management]]></category>
		<category><![CDATA[configuration management]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[Jolt Award]]></category>
		<category><![CDATA[parallel development]]></category>
		<category><![CDATA[release management]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[software development process]]></category>
		<category><![CDATA[software release process]]></category>
		<category><![CDATA[source code control]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/?p=567</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/01/22/accurev-is-a-2009-jolt-award-finalist/' addthis:title='AccuRev is a 2009 Jolt Award Finalist ' ><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>AccuRev is once again pleased to inform everyone that its flagship product, AccuRev, has been selected as a Jolt Award Finalist for Dr. Dobb&#8217;s 19th Annual Jolt Product Excellence Awards in the Change and Configuration Management category.  For the past 18 years, the Jolt Product Excellence Awards have been presented annually to showcase products that [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/01/22/accurev-is-a-2009-jolt-award-finalist/' addthis:title='AccuRev is a 2009 Jolt Award Finalist '  ><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/2009/01/22/accurev-is-a-2009-jolt-award-finalist/' addthis:title='AccuRev is a 2009 Jolt Award Finalist ' ><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>AccuRev is once again pleased to inform everyone that its flagship product, AccuRev, has been selected as a <a href="http://www.accurev.com/jolt_award.html" target="_blank">Jolt Award </a>Finalist for Dr. Dobb&#8217;s<em> </em>19th Annual Jolt Product Excellence Awards in the Change and Configuration Management category. </p>
<p>For the past 18 years, the Jolt Product Excellence Awards have been presented annually to showcase products that have &#8220;jolted&#8221; the industry with their significance and made the task of creating software faster, easier, and more efficient. The awards presentation is sponsored by JOLT, the fabled soft drink quaffed by software developers for sustenance during project development marathons.</p>
<p>&#8220;The Jolt judges have selected these finalists from the nearly 300 qualified nominations that were submitted online. The submissions represent the many innovative tools available for every phase of the software development lifecycle,&#8221; said Amber Ankerholz, Jolt Award Project Manager. &#8220;This year’s finalist round was extremely competitive and we appreciate the effort all of the participants put into showcasing their products’ features for the judges.”</p>
<p>In the next round of the Jolt Award process, the judges will examine the finalists according to the standard criteria of audience suitability, productivity, innovation, quality, ROI, risk, and flexibility. They focus on products that are ahead of the curve, universally useful, rich in functionality or that were solutions to problems in their product space.</p>
<p>Winners are announced during the Jolt Awards ceremony that takes place on March 11 at <a href="http://www.sdexpo.com/" target="_blank">SD West 2009</a> Conference &amp; Expo at the Santa Clara Convention Center.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/01/22/accurev-is-a-2009-jolt-award-finalist/' addthis:title='AccuRev is a 2009 Jolt Award Finalist '  ><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/2009/01/22/accurev-is-a-2009-jolt-award-finalist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pattern for Private Prototype Development</title>
		<link>http://accurev.com/blog/2008/11/13/pattern-for-private-prototype-development/</link>
		<comments>http://accurev.com/blog/2008/11/13/pattern-for-private-prototype-development/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 17:10:03 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[3rd party library]]></category>
		<category><![CDATA[automated build]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[Empower developers]]></category>
		<category><![CDATA[parallel development]]></category>
		<category><![CDATA[private versioning]]></category>
		<category><![CDATA[private workspace]]></category>
		<category><![CDATA[prototype development]]></category>
		<category><![CDATA[prototyping]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[SCM patterns]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[software release process]]></category>
		<category><![CDATA[stream inheritance]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=435</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/11/13/pattern-for-private-prototype-development/' addthis:title='Pattern for Private Prototype Development ' ><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>by Dave Thomas Your team has been coding a feature for a few days, across dozens of files, and everyone is excited with progress.  Deep into development, you find an interesting 3rd party library that may simplify your work and possibly take the team&#8217;s feature to the next level.  But it will require adding new [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/11/13/pattern-for-private-prototype-development/' addthis:title='Pattern for Private Prototype Development '  ><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/11/13/pattern-for-private-prototype-development/' addthis:title='Pattern for Private Prototype Development ' ><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><strong>by Dave Thomas</strong></p>
<p>Your team has been coding a feature for a few days, across dozens of files, and everyone is excited with progress.  Deep into development, <em>you </em>find an interesting 3rd party library that may simplify your work and possibly take the team&#8217;s feature to the next level.  But it will require adding new files, moving some directories, and refactoring some critical code.  However, you&#8217;re not ready to commit your <em>current </em>changes because they are unfinished and will surely break everyone else.  Your changes need to be saved before prototyping in case of a rollback but also be integrated with prototype development.  And what if the new library is a bust?  If you start co-mingling the library integration with unfinished code, the potential revert process will be a complete nightmare and waste of time.</p>
<p><strong>Private Versioning</strong>. With AccuRev&#8217;s private workspace, you can <em>always </em>commit your changes early, often, and safely without sharing amongst your peers.  But in this case you have two logical development efforts, the 2nd effort depends on the first and both need commits to preserve evolving changes.   How do you keep them cleanly separated and continue to work on both in parallel?</p>
<p><strong>Stream Inheritance</strong>.  AccuRev streams have an intriguing and very powerful feature called inheritance.   Similar to how an OO subclass implicitly inherits methods from parent and grandparent classes, a child <em>stream </em>implicitly inherits versions of files &amp; directories from parent and grandparent streams.   Taking advantage of inheritance, we can use streams to independently manage logical changes and cleanly maintain change dependencies without physically co-mingling files.</p>
<p><strong>The Pattern</strong>.  Prototyping changes without co-mingling files can be done by simply creating a series of &#8216;personal&#8217; or &#8216;private&#8217; development streams (though, they are just regular dynamic streams). This pattern will create a &#8220;Feature&#8221;, &#8220;MyDevelopment&#8221;, and &#8220;MyPrototype&#8221; stream sub-hierarchy.  <em>See Picture.</em></p>
<div id="attachment_495" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.accurev.com/blog/wp-content/uploads/2008/11/prototype.jpg" target="_blank"><img class="size-medium wp-image-495" title="Prototype Development with AccuRev" src="http://www.accurev.com/blog/wp-content/uploads/2008/11/prototype.jpg?w=300" alt="click to enlarge" width="300" height="168" /></a><p class="wp-caption-text">click to enlarge</p></div>
<p>From your Integration stream (or equivalent), start by creating a &#8220;Feature&#8221; stream that will collect all changes from your entire team.  [See related blog, <a title="Stream-per-Task Pattern in AccuRev SCM" href="http://blog.accurev.com/2007/10/11/stream-per-task-paradigm-with-accurev-software-configuration-management/" target="_blank">Stream-per-Task Pattern</a>].  The majority of team members may have their workspaces directly from here.  Next, create a child stream called &#8220;MyDevelopment&#8221; that will track your <em>personal </em>ongoing development activity.  Finally, create a grandchild stream called &#8220;MyPrototype&#8221; to track changes that will be discarded or retained depending on the level of success.</p>
<blockquote><p><span style="color:#000080"><strong>The prototype development activity is committed, shareable, integrated, and yet cleanly segregated from both active feature and private development. </strong></span></p></blockquote>
<p>The &#8220;Feature&#8221; stream is the collection point of all in-progress development activities for the given feature <em>from the entire team</em>.  Developers will promote here frequently possibly kicking off an automated build with success/fail notification.   The &#8220;MyDevelopment&#8221; stream provides a collection point for all of your personal development changes.  This stream may be considered a &#8220;private&#8221; development stream simply because no other developers will likely use it &#8211; set a stream lock to be sure.  A lightweight <a href="http://www.accurev.com/continuous-integration.html" target="_blank">Continuous Integration</a> build (i.e. compilation only) may be performed on &#8220;MyDevelopment&#8221; for sanity sake or just compile and promote as a practice.  The &#8220;MyPrototype&#8221; stream is a collection point for all prototype changes. Even as new changes are promoted to &#8220;Feature&#8221; and &#8220;MyDevelopment&#8221;, the &#8220;MyPrototype&#8221; stream will automatically incorporate those changes (via inheritance) and the prototype developers will merge changes as necessary. The prototype development activity is committed, shareable, integrated, and yet cleanly segregated from both active feature and personal development. Also, by using a stream for prototype work, multiple developers can contribute and collaborate. If the prototyping work is deemed successful, the files can be promoted to &#8220;MyDevelopment&#8221;. If the prototyping efforts don&#8217;t work out &#8211; no problem &#8211; just remove the &#8220;MyPrototype&#8221; stream and re-purpose the workspaces.</p>
<p>The beauty of this pattern is that it isolates development activity <em>by purpose</em> without co-mingling physical file changes.   It lets the prototype developers go nuts and shoot from the hip while the regular feature developers (with the deadline!) work unimpeded and without fear of rampant changes &#8212; and everyone stays up-to-date.   And with no limit to stream depth, teams can perform prototyping efforts in parallel and/or perform prototyping based on existing prototypes by adding another child stream!  Furthermore, the pattern works for any size development activity or team, even for us <a title="Team of One Pattern in AccuRev" href="http://blog.accurev.com/2008/02/22/team-of-one/" target="_blank">Team-of-One</a> developers with tons of ideas, fast fingers, and a few green screen x-terms (2 space, 80-char wrapping of course &#8211; &lt;chuckle&gt;).</p>
<p>This is a perfect example of how AccuRev empowers the developer to take control of their own development.  Creating streams is extremely easy and the stream browser provides unprecedented visibility into the entire development process.  With the right amount of security in place (Locks, ACLs, Triggers), the critical release streams (left side of the stream structure) can be locked down by the CM Admins, but the development related streams (right side) can be fair game for developers to create an environment that suits their purpose, such as prototyping.</p>
<p>Does anyone have a good story to tell about how this pattern (or equivalent) helped with a <a href="http://blog.accurev.com/2007/09/20/stream-refactoring-with-pass-throughs/" target="_blank">major refactoring effort</a> or library upgrade?</p>
<p>/happy prototyping/ &#8211; dave</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/11/13/pattern-for-private-prototype-development/' addthis:title='Pattern for Private Prototype Development '  ><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/11/13/pattern-for-private-prototype-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How We Integrated our Offshore Development Team</title>
		<link>http://accurev.com/blog/2008/07/18/how-we-integrated-our-offshore-development-team/</link>
		<comments>http://accurev.com/blog/2008/07/18/how-we-integrated-our-offshore-development-team/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 17:54:48 +0000</pubDate>
		<dc:creator>AccuRev</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Customer Guest Blogs]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Bangalore development]]></category>
		<category><![CDATA[Offshore development]]></category>
		<category><![CDATA[software release process]]></category>
		<category><![CDATA[UK-based development]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=232</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/07/18/how-we-integrated-our-offshore-development-team/' addthis:title='How We Integrated our Offshore Development Team ' ><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>by Tahir Hussein, Alterian This diagram shows one key aspect of our development process i.e. 3rd Line Support. It is critical to our operations because we support anywhere from the last 3 to 5 release steams. This includes monthly patch releases which address key customer defects and enhancements. Prior to 2006 our development operation was [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/07/18/how-we-integrated-our-offshore-development-team/' addthis:title='How We Integrated our Offshore Development Team '  ><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/18/how-we-integrated-our-offshore-development-team/' addthis:title='How We Integrated our Offshore Development Team ' ><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>by <strong><span style="font-size: x-small; color: #000080; font-family: Arial;"><span style="font-weight: bold; font-size: 10pt; color: #000080; font-family: Arial;">Tahir Hussein, Alterian</span></span></strong></p>
<p>This diagram shows one key aspect of our development process i.e. 3<sup>rd</sup> Line Support. It is critical to our operations because we support anywhere from the last 3 to 5 release steams. This includes monthly patch releases which address key customer defects and enhancements.</p>
<div id="attachment_236" class="wp-caption alignleft" style="width: 214px"><a href="http://www.accurev.com/blog/wp-content/uploads/2008/07/mediasurface_flowchart.jpg"><img class="size-medium wp-image-236" style="border: 7px;" src="http://www.accurev.com/blog/wp-content/uploads/2008/07/mediasurface_flowchart.jpg?w=204" alt="3rd Line Support" width="204" height="300" title="How We Integrated our Offshore Development Team" /></a><p class="wp-caption-text">3rd Line Support</p></div>
<p>Prior to 2006 our development operation was UK based (in a single location). Everything was straight forward! However, when we opened up a development centre in Bangalore, that situation changed. Once we had recruited and trained the developers it was time to get them using our SCM tool, Serena Dimensions. This has served us well since 2000 but the performance of the connection to Bangalore meant that the PC and Web clients were totally unusable for shared development work e.g.</p>
<p><strong>* </strong>It was taking over 5 minutes for them to browse change documents</p>
<p><strong>* </strong>Editing the attributes e.g. to specify the fix times etc was taking around 10 minutes</p>
<p><strong>*</strong> Making any kind of source code changes on a change document, especially one with a lot of additional related items or change documents was even longer.</p>
<p><strong>* </strong>To fetch all 9000 items from the repository for a sandbox development and build was an overnight job (if it worked at all!)</p>
<p>Hence we had to put our thinking caps on and come up with another solution.</p>
<p>We tried making use of Subversion and associated tools and initially this looked very promising. However, when we started putting our Development processes on top of Subversion, in particular “<a href="http://www.accurev.com/accurev-branching-merging.html">Branching and Merging</a>”, it became apparent that the underlying SVN functionality was not going to be mature enough for the tools to be available to cater for this. The solution we were looking at was Subversion running in UK and Bangalore, with the replication of data taken care of by a product called WANdisco and the Application Lifecycle management by Polarion. We had a number of meetings and discussions with all of the above parties, including the Subversion developers, who gave us an insight into the future plans. In the end the overall solution was not going to be elegant and satisfy all our needs. We carried on looking and eventually came across AccuRev.</p>
<p>At first we were reticent to go down this route as it was a proprietary system. However, when we were demoed the system by the AccuRev guys it seemed to fit in exactly with what we were looking for. Even with the addition of merge tracking in SVN, AccuRev is still head and shoulders above with its merge, change and namespace tracking.</p>
<p>We then obtained a demo license and spent a month evaluating the product against our list of requirements. The sort of checks we carried out were:</p>
<p><strong>* </strong>How long does it take to create something e.g. stream, workspace in the UK and see it reflected in Bangalore and vice versa</p>
<p><strong>*</strong> Can you create/delete hundreds or steams without affecting the system performance</p>
<p><strong>* </strong>The critical one of can a number of developers on the UK and Bangalore work together on a set of changes in parallel and easily have those merged back together.</p>
<p>The whole thing ran so smoothly that we could no longer delay the decision to purchase. Last year around this time we purchased the required licences and then started the process of moving the development over to AccuRev.</p>
<p>So, where are we currently?</p>
<p>The intention has been to move over to using AccuRev and Jira combination (as Serena Dimensions covers both Issue Tracking and Source Control). However, as we have a limited number of resources available, and the fact that we require quite a lot of work to implement the appropriate workflow and associated build process, we have not had the time to do this. We are currently using AccuRev for ALL development and 3<sup>rd</sup> Line support work but still use Dimensions for the Issue tracking and build process. Given that none of the developers in Bangalore or UK are impacted by this and can get on with their day-day work then I am cool with this. The only person affected is me as I have an additional step to perform by moving changes between AccuRev and Dimensions and vice-versa. I am confident that in the near future we will fully move onto the AccuRev/JIRA system and gain even more benefits.</p>
<p>I hope this will be of help to others and I would be more than happy to answer specific queries.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/07/18/how-we-integrated-our-offshore-development-team/' addthis:title='How We Integrated our Offshore Development Team '  ><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/18/how-we-integrated-our-offshore-development-team/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Globally Distributed Developers, Under a Single Roof</title>
		<link>http://accurev.com/blog/2008/05/07/globally-distributed-developers-under-a-single-roof/</link>
		<comments>http://accurev.com/blog/2008/05/07/globally-distributed-developers-under-a-single-roof/#comments</comments>
		<pubDate>Wed, 07 May 2008 15:16:43 +0000</pubDate>
		<dc:creator>jtalbott</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[SCM Resources]]></category>
		<category><![CDATA[change management]]></category>
		<category><![CDATA[configuration management]]></category>
		<category><![CDATA[GDD]]></category>
		<category><![CDATA[geographically distributed development]]></category>
		<category><![CDATA[globally distributed development]]></category>
		<category><![CDATA[issue tracking]]></category>
		<category><![CDATA[mastership issues]]></category>
		<category><![CDATA[replication issues]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[software release process]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=183</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/05/07/globally-distributed-developers-under-a-single-roof/' addthis:title='Globally Distributed Developers, Under a Single Roof ' ><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>One of the most common and problematic challenges that exists in today&#8217;s software development environments is how best to support a Globally Distributed Development organization. In ye olden days, you had the entire team co-located in the proverbial cube farm under a single monolithic roof. If Brad wanted you to review the code he just [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/05/07/globally-distributed-developers-under-a-single-roof/' addthis:title='Globally Distributed Developers, Under a Single Roof '  ><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/05/07/globally-distributed-developers-under-a-single-roof/' addthis:title='Globally Distributed Developers, Under a Single Roof ' ><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>One of the most common and problematic challenges that exists in today&#8217;s software development environments is how best to support a <a href="http://www.accurev.com/distributed-scenario.htm" target="_blank">Globally Distributed Development</a> organization. In ye olden days, you had the entire team co-located in the proverbial cube farm under a single monolithic roof. If Brad wanted you to review the code he just wrote, he would literally turn around in his chair, ask you to come in and look over his shoulder.</p>
<p>Times have definitely changed. Now, your team might be headquartered in Boston, separate R&amp;D sites in California and London, with some specialized groups in Bangalore and Shanghai. But that&#8217;s not necessarily the hard part. Where it gets complicated is when all these developers are trying to work on the <strong>same source code</strong> at the <strong>same time</strong>. <a href="http://www.accurev.com/scm-comparisons/accurev-clearcase.html" target="_blank">Mastership issues</a> questions, latency, mismatched process across sites; communication problems, lack of <a href="http://www.accurev.com/accurev_tyler_scm_solution.htm" target="_blank">project visibility</a>; these things all lead to significant decrease in productivity, not to mention the chaos for those trying to manage the effort.</p>
<p>Enter AccuRev. Uniquely architected to support remote and <a href="http://www.accurev.com/accureplica.html" target="_blank">geographically distributed development</a> (GDD), there are several key built-in capabilities that make the challenges of the past disappear. Consider the following graphic:</p>
<p><a href="http://www.accurev.com/blog/wp-content/uploads/2008/05/gdd4.jpg" target="_blank"><img class="alignnone size-medium wp-image-195" src="http://www.accurev.com/blog/wp-content/uploads/2008/05/gdd4.jpg?w=300" alt=" Globally Distributed Developers, Under a Single Roof" width="300" height="167" title="Globally Distributed Developers, Under a Single Roof" /></a></p>
<ul>
<li>AccuRev&#8217;s Stream Browser presents a dynamic visual representation of the <a href="http://www.accurev.com/index.html" target="_blank">software development process</a> that is both fundamentally tied to the source code itself as well as being flexible and enforceable. At a single glance, *anyone* working on the project anywhere knows exactly what the process in place is. (See example <a href="http://dotnet.sys-con.com/read/526698_2.htm" target="_blank">AccuRev annotated screen shot</a> here from the Alaska Airlines success story).</li>
<li>Geography has zero impact on your position in the process; a developer in the UK can happily use a Workspace on the same parent stream as a developer in the United States. For low bandwidth locations, AccuReplica can provide LAN-quality access without introducing the traditional mastership and latency problems of <a href="http://www.accurev.com/clearcase-adapter.html" target="_blank">other replication solutions</a>.</li>
<li>The private nature of the Workspace means that these remote developers can &#8220;share&#8221; code while still determining when to deliver their changes publicly.</li>
</ul>
<p>Here&#8217;s the scenario: Developer ibergman works out of London, while jtalbott works in Boston. However, they are both part of a virtual team working on ComponentC. With AccuRev, the normal boundaries and limitations of time and space &#8211; not to mention being constrained by an inadequate <a href="http://www.accurev.com/scm_comparisons.html" target="_blank">SCM tool</a> &#8211; no longer apply. Okay, I took some verbal liberties with the &#8220;time and space&#8221; bit, but it&#8217;s actually not too far from the truth.</p>
<p>In London at noon, ibergman wraps up a section of code she&#8217;s been working on and performs a Keep, which in AccuRev is a private check-in. The change is versioned yet stays within the confines of the Workspace, not yet ready for public consumption. But ibergman wants some validation, and asks jtalbott to review her code. Using instant messaging (IM), she pings him and catches him as he&#8217;s having his first sip of coffee, probably a colombian supremo. In other tools, how would someone review a private change that was just committed on the other side of the ocean? Would they even have private commits in the first place? In AccuRev, the moment ibergman performed that Keep in London, a visual identifier is available to anyone viewing the StreamBrowser, such as to jtalbott in Boston. So jtalbott clicks on the icon, and now has immediate access to operations like View, to see the file, and Diff, to compare against any previous revision of this file:</p>
<p><a href="http://www.accurev.com/blog/wp-content/uploads/2008/05/gdd3.jpg" target="_blank"><img class="alignnone size-medium wp-image-194" src="http://www.accurev.com/blog/wp-content/uploads/2008/05/gdd3.jpg?w=300" alt=" Globally Distributed Developers, Under a Single Roof" width="300" height="201" title="Globally Distributed Developers, Under a Single Roof" /></a></p>
<p>Did I mention that jtalbott&#8217;s access to these operations is instantaneous, as soon as ibergman performs the Keep? He can even take her version and send it into his own workspace if he finds it interesting enough to want to do additional development on.</p>
<p>So the previously mentioned problems of mastership, latency, visibility, communication, and most importantly Process, have all gone away. No more waiting on a 24-hour turnaround to get that Shanghai code copied into the branch. No more working in the dark not knowing exactly where your piece of code fits into the puzzle. Each team can regain the responsibility of merging in their efforts into common integration points, using a well-defined process implemented with streams.</p>
<p>It&#8217;s a remarkably simple and elegant solution to a complex and challenging problem. Of course, it&#8217;s still not going to solve the amusing problem of both the London and Boston developers feeling like they are superior to each other, but at least now they can actually review each other&#8217;s code real-time to help figure that one out <img src='http://accurev.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' title="Globally Distributed Developers, Under a Single Roof" /> </p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/05/07/globally-distributed-developers-under-a-single-roof/' addthis:title='Globally Distributed Developers, Under a Single Roof '  ><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/05/07/globally-distributed-developers-under-a-single-roof/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

