<?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; Customer Guest Blogs</title>
	<atom:link href="http://accurev.com/blog/category/customer-guest-blogs/feed/" rel="self" type="application/rss+xml" />
	<link>http://accurev.com/blog</link>
	<description>SCM and Agile Software Development Blog</description>
	<lastBuildDate>Fri, 03 Feb 2012 19:28:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Agile Comes to You Seminar Re-cap</title>
		<link>http://accurev.com/blog/2010/10/20/agile-comes-to-you-seminar-re-cap/</link>
		<comments>http://accurev.com/blog/2010/10/20/agile-comes-to-you-seminar-re-cap/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 17:19:38 +0000</pubDate>
		<dc:creator>AccuRev</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[AgileCycle]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Customer Guest Blogs]]></category>
		<category><![CDATA[Enterprise Agile]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[SCM Resources]]></category>
		<category><![CDATA[agile comes to you]]></category>
		<category><![CDATA[agile seminar]]></category>
		<category><![CDATA[agile2u]]></category>
		<category><![CDATA[anthillpro]]></category>
		<category><![CDATA[Rally]]></category>

		<guid isPermaLink="false">http://www.accurev.com/blog/?p=2419</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2010/10/20/agile-comes-to-you-seminar-re-cap/' addthis:title='Agile Comes to You Seminar Re-cap ' ><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>Our Agile Comes to You seminar tour with AnthillPro and Rally is starting to wind down, with only 1 more seminar to go in this round!  (Check out our events page for more information.)   It&#8217;s been a very successful tour thus far, we have answered a lot of your questions about Agile adoption and [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2010/10/20/agile-comes-to-you-seminar-re-cap/' addthis:title='Agile Comes to You Seminar Re-cap '  ><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/2010/10/20/agile-comes-to-you-seminar-re-cap/' addthis:title='Agile Comes to You Seminar Re-cap ' ><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>Our <strong>Agile Comes to You</strong> seminar tour with AnthillPro and Rally is starting to wind down, with only 1 more seminar to go in this round!  (Check out our <a href="http://www.accurev.com/events.html" target="_blank">events page</a> for more information.)   It&#8217;s been a very successful tour thus far, we have answered a lot of your questions about Agile adoption and Agile pain points, worked with some great presenters, and met a lot of Agile enthusiasts.</p>
