<?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; SCCM</title>
	<atom:link href="http://accurev.com/blog/tag/sccm/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>AccuRev Announces Kando!</title>
		<link>http://accurev.com/blog/2012/01/31/accurev-announces-kando-git-integration/</link>
		<comments>http://accurev.com/blog/2012/01/31/accurev-announces-kando-git-integration/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 13:00:28 +0000</pubDate>
		<dc:creator>AccuRev</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Integrations]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[Kando]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[seamless]]></category>
		<category><![CDATA[software change and configuration management]]></category>

		<guid isPermaLink="false">http://accurev.com/blog/?p=2993</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2012/01/31/accurev-announces-kando-git-integration/' addthis:title='AccuRev Announces Kando! ' ><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>It’s here! AccuRev today announced Kando, the seamless integration of Git with the AccuRev server. Everyone at AccuRev is incredibly excited about it. As many people know (and as we discussed here last week), Git is increasing in popularity among developers working in small groups or collaborating on open source projects. It’s also fast, flexible, and full of [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2012/01/31/accurev-announces-kando-git-integration/' addthis:title='AccuRev Announces Kando! '  ><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/31/accurev-announces-kando-git-integration/' addthis:title='AccuRev Announces Kando! ' ><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>It’s here! AccuRev today announced <em><strong><a href="http://www.accurev.com/kando">Kando</a></strong></em>, the seamless integration of Git with the AccuRev server. Everyone at AccuRev is incredibly excited about it.</p>
<p>As many people know (and as we discussed here <a href="http://accurev.com/blog/2012/01/26/why-would-anyone-use-git-in-their-enterprise/" target="_blank">last week</a>), <a href="http://git-scm.com/" target="_blank">Git</a> is increasing in popularity among developers working in small groups or collaborating on open source projects. It’s also fast, flexible, and full of developer-friendly features. But when it comes to using Git in an enterprise, the size and complexity of these environments can make it difficult to secure and manage the software development process.</p>
<h2><strong>What makes Kando different from other Git integrations?</strong></h2>
<p>Take a look at the diagram below. With Kando, Git developers push and pull from real Git repositories. Kando takes all changes pushed to these repositories and replicates them on the AccuRev server. Furthermore, any changes made in AccuRev streams that are mapped to Git repositories are replicated in their respective repositories. This means Git users can just do a pull to get those changes, which allows Git users to continue using Git as usual without interacting with AccuRev, if they choose not to.</p>
<h2><a href="http://accurev.com/blog/wp-content/uploads/2012/01/Functionality-Diagram.jpg"><img class="aligncenter size-full wp-image-2994" title="Kando, AccuRev's Git Integration, functionality diagram. " src="http://accurev.com/blog/wp-content/uploads/2012/01/Functionality-Diagram.jpg" alt="Functionality Diagram AccuRev Announces Kando!" width="400" height="376" /></a> <strong>How does Kando benefit Git development environments?</strong><strong> </strong></h2>
<p>Kando enables the flexibility of Git and the security of AccuRev by providing:</p>
<ul>
<li>Support for enterprise authentication via LDAP and Microsoft Active Directory</li>
<li>Fully integrated issue tracking system and Software Change and Configuration Management (SCCM) through change-based development with AccuRev <a href="http://www.accurev.com/change-packages.html">Change Packages</a></li>
<li>User and group-based access control security measures</li>
<li>Visualization of development processes using Git through the AccuRev <a href="http://www.accurev.com/streambrowser.html">StreamBrowser</a></li>
<li>Seamless integration of Git into an AccuRev environment</li>
</ul>
<p>Take a look at how it works:</p>
<p><iframe src="http://www.youtube.com/embed/gUC5OBDhKx4?feature=player_embedded" frameborder="0" width="620" height="349"></iframe></p>
<p>To read more about Kando, watch the demo video, and learn about beta availability, check out the Kando page <a href="http://www.accurev.com/kando">here</a>!</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2012/01/31/accurev-announces-kando-git-integration/' addthis:title='AccuRev Announces Kando! '  ><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/31/accurev-announces-kando-git-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learning From eCommerce Failures – and Successes</title>
		<link>http://accurev.com/blog/2011/09/20/learning-from-e-commerce-failures-%e2%80%93-and-successes/</link>
		<comments>http://accurev.com/blog/2011/09/20/learning-from-e-commerce-failures-%e2%80%93-and-successes/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 17:48:02 +0000</pubDate>
		<dc:creator>clucca</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[SCM Resources]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[eCommerce]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[software development environment]]></category>
		<category><![CDATA[website crash]]></category>

		<guid isPermaLink="false">http://www.accurev.com/blog/?p=2795</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2011/09/20/learning-from-e-commerce-failures-%e2%80%93-and-successes/' addthis:title='Learning From eCommerce Failures – and Successes ' ><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>Mammoth retailer Target must have had very high hopes for big sales when a new designer collection went on sale last week. Unfortunately it ended up being a bust. (The site quickly became overwhelmed and crashed several times throughout the day.) Online retail experts say losses for the retailer could run into the millions as [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2011/09/20/learning-from-e-commerce-failures-%e2%80%93-and-successes/' addthis:title='Learning From eCommerce Failures – and Successes '  ><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/2011/09/20/learning-from-e-commerce-failures-%e2%80%93-and-successes/' addthis:title='Learning From eCommerce Failures – and Successes ' ><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>Mammoth retailer Target must have had very high hopes for big sales when a new designer collection went on sale last week. Unfortunately it ended up <a href="http://www.boston.com/yourtown/cambridge/articles/2011/09/15/massachusetts_providers_not_to_blame_for_target_site_crash/">being a bust</a>. (The site quickly became overwhelmed and crashed several times throughout the day.) Online retail experts say losses for the retailer could run into the millions as a result.</p>
<p>Scenarios like this are not new, though with a large retailer like Target, it was somewhat surprising. The painful reality of eCommerce is when transactional websites experience dramatically increased traffic, there is always a chance that, without well maintained software development measures in place, crash scenarios like Target&#8217;s will occur.</p>
<p>When an eCommerce crisis like this occurs, developers go into fire drill mode to make rapid changes so the site is back up and running as quickly as possible. Software change and configuration management tools play a crucial role in both ongoing updates and crisis management updates, like the Target example.</p>
<p>It’s also important to note that traditional SCM tools won’t cut it when it comes to high volume transaction web sites like Target, Amazon or any major retailer. Most retail and eCommerce sites need enterprise SCM tools that can scale to accommodate large, geographically distributed teams of developers working in parallel. More advanced SCM tools are integral to the success of transactional web sites, both from a day-to-day aspect, and when there are spikes in traffic and transactions for special sales events, promotions, and holiday shopping.</p>
<p>While last week’s incident demonstrated what can go wrong when an eCommerce site experiences significant problems, there are some great stories out there as well.</p>
<p>One such example is that of a very large and well known travel eCommerce site that receives an average of ten million visitors a month.</p>
<p>As with most of the top of travel eCommerce sites, this one is very dynamic. Users can make reservations for airlines, car rental, hotels, sign up for text message alerts about delayed flights, rate their own experiences and much more.</p>
<p>While these features are popular with consumers, these transactional environments are highly complex to manage. At this particular website, there are as many as 40 different development teams working on 40 different projects. One “project” might be car rentals, another hotel reservations, etc.</p>
<p>When development environments have this much complexity, when teams are working in parallel on a wide variety of projects, only the most powerful SCM tools can help minimize version control problems that lead to bugs slipping through. What may appear at first to be a minor issue can, in the worst case scenario, cause an array of site problems and crashes that have a direct impact on the consumer and revenue. This travel site, which uses AccuRev’s SCM solution, is able to do everything possible to ensure the site and the software behind it stay up and running smoothly, 24/7.</p>
<p>The web storefront is a business critical tool for any type of eCommerce business.  For these reasons, enterprise level SCM tools under the hood are essential to success.</p>
<p>What other similar success and web crisis/failure stories have you experienced directly or heard about?</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2011/09/20/learning-from-e-commerce-failures-%e2%80%93-and-successes/' addthis:title='Learning From eCommerce Failures – and Successes '  ><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/2011/09/20/learning-from-e-commerce-failures-%e2%80%93-and-successes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>From Merge Hell to Merge Master</title>
		<link>http://accurev.com/blog/2011/03/23/from-merge-hell-to-merge-master/</link>
		<comments>http://accurev.com/blog/2011/03/23/from-merge-hell-to-merge-master/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 15:33:36 +0000</pubDate>
		<dc:creator>jsherwood</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[change packages]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[SCM Resources]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[version control]]></category>
		<category><![CDATA[branching and merging]]></category>
		<category><![CDATA[change management]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.accurev.com/blog/?p=2576</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2011/03/23/from-merge-hell-to-merge-master/' addthis:title='From Merge Hell to Merge Master ' ><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>Are you frequently called on to perform the daunting task of &#8216;the merge&#8217;? Does tension mount and do groans grow louder when it&#8217;s time for a merge?  Are only a select few are willing to stand up and do the work? Maybe these stages describe your merge process: Denial: It&#8217;s never going to work (in [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2011/03/23/from-merge-hell-to-merge-master/' addthis:title='From Merge Hell to Merge Master '  ><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/2011/03/23/from-merge-hell-to-merge-master/' addthis:title='From Merge Hell to Merge Master ' ><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>Are you frequently called on to perform the daunting task of &#8216;the merge&#8217;? Does tension mount and do groans grow louder when it&#8217;s time for a merge?  Are only a select few are willing to stand up and do the work?</p>
<p>Maybe these stages describe your merge process:</p>
<ol>
<li><strong>Denial</strong>: It&#8217;s never going to work (in a timely manner).</li>
<li><strong>Anger</strong>: Why do <em>I</em> have to do the merge?</li>
<li><strong>Bargaining</strong>: I’ll work on maintenance and support if I don’t have to do the merge.</li>
<li><strong>Depression</strong>: How many compiler errors? Why won&#8217;t the jsp work with firefox?</li>
<li><strong>Acceptance</strong>: Not really, it&#8217;s compiling and (mostly) passing tests.</li>
</ol>
<p>Before we try to get you through the 5 stages of merge, let&#8217;s a take a look at divergence, the cause of a complicated merge.</p>
<h2><strong>Converging Divergence</strong></h2>
<p>There are lots of reasons for divergence, and as many for merge product lines back together.</p>
<p>Maybe you&#8217;re delivering functionality to specific customers, creating customization and personalization of websites, internationalizing your product, even moving from Windows to Linux platforms. So what happens? These areas diverge, developers refactor code, and the product lines look very, very different over time. Sure, you try to propagate changes across the product lines, but each implementation is slightly different. Eventually you realize this is a maintenance nightmare, and some shared areas should be brought back in line (if not the whole product line moving to a single source).</p>
<p>Now comes the hard part. A select few of your developers have to start piecing the code back together. Determining what changes are acceptable, reviewing the functionality, and hopefully getting the appropriate test coverage to verify that the desired changes have been brought back into a single (or at least cleaner) product line. Here&#8217;s where tools really shine (or falter).</p>
<p>Now, I consider myself pretty experienced in the merge department. I&#8217;ve worked on a number of merges of different sizes, dealt with multiple languages (English/Italian), and even migrated to different platforms (Moving from Windows to Macintosh).  Sometimes, I found, tools were a complete hindrance- I remember back in the day, using PVCS or CVS was every man for himself. You just got it working, never mind worrying about who made what code decision, and hopefully extensive tests identified the problems. More modern tools, AccuRev in particular, give you another dimension with merge that I find to be an essential.</p>
<h2><strong>The Merge Master</strong></h2>
<p>AccuRev version tracking, and the changes it tracks (content, name, removal) really help in hunting down the straightforward changes that can result in truly subtle changes in product behavior. Simply knowing that files have been removed in one product, and merging those changes over with a click of a button can eliminate behavior that is hard to determine, especially when the developer doing the merge had a reasonable belief that the files may exist.</p>
<p>Even better, large or midsize merges, can be easily reviewed, grouped into areas of the code and dealt with in a manageable manner. I performed a merge that merged internationalization changes into a product at AccuRev. <strong><em>There were over 7000 files that were altered, added or removed that needed to be managed.</em></strong></p>
<p>Simply grouping the files by directory structure quickly identified which were doc, help, client, java, etc. Then these areas could be dealt with by developers in the specific areas. Further, because AccuRev performs simple <a href="http://www.accurev.com/merge-tracking.html">merges </a>quickly, I was able to perform the initial merges in these areas without having a strong need to understand them, and leave the complex changes to those who specialized in particular areas. This further reduced the amount of effort (and pain) that other team members experienced.</p>
<p>In this 7000+ file example, only about 400 files actually required more specialized investigation. And of the 400, only about 50 had truly complex changes where both sides of the merge made what looked like contrary decisions. Here is another place where AccuRev shines. <em>By looking at the changes made at different points in each of the product lines, and working with <a href="http://www.accurev.com/change-packages.html">change packages</a> that described what the developers where trying to accomplish, I was able to make intelligent decisions about how the code should integrate, instead of just picking &#8216;he who changed it last&#8217;.</em></p>
<p>The two product lines in this case had diverged for about 9 months, and had about 10 developers making changes in each product line. Even with the amount of changes that occurred over this time period, it only took a single developer about <em>2 weeks</em> time to bring the two product lines together. It took only a couple of <em>days </em>to complete the initial code process, walking through the changes and picking (via the AccuRev GUI) which of the changes to take, and editing inline where it was obvious.</p>
<p>During the first week, we were able to finish digging around developer changes via the AccuRev <a href="http://www.accurev.com/version-control.html">version browser </a>in order to help resolve initial compilation failures. This work brought the product to the point where it was compiling on multiple platforms (which is usually even a problem with nightly builds). After another week of going through the validation and user tests, the merge was stable enough to be considered the baseline for the next release. Of course development had already occurred during the two weeks that the merge process took, but with the version tracking <a href="http://www.accurev.com/">AccuRev</a> performs with merges, it became almost trivial to bring in the new changes- within 1 day they were validated and ready to be the new baseline.</p>
<p>Sounds like acceptance to me.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2011/03/23/from-merge-hell-to-merge-master/' addthis:title='From Merge Hell to Merge Master '  ><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/2011/03/23/from-merge-hell-to-merge-master/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Free Webinar: Emerging SCM Best Practices for Agile Development</title>
		<link>http://accurev.com/blog/2009/02/03/free-webinar-emerging-scm-best-practices-for-agile-development/</link>
		<comments>http://accurev.com/blog/2009/02/03/free-webinar-emerging-scm-best-practices-for-agile-development/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 21:12:53 +0000</pubDate>
		<dc:creator>AccuRev</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[SCM Resources]]></category>
		<category><![CDATA[agile development]]></category>
		<category><![CDATA[agile development best practices]]></category>
		<category><![CDATA[agile development webinar]]></category>
		<category><![CDATA[Agile SCM]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[issue-based development]]></category>
		<category><![CDATA[multi-stage continuous integration]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[SCM best practices]]></category>
		<category><![CDATA[scm metrics]]></category>
		<category><![CDATA[SCM tool]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[Uttam Narsu]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/?p=590</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/02/03/free-webinar-emerging-scm-best-practices-for-agile-development/' addthis:title='Free Webinar: Emerging SCM Best Practices for Agile 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>AccuRev is hosting a free Webinar on &#8220;Emerging SCM Best Practices for Agile Development&#8221; on Thursday, February 5 from 1:00 &#8211; 2:00 PM EST. The webinar will introduce the unique demands that agile processes place on legacy SCM tools and ways to build and automate an efficient Agile development process. Damon Poole, AccuRev CTO, and [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/02/03/free-webinar-emerging-scm-best-practices-for-agile-development/' addthis:title='Free Webinar: Emerging SCM Best Practices for Agile 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/2009/02/03/free-webinar-emerging-scm-best-practices-for-agile-development/' addthis:title='Free Webinar: Emerging SCM Best Practices for Agile 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><div id="attachment_609" class="wp-caption alignleft" style="width: 160px"><a href="http://www.accurev.com/agile-software-development.html"><img class="size-full wp-image-609 " title="agile1" src="http://www.accurev.com/blog/wp-content/uploads/2009/02/agile1.gif" alt="More Agile resources" width="150" height="145" /></a><p class="wp-caption-text">More Agile resources</p></div>
<p>AccuRev is hosting a free Webinar on &#8220;<em>Emerging SCM Best Practices for Agile Development</em>&#8221; on <strong>Thursday, February 5 from 1:00 &#8211; 2:00 PM EST</strong>. The webinar will introduce the unique demands that agile processes place on legacy SCM tools and ways to build and automate an efficient Agile development process. Damon Poole, AccuRev CTO, and Uttam Narsu will be presenting.</p>
<p>Mr. Narsu, an industry expert on <a href="http://www.accurev.com/software-configuration-management.html">software configuration management</a> (SCM) best practices and former Forrester/Giga analyst, will discuss the most important aspects to consider when applying <a href="http://www.accurev.com/whitepaper/bestpractices">SCM best practices</a> to an agile world.  Mr. Poole will discuss how Multi-stage <a href="http://www.accurev.com/continuous-integration.html">Continuous Integration</a> can solve some of the underlying impediments to a successful Agile development environment.</p>
<p>&#8220;SCM is critical to Agile success. If your SCM tools don’t provide integrated and seamless support for Agile, you won’t get widespread adoption of <a href="http://www.accurev.com/agile-software-development.html">Agile development</a>,&#8221; said Narsu. &#8220;Development teams require brutally efficient SCM tools, but the tools must still be issue-based, must have support for flexible process models, and enable efficient branching, merging, and refactoring. The <a href="http://www.accurev.com/scm.html">SCM tool</a> should also provide private workspaces and assist continuous integration.&#8221;</p>
<p>Mr. Narsu has worked with hundreds of clients using wildly differing software development environments. While clients who succeed with agile development have strong SCM practices, the best practiced <a href="http://www.accurev.com/agile-scm.html">agile SCM</a>: transparently integrated, flexible, and collaborative.</p>
<p><strong>Specific topics discussed will include:</strong></p>
<ul type="disc">
<li>Typical SCM obstacles to Agile success and how to avoid them;</li>
<li>Key Agile Process requirements for SCM products and specific use case scenarios;</li>
<li>Challenges with <a href="http://www.accurev.com/continuous-integration.html">continuous integration</a>, and how Multi-stage Continuous Integration delivers value and how to adopt it today; and</li>
<li>Key <a href="http://blog.accurev.com/2008/07/16/why-traceability-matters/">SCM metrics</a> for delivering on Agile development goals.</li>
</ul>
<p><strong>Register here for this free webinar taking place on Thursday, February 5th from 1:00-2:00 EST: </strong><a href="http://www.accurev.com/webinar.html">Emerging SCM Best Practices for Agile Development</a>.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/02/03/free-webinar-emerging-scm-best-practices-for-agile-development/' addthis:title='Free Webinar: Emerging SCM Best Practices for Agile 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/2009/02/03/free-webinar-emerging-scm-best-practices-for-agile-development/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>Free Webinar: The Business Case for Pragmatic ALM &#8211; Agility with Governance</title>
		<link>http://accurev.com/blog/2008/12/01/free-webinar-the-business-case-for-pragmatic-alm-agility-with-governance/</link>
		<comments>http://accurev.com/blog/2008/12/01/free-webinar-the-business-case-for-pragmatic-alm-agility-with-governance/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 16:06:00 +0000</pubDate>
		<dc:creator>jwaccurev</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[SCM Resources]]></category>
		<category><![CDATA[AccuRev webinar]]></category>
		<category><![CDATA[Agile and compliance]]></category>
		<category><![CDATA[agile process]]></category>
		<category><![CDATA[Agility]]></category>
		<category><![CDATA[ALM]]></category>
		<category><![CDATA[Free agile webinar]]></category>
		<category><![CDATA[Governance]]></category>
		<category><![CDATA[manage multiple processes]]></category>
		<category><![CDATA[Pragmatic ALM]]></category>
		<category><![CDATA[release management]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[software change and configuration management]]></category>
		<category><![CDATA[Software Configuration Management]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=537</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/12/01/free-webinar-the-business-case-for-pragmatic-alm-agility-with-governance/' addthis:title='Free Webinar: The Business Case for Pragmatic ALM &#8211; Agility with Governance ' ><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>As an AccuRev blog reader, you&#8217;re welcome to attend our upcoming free webinar that will discuss the intersection of Agile development and governance: As more and more software development teams adopt Agile or other iterative processes it becomes difficult for them to reconcile the current state of their governance practices with a need for greater [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/12/01/free-webinar-the-business-case-for-pragmatic-alm-agility-with-governance/' addthis:title='Free Webinar: The Business Case for Pragmatic ALM &#8211; Agility with Governance '  ><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/01/free-webinar-the-business-case-for-pragmatic-alm-agility-with-governance/' addthis:title='Free Webinar: The Business Case for Pragmatic ALM &#8211; Agility with Governance ' ><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>As an AccuRev blog reader, you&#8217;re welcome to attend our upcoming free webinar that will discuss the intersection of Agile development and governance:</p>
<div>As more and more software development teams adopt Agile or other iterative processes it becomes difficult for them to reconcile the current state of their governance practices with a need for greater speed and improved productivity. Developers get frustrated with overbearing compliance regimens that fence them in and stifle creativity, while their managers struggle with the need to balance innovation and speed with predictability and control. In today’s market environment, eliminating waste and fast implementations that demonstrate value quickly are essential.</div>
<div>
<p>Join experts from AccuRev and special guest <strong>Forrester Senior Analyst <a href="http://www.forrester.com/rb/analyst/jeffrey_hammond" target="_blank">Jeffrey Hammond</a></strong>, as they examine the market trends that are driving many organizations to reassess their software development and release processes, and what steps and tools these development teams are taking to best support heterogeneous software development process environments. You will also see a live demonstration of how to implement pragmatic ALM with AccuRev.</div>
<p><strong>Attend this Webinar and learn:</strong></p>
<p>How Agile processes and compliance can coexist in harmony</p>
<p>What pragmatic ALM is and how it can help you solve today’s business challenges</p>
<p>How to manage multiple processes dependent on project requirements (Waterfall, Agile, etc.)</p>
<p>Best practices for optimizing tools and processes for both software development and release management.</p>
<p><strong>When:</strong> Thursday, December 4 at 1:00 PM EST</p>
<p><strong>Register: </strong><a href="https://www1.gotomeeting.com/register/346195726?mtcCampaign=6338" target="_blank">The Business Case for Pragmatic ALM: Agility with Governance</a></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/12/01/free-webinar-the-business-case-for-pragmatic-alm-agility-with-governance/' addthis:title='Free Webinar: The Business Case for Pragmatic ALM &#8211; Agility with Governance '  ><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/01/free-webinar-the-business-case-for-pragmatic-alm-agility-with-governance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developing in streams, releasing from streams</title>
		<link>http://accurev.com/blog/2008/09/25/developing-in-streams-releasing-from-streams/</link>
		<comments>http://accurev.com/blog/2008/09/25/developing-in-streams-releasing-from-streams/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 17:24:42 +0000</pubDate>
		<dc:creator>matthew d. laudato</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[version control]]></category>
		<category><![CDATA[branches]]></category>
		<category><![CDATA[change management]]></category>
		<category><![CDATA[JIRA]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[software development process]]></category>
		<category><![CDATA[streams]]></category>
		<category><![CDATA[tags]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=366</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/09/25/developing-in-streams-releasing-from-streams/' addthis:title='Developing in streams, releasing from streams ' ><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 Matthew Laudato When I read the following blog, Developing in branches, releasing from trunk about a software configuration management development process that was constrained and tortured by branches, I had an &#8216;aha&#8217; moment. Actually, I had three moments. They went something like this: 1. Branches are obsolete, so why does anyone still use them? 2. People [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/09/25/developing-in-streams-releasing-from-streams/' addthis:title='Developing in streams, releasing from streams '  ><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/09/25/developing-in-streams-releasing-from-streams/' addthis:title='Developing in streams, releasing from streams ' ><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 Matthew Laudato</strong></p>
<p>When I read the following blog, <a href="http://www.woloszyn.org/2008/09/12/developing-in-branches-releasing-from-trunk/" target="_blank">Developing in branches, releasing from trunk</a> about a <a href="http://www.accurev.com/software-configuration-management-resources.htm" target="_blank">software configuration management</a> development process that was constrained and tortured by branches, I had an &#8216;aha&#8217; moment. Actually, I had three moments. They went something like this:</p>
<p>1. Branches are obsolete, so why does anyone still use them?</p>
<p>2. People use them because they are unaware of the alternatives &#8211; specifically streams.</p>
<p>3. I must act quickly to save my coding comrades from any further branch related pain.</p>
<p>If there is a cyberspace equivalent of shouting from the rooftops, then this blog post is it. My goal is to help the author to simplify his development process, and to free him and his team from the time-wasting, error-prone, outdated branch-induced hysteria that is clearly evident in his post. OK, so maybe that last sentence was a little hysterical, but you get the point.</p>
<p>In the post (which I encourage you to <a title="Developing in branches, releasing from trunk" href="http://www.woloszyn.org/2008/09/12/developing-in-branches-releasing-from-trunk/" target="_blank">read first</a>), the author outlines a branch-centric process that goes something like this:</p>
<p>- create issues in JIRA for feature (defect, etc) work</p>
<p>- create a Subversion branch for each JIRA issue, named by the JIRA issue ID (eg, SUP-3452). Developers write code on these feature branches.</p>
<p>- create a JIRA release (for example, R4.2) and target the issues created above to this release</p>
<p>- create a Subversion branch (off of the &#8216;trunk&#8217;) with the same name &#8216;R4.2&#8242;.</p>
<p>- Write a bunch of scripts that look at the JIRA release, find all the issues for that release, look at Subversion for the branches that are named for said issues, merge these branches to the release (R4.2) branch.</p>
<p>- Do some testing on the R4.2 branch</p>
<p>- Tag the release R4.2 branch</p>
<p>- Release software</p>
<p>- Merge the R4.2 tag back into the trunk</p>
<p>Rinse, repeat for the next release.</p>
<p>For some reason, I&#8217;m reminded at this point of a character in Tom Robbins&#8217; &#8220;Even Cowgirls Get the Blues&#8221;. The character had a little business card that he would hand to people. One one side it read, &#8216;I believe in everything, nothing is sacred&#8217;. On the other side it read, &#8216;I believe in nothing, everything is sacred&#8217;. When I think about the author&#8217;s process, one side of my brain says &#8216;there is nothing wrong with this process&#8217;, and almost immediately, the other side screams &#8216;there is everything wrong with this process&#8217;. The truth is somewhere in the middle, and it all comes down to branches.</p>
<p>The problem with this process is that branches get in the way. The idea of isolating features in your <a href="http://www.accurev.com/software-configuration-management-resources.htm" target="_blank">SCM tool</a> is a good one. Although I don&#8217;t personally agree with the idea of dedicating an SCM construct per-feature, there are plenty of people who do. (See <a title="Stream-per-task paradigm" href="http://blog.accurev.com/2007/10/11/stream-per-task-paradigm-with-accurev-software-configuration-management/" target="_blank">Stream-per-task paradigm</a>, for example by Dave Thomas). But that&#8217;s not the point. Whether you put one feature or ten in it, a branch constrains your ability to work efficiently. Once you create a branch, it loses all contact with the outside world, most importantly, with its own history and its relationship to other branches. The author even admits jokingly that a &#8216;release manager&#8217; will likely be needed to handle the merges. Ya think?</p>
<p>Here&#8217;s an alternative process that uses AccuRev streams:</p>
<p>- <a href="http://www.accurev.com/webinar/200706-jira" target="_blank">Create issues in JIRA</a> as before for the desired features and fixes and assign to developers. Use AccuBridge for JIRA to sync those issues into AccuRev</p>
<p>- Create a stream for R4.2</p>
<p>- Create (or reparent existing) developer workspaces off of this stream.</p>
<p>- When developers finish coding, they use &#8216;promote to issue&#8217; to push the code to the R4.2 stream (automatically creating a change package that associates the code changes with the JIRA issue, and automatically updating the JIRA issue with an annotation about said code changes).</p>
<p>At this point, the R4.2 stream contains everything that you want to release. If you decide to back out a feature, you can use the revert by change package feature to remove it from the stream. The code changes are always available in the developer&#8217;s workspace if you need to revive them in the future. Once it is time to release, you can create a snapshot of the R4.2 stream to preserve it, and then you can go about working on the next release. If R4.2 and R5.0 (The Next Big Release) are happening in parallel, you could create an R5.0 stream as a child of R4.2, so that the R5.0 stream automatically inherits all of the R4.2 changes.</p>
<p>The advantages are many:</p>
<p>- Fewer and simpler merges</p>
<p>- Right-sized feature isolation and management</p>
<p>- <a href="http://www.accurev.com/scm_comparisons.html" target="_blank">Inherent parallelism through code inheritence</a></p>
<p>- Fewer process steps</p>
<p>- Built-in automation and thus fewer opportunities for manual errors.</p>
<p>I could go on, but I hear the footsteps in the hallway. There are people out there who don&#8217;t want you to know about streams. &#8220;We&#8217;ve always used branches,&#8221; they&#8217;ll say. &#8220;We&#8217;re too smart to use some vendor&#8217;s solution,&#8221; others will say. I say, don&#8217;t listen to them. Fight the power. Walk right up to them and say &#8220;Why branch when you can stream?&#8221; And then go ahead and watch your team spend less time fighting with branches and merges, and more time writing features and fixes for your customers.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/09/25/developing-in-streams-releasing-from-streams/' addthis:title='Developing in streams, releasing from streams '  ><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/09/25/developing-in-streams-releasing-from-streams/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dr. Strangecode, or How I Learned to Stop Worrying and Love Old Code</title>
		<link>http://accurev.com/blog/2008/09/17/dr-strangecode-or-how-i-learned-to-stop-worrying-and-love-old-code/</link>
		<comments>http://accurev.com/blog/2008/09/17/dr-strangecode-or-how-i-learned-to-stop-worrying-and-love-old-code/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 12:43:32 +0000</pubDate>
		<dc:creator>cboran</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Customer Guest Blogs]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[bigballofmud]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[martinfowler]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[Software Configuration Management]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=332</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/09/17/dr-strangecode-or-how-i-learned-to-stop-worrying-and-love-old-code/' addthis:title='Dr. Strangecode, or How I Learned to Stop Worrying and Love Old Code ' ><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 Chris Boran Several years ago I happened to be browsing in my favourite local bookstore and one book in particular caught my eye: Martin Fowler&#8217;s Refactoring: Improving the Design of Existing Code This is the book that changed my whole career. Up until that point, I had lived in a constant state of fear [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/09/17/dr-strangecode-or-how-i-learned-to-stop-worrying-and-love-old-code/' addthis:title='Dr. Strangecode, or How I Learned to Stop Worrying and Love Old Code '  ><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/09/17/dr-strangecode-or-how-i-learned-to-stop-worrying-and-love-old-code/' addthis:title='Dr. Strangecode, or How I Learned to Stop Worrying and Love Old Code ' ><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 Chris Boran</p>
<p>Several years ago I happened to be browsing in my favourite local bookstore and one book in particular caught my eye: <a title="Martin Fowler" href="http://www.martinfowler.com" target="_blank">Martin Fowler&#8217;s</a> <a title="Refactoring" href="http://www.amazon.com/exec/obidos/ASIN/0201485672" target="_blank">Refactoring: Improving the Design of Existing Code</a></p>
<p>This is the book that changed my whole career. Up until that point, I had lived in a constant state of fear of change. I viewed old code as a house of cards &#8211; if I wasn&#8217;t very careful, it was all going to come down around me. Whenever my boss asked me for advice about what to do in a given area of the code, my answers were almost always similar to:</p>
<blockquote><p>The risk of doing anything but the smallest possible change is <strong>huge</strong> &#8211; so either we do something that is an ugly hack that we will regret later, or we need to take the whole thing apart and re-implement the whole subsystem from the ground up.</p></blockquote>
<p>And predictably, my boss&#8217;s answer was always something like:</p>
<blockquote><p>Okay, we will live with the hack for now, but in the next release we will make time to do it right.</p></blockquote>
<p>Of course every release we were forced to make many similar decisions. When the next release would come, the newly conceived product features would get priority over fixing code that was already working passably. In practice we might get lucky and be able to spend lots of time rewriting a single small subsystem, but introduce ugly hacks that would put 4 other systems on the map for future re-implementation.</p>
<p>The end result is affectionately referred to as a <a title="BigBallOfMud" href="http://en.wikipedia.org/wiki/Big_ball_of_mud" target="_blank">Big Ball of Mud</a>. Yup, it is every bit as pleasant as it sounds. Life is just so miserable when you come to work every day knowing you are going to have to pack another layer of mud on the ball. You gripe about it. Your teammates gripe about it. Your boss gripes about it. Somehow you never seem to make a whole lot of forward progress.</p>
<p>As I read the book, I was at first skeptical. I thought that bad old code needed to be thrown away and not revitalized! But I wanted to see if it would work, and so I set out to try it. I was very careful to follow the techniques exactly as they are laid out in the book. I made sure not to use the word refactor when I really meant rewrite. I was careful to refactor the code every time I saw something I wanted to change and not just note it for later. I made sure that my refactorings were small. I took my time with it.</p>
<p>Obviously working this way required that I also be doing very good unit testing, but I had already bought into <a title="TestDrivenDevelopment" href="http://en.wikipedia.org/wiki/Test-driven_development" target="_blank">Test Driven Development</a>. I was already writing unit tests for code before fixing bugs in an attempt to prevent regressions. Running these tests after each refactoring was not a big challenge for me.</p>
<p>Bit by bit I discovered the truth. By applying the refactoring techniques, I could take pieces that I thought needed to completely rewriten and make them better while I was fixing bugs in that area. I could kill two birds with one stone.</p>
<p>Then I discovered <a title="Eclipse" href="http://eclipse.org" target="_blank">Eclipse</a>. The built-in refactoring browser captivated me. Suddenly there was a good, fool proof way to do many of the common refactorings, and automation to keep them introducing new errors. My commitment to refactoring was completed and the defect rates in the code that I was responsible for maintaining declined dramatically. I was a convert. Since that time refactoring has been a cornerstone technique in my arsenal. I no longer lived in fear and loathing of old code!</p>
<p>One refactoring that I have still found to be painful, despite Eclipse&#8217;s facilities, is renaming files/classes. In most <a href="http://www.accurev.com/software-configuration-management-resources.htm" target="_blank">software configuration management</a> (SCM) tools, renaming files can have unfortunate unintended side effects because the identity of a file is its path. This leads to a great many developers to name a class once, and then never change its name &#8211; even if that name does not make sense and the design of the code and the classes primary purpose and responsibilities change.</p>
<p>Luckily for me, I am a long time Accurev user. In Accurev, files are not identified by their pathnames, but rather by a unique id. This makes it possible to quickly and easily rename files with no negative side effect. However this process was inconvenient &#8211; I would have to drop out of Eclipse, rename the file with Accurev&#8217;s tools, and then refresh my workspace. Not ideal, but it worked. That is why I was so pleased when the <a title="AccurevEclipse" href="http://www.accurev.com/accubridge-eclipse.html" target="_blank">Accurev-Eclipse Plugin</a> was released &#8211; it integrated the Eclipse Refactoring browser&#8217;s rename actions with Accurev&#8217;s capabilities to make the whole experience seemless. Accurev has helped me to maintain well thought out, easy to understand designs despite constant evolution to those designs.</p>
<div id="adb-tooltip">
<div style="border: 5px solid #c4dae8; font-family: arial; font-style: normal; font-variant: normal; font-weight: bold; font-size: 11px; line-height: 13px; background-color: white; color: #333333; margin: 0;">
<div style="border: 1px solid #78b3d9; text-align: left; padding: 5px;">
<div>Person<span style="color: #006699;"> Martin Fowler&#8217;s</span></div>
<div style="color: #999999; line-height: 14px;">Right click for SmartMenu shortcuts</div>
</div>
</div>
</div>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/09/17/dr-strangecode-or-how-i-learned-to-stop-worrying-and-love-old-code/' addthis:title='Dr. Strangecode, or How I Learned to Stop Worrying and Love Old Code '  ><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/09/17/dr-strangecode-or-how-i-learned-to-stop-worrying-and-love-old-code/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Whither branches?</title>
		<link>http://accurev.com/blog/2008/09/02/whither-branches/</link>
		<comments>http://accurev.com/blog/2008/09/02/whither-branches/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 19:15:14 +0000</pubDate>
		<dc:creator>matthew d. laudato</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[branch]]></category>
		<category><![CDATA[branches vs streams]]></category>
		<category><![CDATA[code promotion]]></category>
		<category><![CDATA[developer workspace]]></category>
		<category><![CDATA[main line branch]]></category>
		<category><![CDATA[promoting code]]></category>
		<category><![CDATA[release management]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[software development process]]></category>
		<category><![CDATA[stream]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=325</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/09/02/whither-branches/' addthis:title='Whither branches? ' ><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>First, for all of you English majors out there, yes, the title is a deliberate play on words. My initial inclination was to use &#8216;wither&#8217; instead of &#8216;whither&#8217;, to imply that SCM systems that still used branches were dried up and rotting legacies of a less enlightened past. But since this post is a response [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/09/02/whither-branches/' addthis:title='Whither branches? '  ><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/09/02/whither-branches/' addthis:title='Whither branches? ' ><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>First, for all of you English majors out there, yes, the title is a deliberate play on words. My initial inclination was to use &#8216;wither&#8217; instead of &#8216;whither&#8217;, to imply that <a href="http://www.accurev.com/scm_comparisons.html" target="_blank">SCM systems</a> that still used branches were dried up and rotting legacies of a less enlightened past. But since this post is a response to a blog I read about the limits of branches, I though &#8216;whither&#8217; was more appropriate, as I am really talking about the overall disposition of branches and how they should be used.</p>
<p>The author of &#8220;<a title="Is Branching the Answer?" href="http://www.fishandcross.com/blog/?p=231" target="_blank">Is branching the answer?&#8221;</a> poses several interesting and important observations about the <a href="http://www.accurev.com/private-versioning.html" target="_blank">limitations of branching</a> as a means to push source code through a development process. My goal in this post is to show the reader how AccuRev addresses those issues.</p>
<p>To begin with, the author correctly notes that branches are often used to identify stages in a development process, and that merges are then used to &#8216;promote&#8217; code through these branches as the code evolves. My first comment is on private branches, which AccuRev replaces with private developer workspaces. Private workspaces are essentially full SCM environments on a developer desktop, as opposed to the copies that private branches in, say, Subversion are. The practical difference is then when you promote from an AccuRev workspace, merges are required only for those changes that are in conflict with existing changes in the parent stream. The general case is that promotes are clean and do not require merges at all.</p>
<p>The author then lists four problems with the approach of using branches to &#8216;automate sharing of code changes within a team&#8217;. For most file and branch based systems, I tend to agree with the author, so my comments are on how AccuRev addresses these issues:</p>
<p>1. It encodes the team&#8217;s process into the file history of code making it difficult to quickly adjust the process as team conditions change.</p>
<p>With standard branches, that is true. With AccuRev, streams represent how code flows through the system. File histories reflect the individual ancestry of files. Since streams can be easily <a href="http://www.accurev.com/demonstration.html" target="_blank">reparented,</a> there is nothing difficult about changing the process.</p>
<p>2. Using a merge to promote changes introduces the possibiliy of an incomplete or bad merge that hides its effect, namely that the code isn&#8217;t promoted, or worse additional code is injected that doesn&#8217;t belong.</p>
<p>Promotion is a fundamental operation in AccuRev. Code changes are designed to be pushed up the stream hierarchy, from developers, to QA, all the way up to release. The only required merges are those that arise naturally from conflicts, and AccuRev&#8217;s merge tools make it straightforward to assure that merges when required are performed accurately. There are absolutely no &#8216;merges that are simply code promotions&#8217;. Also, it is impossible in AccuRev for anything &#8216;incomplete&#8217; to get promoted. AccuRev uses atomic transactions for all operations, so success or failure is binary.</p>
<p>3. It clouds the history of file changes with multiple merges that make it difficult to understand if changes have correctly been merged and makes it hard to understand what is in a build of the software.</p>
<p>See previous response. One additional comment &#8211; there is no magic bullet for merges. AccuRev helps you identify when a merge is required, but to my knowledge there are no tools that help you decide whether changes have been correctly merged from a semantic point of view. Put another way, AccuRev can tell you that lines 3 and 4 are in conflict and require a merge, but only a human being can know how to properly resolve the conflict. That&#8217;s why they pay us the big bucks! As for what is in a given build, atomic transactions in AccuRev and the <a href="http://www.accurev.com/timesafe.html" target="_blank">TimeSafe architecture</a> assure that the contents of a given stream are unambiguous at any point in time.</p>
<p>4. It makes it hard to promote code to software teams that don&#8217;t have a close common branch. For example, you want to merge a fix from one project to another but the only common branch is the main line and merging there will hit production before you want to.</p>
<p>Streams make it easy to isolate lines of development from each other, especially for this common case. There is no need for a &#8216;common branch&#8217; in order to do this. You simply place the changes of interest on the change palette and select the destination stream.</p>
<p>As to the author&#8217;s final point about Telelogic Synergy and change set routing, I will just say that AccuRev <a href="http://www.accurev.com/change-packages.html" target="_blank">change packages</a> provide a logical grouping of changes that can be promoted, reverted and routed in a similar fashion.</p>
<p>Overall, this was a very interesting post and I congratulate the author on identifying and commenting on the problems with branches in <a href="http://www.accurev.com/solutions.html" target="_blank">release management</a>.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/09/02/whither-branches/' addthis:title='Whither branches? '  ><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/09/02/whither-branches/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>AccuRev naming conventions</title>
		<link>http://accurev.com/blog/2008/07/08/accurev-naming-conventions/</link>
		<comments>http://accurev.com/blog/2008/07/08/accurev-naming-conventions/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 19:44:05 +0000</pubDate>
		<dc:creator>AccuRev</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Customer Guest Blogs]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[AccuRev naming conventions]]></category>
		<category><![CDATA[naming conventions]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[Software Configuration Management]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=218</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/07/08/accurev-naming-conventions/' addthis:title='AccuRev naming conventions ' ><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 Tomas Lundström, ReadSoft A consistent naming scheme makes your life easier and is also a good way of avoiding name clashes in AccuRev. Here follows my stab at it. (With one important disclaimer; for multi-depot installations, you should use a depot prefix for all streams, to avoid name clashes between depots)   AccuRev Codelines [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/07/08/accurev-naming-conventions/' addthis:title='AccuRev naming conventions '  ><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/08/accurev-naming-conventions/' addthis:title='AccuRev naming conventions ' ><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><span style="font-size:10pt;color:#000000;font-family:Arial"><strong>By Tomas Lundström, ReadSoft</strong></span></p>
<p>A consistent naming scheme makes your life easier and is also a good way of avoiding name clashes in AccuRev. Here follows my stab at it. (With one important disclaimer; for multi-depot installations, you should use a <em>depot prefix</em> for all streams, to avoid name clashes between depots)</p>
<p> </p>
<h4>AccuRev Codelines and Baselines</h4>
<p>The following naming rules apply:</p>
<ul>
<li><strong>Character set</strong>. For scripting compatibility, allowed characters are English alphanumericals, underscore &#8216;_&#8217;, hyphen &#8216;-&#8217; and period &#8216;.&#8217;.<br />
In particular, blanks, Swedish characters and slashes are disallowed.</li>
<li><strong>Case</strong>. Product names and keywords exclusively use ALL UPPER CASE, other text and component names use mixed case.<br />
Examples:APPROVE_REL, Libraries_DEV</li>
<li><strong>Main codeline streams</strong>: <span>&lt;CODELINE&gt;_&lt;LEVEL&gt;</span><br />
Examples: APPROVE_REL, DOCUMENTS_DEV<br />
In the basic case, there are two (optionally three) levels of streams for a codeline:</p>
<ul>
<li><strong>REL</strong>. Release stream, where final main releases of products are done.</li>
<li><strong>QA</strong>. QA stream (optional). If not present, the REL Stream serves QA as well</li>
<li><strong>DEV</strong>. Development stream where developers share code, and perform initial integration.<strong><br />
</strong></li>
</ul>
</li>
<li><strong>Maintenance codeline streams (&#8216;branches&#8217;)</strong>: <span>&lt;CODELINE&gt;_&lt;VERSION&gt;_&lt;LEVEL&gt;</span><br />
Examples: <span>APPROVE_5-1_REL, DOCUMENTS_6-3_DEV</span><br />
Maintenance codelines may be single level, in which case it shall have the level REL, or it can be two or three levels, just like a main codeline.</li>
<li><strong>Other codeline streams</strong>: <span>&lt;CODELINE&gt;[_&lt;VERSION&gt;]_&lt;PURPOSE&gt;[_&lt;LEVEL&gt;]<br />
</span>Examples: <span>APPROVE_portToVS2005, APPROVE_5-1_hotfix47<br />
</span>These streams are used for e.g. hotfixes, service packs, substantial tasks, subprojects, teams, experiments and acceptance tests. Most streams will be single level, so the level can be omitted. In most cases, the version can be omitted as well, since it will be evident from the context (i.e. its parent stream).</li>
<li><strong>Snapshots</strong>: <span>&lt;PARENT STREAM&gt;<strong>_</strong>&lt;TIME&gt;[<strong>_B</strong>&lt;BUILD#&gt;][<strong>_</strong>&lt;PURPOSE&gt;]</span><br />
Example: <span>APPROVE_5-1_REL_D051127T1347_B6365_iRC01<br />
</span></li>
<li><strong>Workspace Streams:</strong> <span>&lt;PARENT STREAM&gt;[_&lt;host&gt;|&lt;number&gt;]_&lt;USER&gt;<br />
</span>Normally the default scheme should be used, where the AccuRev wizard attaches the user name to the stream name, i.e. the user name should never be explicitly written out when creating a Workspace!<br />
If a user has several workspaces on the same stream, they have to be distinguished by some kind of identification. For workspaces on different computers, the host name shall be used. For workspaces on the same computer, an integer number shall be used.<br />
Examples: <span>APPROVE_DEV_3_tomas, APPROVE_DEV_buildserver12_tomas<br />
</span></li>
<li><strong>Reference Trees:</strong> &lt;<span>PARENT STREAM&gt;_RT[<strong>_</strong>&lt;PURPOSE&gt;][_&lt;host&gt;|&lt;number&gt;]</span><br />
A reference tree cannot have the same name as an existing reference tree or workspace. In case of conflict, use the same distinguishing naming rules as for Workspaces.<br />
Example: <span>APPROVE_REL_RT_NIGHTLYBUILD_buildserver12<br />
</span></li>
<li><strong>Pass-through streams</strong>: <span>&lt;CODELINE&gt;_PT_&lt;PURPOSE&gt;<br />
</span>No changes &#8216;stick&#8217; to pass-through streams. However, include/exclude rules apply, so they can e.g. be used for grouping other streams/workspaces that share visibility rules.<span><br />
Example: Documentation_PT_APPROVE</span></li>
</ul>
<p class="MsoBodyText"><strong>&lt;CODELINE&gt;</strong> is typically a product or component name, such as <em>APPROVE</em> or <em>Utilities</em></p>
<p class="MsoBodyText"><strong>&lt;VERSION&gt;</strong> is the commercial product version, e.g. 5-1</p>
<p class="MsoBodyText"><strong>&lt;TIME&gt;</strong> is on the form: <strong><span>D</span></strong><span>yymmdd[<strong>T</strong>hhmm] </span>Time is optional.</p>
<p class="MsoBodyText"><strong>&lt;PURPOSE&gt;</strong> is used for additional comments:</p>
<ul>
<li>Hotfix number (<strong>HOTFIX</strong>yy)</li>
<li>ServicePack number (<strong>SP</strong>yy)</li>
<li>Release Candidates (<strong>iRC</strong>xx, <strong>eRC</strong>yy)</li>
<li>Other useful freetext information about the purpose of the stream, such as:
<ul>
<li>For customer specific development (e.g. pilot projects): the company name<br />
Example: APPROVE_Volvo</li>
</ul>
</li>
</ul>
<p>For tasks: The task name and/or unique identifier<br />
Example: APPROVE_PurchaseOrders</p>
<p> </p>
<div><span style="font-size:12pt">best regards,</span></div>
<div><span style="font-size:12pt">/Tomas</span></div>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/07/08/accurev-naming-conventions/' addthis:title='AccuRev naming conventions '  ><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/08/accurev-naming-conventions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