<p>Check out <a href="http://todaysbigpicture.blogspot.com/2010/10/review-agile-comes-to-you-minneapolis.html" target="_blank">what attendees are saying</a> about Agile Comes to You, read a<a href="http://davidpthomas.wordpress.com/2010/10/12/agile-tour-let-me-clara-round-mesa-for-you/"> presenter&#8217;s point of view </a>about a recent seminar, or follow #Agile2U on Twitter.</p>
<p><strong>Agile Comes to You</strong> is brought to you by:</p>
<p>﻿﻿﻿<strong> <a href="http://www.accurev.com/blog/wp-content/uploads/2010/10/logos.jpg"><img class="aligncenter size-full wp-image-2421" title="Agile Comes to You seminar" src="http://www.accurev.com/blog/wp-content/uploads/2010/10/logos.jpg" alt="logos Agile Comes to You Seminar Re cap" width="511" height="44" /></a><br />
</strong></p>
<p>Missed the seminars?  Here are a few more events you might be interested in: <a href="http://www.accurev.com/events.html">http://www.accurev.com/events.html</a></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2010/10/20/agile-comes-to-you-seminar-re-cap/' addthis:title='Agile Comes to You Seminar Re-cap '  ><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/2010/10/20/agile-comes-to-you-seminar-re-cap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vim4accurev &#8211; New Release (v1.1)</title>
		<link>http://accurev.com/blog/2009/10/02/vim4accurev-new-release-v1-1/</link>
		<comments>http://accurev.com/blog/2009/10/02/vim4accurev-new-release-v1-1/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 04:05:44 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[Customer Guest Blogs]]></category>
		<category><![CDATA[SCM Resources]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/?p=1001</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/10/02/vim4accurev-new-release-v1-1/' addthis:title='vim4accurev &#8211; New Release (v1.1) ' ><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>I’m happy to announce that the latest official version of the AccuRev SCM plugin for Vim is now available! Download release 1.1 here. Major features include: on-demand plugin enable/disable (aka Airplane Mode) support annotate/blame launching stream browser and graphical merge ability to edit files and identify AccuRev workspace regardless of current working directory updated docs [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/10/02/vim4accurev-new-release-v1-1/' addthis:title='vim4accurev &#8211; New Release (v1.1) '  ><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/10/02/vim4accurev-new-release-v1-1/' addthis:title='vim4accurev &#8211; New Release (v1.1) ' ><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>
<div>
<p>I’m happy to announce that the latest official version of the AccuRev SCM plugin for Vim is now available!</p>
<p>Download release 1.1 <a title="vim4accurev release 1.1" href="http://vim4accurev.wordpress.com/download/">here.</a></p>
<p>Major features include:</p>
<ul>
<li>on-demand plugin enable/disable (aka Airplane Mode)</li>
<li>support annotate/blame</li>
<li>launching stream browser and graphical merge</li>
<li>ability to edit files and identify AccuRev workspace regardless of current working directory</li>
<li>updated docs</li>
</ul>
<p>This version of the plugin requires Vim 7.x and supports AccuRev 4.6.x / 4.7.x.</p>
<p>Enjoy &#8211; dave</p>
</div>
</div>
<p><!-- AddThis Button BEGIN --></p>
<div><a title="Bookmark and Share" href="http://www.addthis.com/bookmark.php?v=250&amp;pub=accurev" target="_blank"><img src="http://s7.addthis.com/static/btn/v2/lg-share-en.gif" alt="lg share en vim4accurev   New Release (v1.1)" width="125" height="16" title="vim4accurev   New Release (v1.1)" /></a></div>
<p><!-- AddThis Button END --></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/10/02/vim4accurev-new-release-v1-1/' addthis:title='vim4accurev &#8211; New Release (v1.1) '  ><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/10/02/vim4accurev-new-release-v1-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Persuading Your CFO to Buy in a Recession</title>
		<link>http://accurev.com/blog/2009/05/06/persuading-your-cfo-to-buy-in-a-recession/</link>
		<comments>http://accurev.com/blog/2009/05/06/persuading-your-cfo-to-buy-in-a-recession/#comments</comments>
		<pubDate>Wed, 06 May 2009 20:09:49 +0000</pubDate>
		<dc:creator>pdreifus</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Customer Guest Blogs]]></category>
		<category><![CDATA[ROI]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/?p=888</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/05/06/persuading-your-cfo-to-buy-in-a-recession/' addthis:title='Persuading Your CFO to Buy in a Recession ' ><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 typical CFO is also likely to question whether demands on the QA team will really increase and when the timing for the purchase of new equipment has to be made.<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/05/06/persuading-your-cfo-to-buy-in-a-recession/' addthis:title='Persuading Your CFO to Buy in a Recession '  ><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/05/06/persuading-your-cfo-to-buy-in-a-recession/' addthis:title='Persuading Your CFO to Buy in a Recession ' ><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>If you are having trouble convincing your CFO to spend money on capital expenditures in this challenging environment, you are not alone.  Forecasters are projecting a significant decrease in capital spending for 2009, which is making buying new software and hardware very difficult to get approved by senior finance executives.</p>
<p>So how does a software development manager convince a CFO to spend money on new software and equipment?  CFO’s are seeking ways to increase the efficiency of how organizations deploy resources as well as how to control costs.  So focus on the Return on Investment (ROI), or net cost savings from the increased efficiencies, when you try to convince your CFO to approve a purchase.</p>
<p>The following is an example in which a company is determining whether to hire a new engineer or buy new software and hardware for the team whose productivity needs to increase 20%:</p>
<p><strong>Assumptions</strong></p>
<ul>
<li> Cost of software and hardware to be acquired &#8211; $50,000</li>
<li> Size of team &#8211; 5 engineers</li>
<li> Increased productivity from acquisition &#8211; 20%</li>
<li> Average fully loaded cost of an engineer &#8211; $125,000</li>
</ul>
<p><strong>Cost Benefit or ROI</strong></p>
<p>Based on the assumptions above, if the team were to increase its productivity by 20% without purchasing new software or hardware, they would need to add one engineer (20% x 5 engineers) at a fully loaded annual cost of $125,000.  Accordingly, if it is expected that the workload of the team is going to increase by 20%, it becomes an easy decision: spend $50,000 on new software and hardware instead of hiring a new engineer at a cost of $125,000, for a net cost savings of $75,000.</p>
<p>The typical CFO is also likely to question whether demands on the QA team will really increase and when the timing for the purchase of new equipment has to be made.  When this question comes up, and it will, you can now argue that if demand actually stays the same or decreases, you will be in a position where you can reduce headcount by 20% (a savings of $125,000) without losing any capacity.  This is the beauty of focusing on the efficiencies created from deploying new software and hardware</p>
<p><strong>Summary</strong></p>
<p>Engineering budgets are dominated by personnel costs.  If you focus on the efficiencies that will be created from deploying new software and hardware and tie it to either being able to cut headcount or not having to hire new staff, you will almost always be able to convince your CFO to open up the purse strings!</p>
<p><span style="font-size:11pt;color:#1f497d;font-family:Calibri,sans-serif"><strong>About The Author</strong></span></p>
<p><span style="font-size:11pt;color:#1f497d;font-family:Arial,sans-serif">Peter Dreifus was invited to contribute to our Distinguished Lecturer Series because of his experience as a CFO and COO managing finance and operations at software and technology companies.  Mr. Dreifus is a CPA with over 20 years experience and has held a variety of senior finance positions at Escher Group, Ltd.,  Sequence Design, Inc., Avery Dennison Corporation and the accounting, tax and consulting firm Deloitte. </span></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/05/06/persuading-your-cfo-to-buy-in-a-recession/' addthis:title='Persuading Your CFO to Buy in a Recession '  ><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/05/06/persuading-your-cfo-to-buy-in-a-recession/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Use Case: I went from ClearCase to AccuRev</title>
		<link>http://accurev.com/blog/2009/03/05/use-case-i-went-from-clearcase-to-accurev/</link>
		<comments>http://accurev.com/blog/2009/03/05/use-case-i-went-from-clearcase-to-accurev/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 18:55:12 +0000</pubDate>
		<dc:creator>AccuRev</dc:creator>
				<category><![CDATA[Comparisons]]></category>
		<category><![CDATA[Customer Guest Blogs]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[AccuRev Services]]></category>
		<category><![CDATA[AccuRev training]]></category>
		<category><![CDATA[ClearCase]]></category>
		<category><![CDATA[ClearCase Migration]]></category>
		<category><![CDATA[ClearCase replacement]]></category>
		<category><![CDATA[ClearCase UCM]]></category>
		<category><![CDATA[configuration management]]></category>
		<category><![CDATA[evaluating ClearCase and AccuRev]]></category>
		<category><![CDATA[improving build management]]></category>
		<category><![CDATA[MultiSite alternative]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[Software Configuration Management]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/?p=674</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/03/05/use-case-i-went-from-clearcase-to-accurev/' addthis:title='Use Case: I went from ClearCase to AccuRev ' ><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47597ad291fb" class="addthis_button_compact">Share</a><span class="addthis_separator">&#124;</span><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a></div>In May of 2005, the company I worked for, Polycom, decided to switch our Software Configuration Management tool from ClearCase to AccuRev. Initially, this decision was not taken well by the developers in my business unit since they had been using Base ClearCase for several years.  However, after seeing how much easier AccuRev was to [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/03/05/use-case-i-went-from-clearcase-to-accurev/' addthis:title='Use Case: I went from ClearCase to AccuRev '  ><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/03/05/use-case-i-went-from-clearcase-to-accurev/' addthis:title='Use Case: I went from ClearCase to AccuRev ' ><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>In May of 2005, the company I worked for, Polycom, decided to switch our <a href="http://www.accurev.com/software-configuration-management.html" target="_blank">Software Configuration Management </a>tool from ClearCase to AccuRev. Initially, this decision was not taken well by the developers in my business unit since they had been using Base ClearCase for several years.  However, after seeing how much easier AccuRev was to use and that it did everything that we needed for our development tasks, we became firm believers that AccuRev really is a “Best of breed” Configuration Management tool.</p>
<p>We evaluated a couple of CM tools before settling on AccuRev.  Among the tools we looked at were IBM Rational ClearCase UCM (which I was very familiar with), CVS, and Accurev.  CVS was being used by development teams in both offices and it was determined to be a tool that would not scale well for us.  After <a href="http://www.accurev.com/scm-comparisons/accurev-clearcase.html" target="_blank">evaluating ClearCase UCM </a>and AccuRev, it was decided that AccuRev was the way to go, for several reasons.  One reason Clearcase UCM did not do well was that we could not even get it to work at one of our offices that was using Linux for development (they were using 9 different types of Linux at the time).  AccuRev positively shined during this part of the evaluation by the fact that it was very easy to setup and use in a Linux environment.  Another reason and a huge advantage for AccuRev was the fact that it was very easy to use over a WAN between multiple sites (i.e., Austin TX and Andover, MA) without a mechanism like MultiSite.  The AccuRev servers that the development team in Andover used were located in Austin, TX.  For the 3 years that that I worked with our team using AccuRev, I never had any major issues using it over the network.  A third big reason was that we also did not have to <a href="http://www.accurev.com/clearcase-upgrade-program.html" target="_blank">pay for ClearCase MultiSite licenses</a> which meant a big cost savings for the company.  This last reason was major factor in management choosing AccuRev over ClearCase UCM.</p>
<p>After selecting AccuRev as our new <a href="http://www.accurev.com/product-overview.html" target="_blank">CM tool</a>, we had to migrate the current source code that was in ClearCase. At the time that we were doing this, there was no <a href="http://www.accurev.com/clearcase-adapter.html" target="_blank">migration tool</a> to take source code in ClearCase and move it over to AccuRev. We decided to archive the existing ClearCase Version Object Bases (VOBs) and leave them as is on their current servers in the Andover, MA office.  This was determined by our management team to be the best way to start off using AccuRev.  Most of this legacy code was for really old products that had been &#8220;End of Lifed&#8221;.  So, we were not really losing much by doing this.  We then imported the latest code from the VOBs that we cared about.  The import of this source code was just brought in as flat files.   This worked out well for us and for those who wanted to keep legacy history around.</p>
<p>The training for using AccuRev was very short.  AccuRev sent a trainer to our office in Andover and we had 2 groups of developers (about 15 each), attend a training session that was less than 3 hours long.  One half day of training for the developers.  It was that simple.  After this training, I was available to help the user community with any questions that they had.  I do have to say, I did not spend much time at all helping fix issues related to AccuRev.  For any issues that did come up and I couldn&#8217;t help out with immediately, <a href="http://www.accurev.com/services.html" target="_blank">AccuRev Technical Support</a> was always there to help.  For the record, I did not attend any special AccuRev Administrators Training.  AccuRev does have <a href="http://www.accurev.com/press-releases/ace_accurev_engineer.htm" target="_blank">AccuRev Certified Engineer Training </a>available and that was something I wanted to take.  Actually, whatever administration was needed for AccuRev took place in the Austin, TX office.  The person who did that did it a part time basis.  This is also much different than ClearCase.  I have been a full time ClearCase Administrator at several companies and that is a full time job.  When I was working with ClearCase, at least 20 and up to 30 percent of my time was spent on administrative tasks related to ClearCase.  So, I was able to devote that extra time to work on other types of things, like the install kits for our products using InstallShield.  We had been considering hiring a consultant to do that work and we ended up saving the money that we would have spent on that.</p>
<p><span id="more-674"></span></p>
<p>After the import was done, developers were able to create projects and streams very easily. It did take a little while for everyone to get used to the concept of projects and streams.  I had used ClearCase UCM in the past.  So, I had no problem relating to these concepts.  For the rest of the development team, the concepts of projects and streams was very easy to get used to and made a lot of sense to them.   There was a slight learning curve for the developers with using some of the AccuRev utilities like the <a href="http://walquist.net/static_pages/tech/JoyOfMovingFromClearCaseToAccuRev.html" target="_blank">Version Tree Browser</a> which looked different than the one that they were used to in ClearCase.  There were some concerns about using the AccuRev Merge Tool.  However, I attributed that to the fact that the developers may not have completely mastered the concept of merging in ClearCase, since to me it appeared to me much easier to merge source code in AccuRev than in ClearCase. The ability of the development team to quickly grasp the concepts of AccuRev saved a lot of time that would have been spent training them.  I literally was able to sit with new people on the development team and within a half hour, they were up and running with AccuRev.</p>
<p>Overall, I think that our use of AccuRev made our source code management much easier.  The ability to use the <a href="http://dotnet.sys-con.com/node/526698?page=0,1" target="_blank">Graphical User Interface </a>for most of our work was very beneficial to us. It was great to be able to create streams (or even projects) based off of a particular stream and to be able to literally see that being done on the screen, for example.  The snapshot concept also worked well for us.  It was also very easy to find the differences between build snapshots.  This helped us produce metrics for management very quickly.  We also had no issues implementing AccuRev commands into our build scripts which made our job easier.  Before we used AccuRev, we would run the builds and access CVS databases in the Austin office.  The builds had to be run at night because the builds took so long copying the code over the WAN from Austin to Andover.  After switching over to AccuRev, the fact that we could access the the AccuRev repositories in Austin directly over the WAN allowed the builds to complete much quicker than when we were doing them using CVS.  We never figured out why the copy of the CVS code took so long, but I can tell you that after switching to AccuRev, the build performance improved at least 25 to 30 percent. We could even run them during the daytime when needed, which was very beneficial to our development team.</p>
<p>As I mentioned above,  AccuRev Technical Support was very helpful with any questions or concerns that we had and I can never say enough good things about them.  AccuRev Tech Support always answered their phone quickly and followed up with us on anything we worked with them on.  Based on my 3 years of experience of using AccuRev, I would highly recommend it to development teams that are deciding on a <a href="http://www.accurev.com/accurev-source-code-control.html" target="_blank">Source Code Management</a> tool.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/03/05/use-case-i-went-from-clearcase-to-accurev/' addthis:title='Use Case: I went from ClearCase to AccuRev '  ><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/03/05/use-case-i-went-from-clearcase-to-accurev/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How We Manage Continuous Integration 2.0</title>
		<link>http://accurev.com/blog/2008/11/11/how-we-manage-continuous-integration-20/</link>
		<comments>http://accurev.com/blog/2008/11/11/how-we-manage-continuous-integration-20/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 13:31:40 +0000</pubDate>
		<dc:creator>AccuRev</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Customer Guest Blogs]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[automated builds]]></category>
		<category><![CDATA[automated tests]]></category>
		<category><![CDATA[build and release management]]></category>
		<category><![CDATA[build management]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[Continuous Integration 2.0]]></category>
		<category><![CDATA[Large-scale continuous integration]]></category>
		<category><![CDATA[managing multiple code bases]]></category>
		<category><![CDATA[multi-stage continuous integration]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[Test Driven Development]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=430</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/11/11/how-we-manage-continuous-integration-20/' addthis:title='How We Manage Continuous Integration 2.0 ' ><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>I work for a large software company, and we&#8217;ve used AccuRev to facilitate using a large scale distributed Continuous Integration model. AccuRev makes this possible with the Stream approach to managing different codebases.  Developers run builds using the same build scripts used by the core team for production builds that ultimately are packaged and shipped [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/11/11/how-we-manage-continuous-integration-20/' addthis:title='How We Manage Continuous Integration 2.0 '  ><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/11/how-we-manage-continuous-integration-20/' addthis:title='How We Manage Continuous Integration 2.0 ' ><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>I work for a large software company, and we&#8217;ve used AccuRev to facilitate using a large scale distributed <a href="http://www.accurev.com/continuous-integration.html" target="_blank">Continuous Integration</a> model.</p>
<p>AccuRev makes this possible with the Stream approach to managing different codebases.  Developers run builds using the same build scripts used by the core team for production builds that ultimately are packaged and shipped out of Engineering.</p>
<p>These build scripts not only build and package and kit the product, they also run thousands of xUnit tests written to run fast and fail fast.  Developers that encounter failures immediately know where to fix the code to pass the tests.  <strong>We also use</strong> <strong>test driven development.</strong></p>
<p>Each day, developers promote their changes to a task stream.  <strong>We use Scrum</strong>, so a task stream correlates in most cases to a Scrum team.  This team runs automated builds / tests at their task stream level and when stories are done and accepted and passing, promote the appropriate changes to the integration stream.</p>
<p>The integration stream is built every afternoon, and any test failures run during the build are quickly addressed by the team.  Our Continuous Integration software provides a failure email with the modifications made that day with AccuRev user names.  Developers can then go into AccuRev using the <a href="http://www.accurev.com/streambrowser.html" target="_blank">StreamBrowser</a> and the Version Browser and determine the root cause.</p>
<p>Fixes are then promoted back to the integration stream, and the full nightly build in most cases runs successfully.  We fail all integration builds on test failure as we believe in Continuous Integration.</p>
<p>Each week our qa level stream is built and we repeat the same process. Developers handle the promotes, the central release team does not promote code for teams.  As code promotes up the hierarchy from task to integration to qa <strong>the frequency of broken builds, due to test errors or compilation, decreases</strong>.</p>
<p>This <a href="http://www.accurev.com/multistage-continuous-integration.html" target="_blank">Multi-stage Continuous Integration</a> approach is easy with AccuRev due to stream inheritence.  If you used a branch / merge solution you would need to staff a central team just to manage the commits to <a href="http://www.accurev.com/scm_comparisons.html" target="_blank">source control,</a> and manage code that is &#8220;done&#8221;.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/11/11/how-we-manage-continuous-integration-20/' addthis:title='How We Manage Continuous Integration 2.0 '  ><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/11/how-we-manage-continuous-integration-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How AccuRev makes releasing Beta software easy</title>
		<link>http://accurev.com/blog/2008/10/27/how-accurev-makes-releasing-beta-software-easy/</link>
		<comments>http://accurev.com/blog/2008/10/27/how-accurev-makes-releasing-beta-software-easy/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 19:47:09 +0000</pubDate>
		<dc:creator>AccuRev</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Customer Guest Blogs]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[AccuRev customer]]></category>
		<category><![CDATA[branching and merging]]></category>
		<category><![CDATA[building software]]></category>
		<category><![CDATA[Releasing Beta]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[snapshots]]></category>
		<category><![CDATA[software builds]]></category>
		<category><![CDATA[software development process]]></category>
		<category><![CDATA[source code management]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=400</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/10/27/how-accurev-makes-releasing-beta-software-easy/' addthis:title='How AccuRev makes releasing Beta software easy ' ><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>I work for a large global enterprise software company with over 500 users, that has been using AccuRev for over 4 years. We are currently managing a Beta release of our main product line.  The management of the source code is easy thanks to AccuRev, and here&#8217;s why: 1) Stream inheritance is just plain awesome! [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/10/27/how-accurev-makes-releasing-beta-software-easy/' addthis:title='How AccuRev makes releasing Beta software easy '  ><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/10/27/how-accurev-makes-releasing-beta-software-easy/' addthis:title='How AccuRev makes releasing Beta software easy ' ><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>I work for a large global enterprise software company with over 500 users, that has been using AccuRev for over 4 years.</p>
<p>We are currently managing a Beta release of our main product line.  The management of the source code is easy thanks to AccuRev, and here&#8217;s why:</p>
<p>1) <a href="http://www.accurev.com/smartbranch-easymerge.html" target="_blank">Stream inheritance</a> is just plain awesome!</p>
<p>We manage hundreds of streams to make up our suite.  We are able to promote code up through task streams, to integration streams, to qa streams where we ship.  For the Beta, we have child streams qa.beta, and our build machines use these streams.</p>
<p>2) Snapshots rule!</p>
<p><a href="http://www.accurev.com/snapshots.html" target="_blank">Snapshots</a> by definition are immutable.  So you know what you built, when you built it.  Our build process creates snapshots automatically, and we fetch code based on snapshot.  We have 100% confidence in knowing what went into a build, and our snapshots are named to a pattern i.e. &lt;parent stream&gt;.yyyymmddhhmmss.build&lt;build number&gt;.  That gives one a lot of info about a build.</p>
<p>3) Timelocks let you stabilize code, even if set the next day!</p>
<p>We built our Beta release on snapshot, and the next day we retroactively set time locks on the qa.beta streams based on build time, and we access locked them down.  Now we can finalize the Beta, and still allow other integration and qa work to happen.</p>
<p>In summary, if we were using a traditional branch/merge <a href="http://www.accurev.com/scm_comparisons.html" target="_blank">SCM</a>, this would be a lot of work and require dedicated personnel.  Instead, we did this part time and the <a href="http://www.accurev.com/streambrowser.html" target="_blank">StreamBrowser</a> makes is so easy to see what code is where and why.  There is no confusion with views or other techniques used by other vendors.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/10/27/how-accurev-makes-releasing-beta-software-easy/' addthis:title='How AccuRev makes releasing Beta software easy '  ><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/10/27/how-accurev-makes-releasing-beta-software-easy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The AccuRev CLI &#8211; Going beyond SCM</title>
		<link>http://accurev.com/blog/2008/10/01/accurev-cli-going-beyond-scm/</link>
		<comments>http://accurev.com/blog/2008/10/01/accurev-cli-going-beyond-scm/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 14:51:51 +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[AccuLoad]]></category>
		<category><![CDATA[AccuRev CLI]]></category>
		<category><![CDATA[AccuRev command line interface]]></category>
		<category><![CDATA[AccuRev XML]]></category>
		<category><![CDATA[change logs]]></category>
		<category><![CDATA[database objects AccuRev]]></category>
		<category><![CDATA[database server change logs]]></category>
		<category><![CDATA[DDL change]]></category>
		<category><![CDATA[DDL event]]></category>
		<category><![CDATA[SQL Object Scripter]]></category>
		<category><![CDATA[stored procedures]]></category>
		<category><![CDATA[web-based application]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=379</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/10/01/accurev-cli-going-beyond-scm/' addthis:title='The AccuRev CLI &#8211; Going beyond SCM ' ><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 Ryan LaNeve, AVI-SPL Much has been written on this blog already regarding the ease with which AccuRev allows you to tailor your development process without having to fight with your SCM software. While I could offer yet another account of how simple and straightforward it is to manage our particular process using AccuRev, instead [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/10/01/accurev-cli-going-beyond-scm/' addthis:title='The AccuRev CLI &#8211; Going beyond SCM '  ><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/10/01/accurev-cli-going-beyond-scm/' addthis:title='The AccuRev CLI &#8211; Going beyond SCM ' ><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 Ryan LaNeve, AVI-SPL</strong></p>
<p>Much has been written on this blog already regarding the ease with which AccuRev allows you to tailor your <a href="http://www.accurev.com/accurev-software-development-process.html" target="_blank">development process</a> without having to fight with your <a href="http://www.accurev.com/software-configuration-management-resources.htm" target="_blank">SCM</a> software. While I could offer yet another account of how simple and straightforward it is to manage our particular process using AccuRev, instead I thought I’d take a few minutes to point out some of the things we’ve done using the tool’s command-line interface and its ability to output results formatted as XML.</p>
<p>Of the various tools we have created over the years, the two we find most useful are what we call “AccuLoad” and “SQL Object Scripter”. The former pulls data out of AccuRev, while the latter puts data into AccuRev. Both were developed in a matter of hours thanks to the extremely intuitive command-line interface which AccuRev provides. Let’s take a closer look at each.</p>
<p>We’ll start with our “SQL Object Scripter”. Anyone whose development efforts involve a database server knows how difficult it is to maintain change logs for the “code” kept within the database. There are a number of “best practices” with regards to maintaining this information within an SCM, but in our experience they are all too time-consuming and involved, which leads to one or more members of the team either forgoing the process due to time constraints or just ignoring the process all together. Maybe we’ve just become spoiled by AccuRev allowing us to work exactly the way we want and otherwise staying out of our way, but we now have a hard time following any procedure which requires us to change the way we do things.</p>
<p>So one day a couple of us sat down and decided to find a new solution. We felt that, at a minimum, what we really wanted was to be able to view changes over time for our database objects, such as tables, views and stored procedures. We knew that if we could just get each change into AccuRev some of our issues would immediately disappear, but we found it too difficult to require the entire team to manually create every script and then manually promote that script into our SCM. We decided that what we needed was a tool that could simply detect changes to our database objects and automatically store those changes within AccuRev. Again, thanks to the simplicity of AccuRev and its CLI, our “SQL Object Scripter” tool was born in a matter of hours. We now have a record in AccuRev of (almost) every change made to any database object we care about, which then allows to use the features of AccuRev to view the history of any object, the differences between any versions of any object and even an annotation of any object to see who is responsible for the make-up of the object. The solution consists of a few parts: a SQL Server table to store DDL change event details, with a DDL trigger on the various databases we care about. The trigger fires whenever a DDL event occurs, such as the creation or alteration of a table, view or stored procedure, and the details of the event get logged to a table. Our custom console app is then scheduled to run every few minutes and checks the table for any records. When a record is found, the console app scripts out the definition of the object to a file and then uses the AccuRev CLI to add/keep/promote the file to our “SQL Scripts” depot – whatever is appropriate depending on whether the object is brand new or pre-existing and has been changed. The AccuRev commands all run within the context of whichever user made the change in the database itself, so all of our AccuRev transactions are associated with the correct team member. While this solution is not optimal and does not provide as much traceability as having each developer maintain and promote database change scripts themselves, we have found it to be an excellent interim solution which was extremely easy to put together.</p>
<p>Another of our tools is the one we call “AccuLoad”. The purpose of this tool is to pull various bits of information out of AccuRev and load that information into a database. We then use the information in the database from several other applications. The tool is a console application which runs in a couple of different modes, but the primary mode is run via an AccuRev trigger. Whenever a promote happens in one of our depots, our custom trigger runs and fires up our console app, passing in a few details such as the name of the depot, the name of the stream and the transaction number of the promote. AccuLoad then takes this information and makes various calls to the AccuRev CLI to gather more details, such as which elements were included in the promote, the version numbers of each of those elements, the user who performed the promote, etc, etc… Additionally, a diff is run against any changed elements, and those details are stored in the database as well. Gathering all of this information from AccuRev was extremely simple thanks not only to the intuitive nature of the functionality exposed by the AccuRev CLI, but also thanks to the option of having the results returned as XML. While I’m sure it would have been possible to create such a tool using any SCM, I doubt we would have ever found the time to do so had we not been fortunate enough to have AccuRev as our SCM. It was, again, only a matter of hours from the time we came up with the idea for AccuLoad and the time our first promotions were being logged in our database.</p>
<p>Having this database detailing the activity in our SCM, we were then able to create several other tools to utilize the information, such as one we call “AccuBrowse”, seen below. This web-based application allows us to browse the database and view any transaction within any stream of any of our depots, and see who performed the promote, the comments supplied during the promote, the elements included in the promote and the differences for any changed element. I should mention that much of this functionality is probably available in the <a href="http://www.accurev.com/web-interface.html" target="_blank">AccuRev Web Interface,</a> though we have not actually used that tool provided by AccuRev. Ours was created a couple of years ago and suits our needs. Beyond just allowing us to browse our SCM history via a web-interface, our database also allows us to perform some analysis, such as frequency of change for elements within a specific depot or stream, which allows to keep tabs on classes within our systems which may have too much responsibility. We can even run queries against the data to find “problematic” code, such as those files most often included in promotions which cause a failed build (not that our builds ever fail, of course…).</p>
<p>In summary, there are a myriad of fantastic features and functionality within AccuRev which make it a great fit as an SCM for any development environment. Once you’ve got your core needs taken care of by the out-of-the-box functionality, I encourage you to explore what can be done with the provided CLI and its XML-formatted output. In our experience, if you can imagine it, you can build it with AccuRev in no time at all.</p>
<p>Our custom AccuBrowse application, viewing a transaction involving a SQL Server stored procedure:</p>
<p><a href="http://www.accurev.com/blog/wp-content/uploads/2008/09/accurev-accubrowse1.png"><img class="alignleft size-medium wp-image-384" title="accurev-accubrowse1" src="http://www.accurev.com/blog/wp-content/uploads/2008/09/accurev-accubrowse1.png?w=300" alt=" The AccuRev CLI   Going beyond SCM" width="300" height="155" /></a></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/10/01/accurev-cli-going-beyond-scm/' addthis:title='The AccuRev CLI &#8211; Going beyond SCM '  ><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/10/01/accurev-cli-going-beyond-scm/feed/</wfw:commentRss>
		<slash:comments>5</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>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>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>

