<?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; release management</title>
	<atom:link href="http://accurev.com/blog/tag/release-management/feed/" rel="self" type="application/rss+xml" />
	<link>http://accurev.com/blog</link>
	<description>SCM and Agile Software Development Blog</description>
	<lastBuildDate>Thu, 17 May 2012 15:00:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Software Configuration Management and Version Control Are Not the Same… Trust Me!</title>
		<link>http://accurev.com/blog/2011/11/18/software-configuration-management-and-version-control-are-not-the-same/</link>
		<comments>http://accurev.com/blog/2011/11/18/software-configuration-management-and-version-control-are-not-the-same/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 15:52:13 +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[version control]]></category>
		<category><![CDATA[release management]]></category>
		<category><![CDATA[SCM]]></category>

		<guid isPermaLink="false">http://www.accurev.com/blog/?p=2846</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2011/11/18/software-configuration-management-and-version-control-are-not-the-same/' addthis:title='Software Configuration Management and Version Control Are Not the Same… Trust Me! ' ><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>Did you know that CM systems back in the day were basically people? This is where the term &#8220;check-in&#8221; &#38; &#8220;check-out&#8221; comes from- it refers to the days when there where actual software librarians would record peoples changes and check them in and out like books on disk or punch cards. It’s mind boggling to [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2011/11/18/software-configuration-management-and-version-control-are-not-the-same/' addthis:title='Software Configuration Management and Version Control Are Not the Same… Trust Me! '  ><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/11/18/software-configuration-management-and-version-control-are-not-the-same/' addthis:title='Software Configuration Management and Version Control Are Not the Same… Trust Me! ' ><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>Did you know that CM systems back in the day were basically people? This is where the term &#8220;check-in&#8221; &amp; &#8220;check-out&#8221; comes from- it refers to the days when there where actual software librarians would record peoples changes and check them in and out like books on disk or punch cards. It’s mind boggling to think of software this way.</p>
<p>If I was to ask software developers today what “software configuration management” was, they would probably say “SCM? Like Subversion?” Incorrect! You need to trust me on this one,<strong> SCM is <em>not </em>the same as a version control system</strong>. Yes, your version control system <em>is</em> an SCM tool (confusing?) but SCM is a broader discipline and technique that encompasses the management of change in software.</p>
<p>The introduction to the IEEE &#8220;Standard for Software Configuration begins with:</p>
<p>SCM constitutes good engineering practice for all software projects, whether phased development, rapid prototyping, or ongoing maintenance. It enhances the reliability and quality of software by:</p>
<ul>
<li>Providing a structure for identifying and controlling documentation, code, interfaces, and databases to support all life cycle phases</li>
<li>Supporting a chosen development/maintenance methodology that fits the requirements, standards, policies, organization, and management philosophy</li>
<li>Producing management and product information concerning the status of baselines, change control, tests, releases, audits, etc.</li>
</ul>
<p>Let&#8217;s be clear- all of the things on this list do <strong>not </strong>fit under the heading of your version control system. Many of them will require practices and policies to maximize your development efforts and methodologies. With version control, release engineers will still have to perform some of these SCM related functions:</p>
<ul>
<li>Merge early and often</li>
<li>Enforce a workflow for development teams to follow</li>
<li>Record and have full visibility into all of the changes that were made</li>
<li>Write build and compiler scripts</li>
<li>Automate builds, deploys and tests</li>
<li>Understand the dependencies between projects and code</li>
<li>Maintain the development environment for a team</li>
<li>Be responsible for the final product going out the door</li>
</ul>
<p>That&#8217;s just the tip of the iceberg. A talented release engineer or SCM expert <em>can</em> do all of those things independently, but his or her job would be a lot easier with SCM tools that can automate and facilitate the necessary practices and processes. (This includes version control, compilers, debuggers, editors, continuous integration machines, automated deploy, and the ITS system.)</p>
<p>At it’s core, SCM answers the question “Somebody did something, how can one reproduce it?” In addition it’s about understanding and establishing relationships among items that are likely to change. It’s a tricky job, not one that’s easily understood. We have to understand the relationships between versioned artifacts, like code, hardware, documents, design models and even directory structures. In addition we have to do all of the necessary things to make those versions valuable to our organization. We have to design process, workflow, automation, build automation, reports and security.</p>
<p>With all of this, don’t tell me that SCM is the same as version control. Trust me on this one!</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2011/11/18/software-configuration-management-and-version-control-are-not-the-same/' addthis:title='Software Configuration Management and Version Control Are Not the Same… Trust Me! '  ><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/11/18/software-configuration-management-and-version-control-are-not-the-same/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>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>Build Management with AccuRev and Maven</title>
		<link>http://accurev.com/blog/2008/06/25/build-management-with-accurev-and-maven/</link>
		<comments>http://accurev.com/blog/2008/06/25/build-management-with-accurev-and-maven/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 18:30:59 +0000</pubDate>
		<dc:creator>matthew d. laudato</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[build management]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[m2eclipse]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[release management]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=211</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/06/25/build-management-with-accurev-and-maven/' addthis:title='Build Management with AccuRev and Maven ' ><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>Build management is a long-overlooked area of software development. As is often the case with underserved areas, the open source community has several good solutions. Maven is among the most interesting and functional solutions for Java developers. I had the chance to take the AccuRev-Maven m2eclipse integration out for a test drive recently. This is [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/06/25/build-management-with-accurev-and-maven/' addthis:title='Build Management with AccuRev and Maven '  ><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/06/25/build-management-with-accurev-and-maven/' addthis:title='Build Management with AccuRev and Maven ' ><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>Build management is a long-overlooked area of software development. As is often the case with underserved areas, the open source community has several good solutions. <a title="Maven website" href="http://maven.apache.org" target="_blank">Maven</a> is among the most interesting and functional solutions for Java developers. I had the chance to take the AccuRev-Maven <a title="m2eclipse website" href="http://m2eclipse.sonatype.org/" target="_blank">m2eclipse</a> integration out for a test drive recently. This is a recently announced integration (read the press release <a title="AccuRev-Maven Press Release" href="http://www.accurev.com/press-releases/050608-maven-scm-accurev.html" target="_blank">here</a> if you are interested, and see my video demo <a title="AccuRev-Maven Flash Demo" href="http://www.accurev.com/virtualbooth/Maven/flash/AccuRev-Maven-Demo.html" target="_blank">here</a>).</p>
<p>The integration follows the pattern of other <a href="http://www.accurev.com/software-configuration-management-resources.htm" target="_blank">software configuration management</a> (SCM) integrations with m2eclipse. A backend provider interface was written to support AccuRev, and the provider was integrated into the m2eclipse environment via the SCMHandler mechanism. I used m2eclipse in conjunction with <a title="AccuBridge for Eclipse" href="http://www.accurev.com/accubridge-eclipse.html" target="_blank">AccuBridge for Eclipse</a> (the AccuRev-provided Team plugin) to materialize Maven projects into a new AccuRev workspace from within Eclipse, and then did some basic Maven build and AccuRev SCM operations.</p>
<p>To get started, I needed to install m2eclipse from Sonatype. I used the Eclipse Update Manager to do this, by creating a new remote site in Update Manager for Sonatype (<a href="http://eclipse.org/m2e/">http://eclipse.org/m2e/</a>). I already had the AccuBridge for Eclipse plugin installed, also obtained via Update Manager (<a title="AccuBridge for Eclipse Update Site" href="http://www.accurev.com/download/eclipseupdate/">http://www.accurev.com/download/eclipseupdate</a>). After restarting Eclipse, I was ready to test.</p>
<p>In my test environment, I had an AccuRev stream called maven_int that I had pre-loaded with (of all things) the source and test code for the Maven integration itself. My goal was to create a new AccuRev workspace based on this stream from within Eclipse that was Maven- and AccuRev-aware. To do this, I used the Eclipse Import functionality and selected the “Checkout Maven Projects from SCM” option. Since I was using AccuRev, I chose the AccuRev provider from the drop down list box. Like other integrations with Maven, AccuRev supports a URL format for specifying where to obtain code. The URL lets you specify the AccuRev user and login credentials, as well as the exact depot and stream from which to import the code. I also chose the make workspace checkout option, which tells the plugin to create an actual AccuRev workspace in a specified location.</p>
<p>After pressing the Finish button on the Import wizard, m2eclipse called out to AccuRev, created a new AccuRev workspace, and created new Eclipse projects (based on whatever Maven POM files were found in the maven_int stream) containing the source code. I then associated the Eclipse projects with AccuRev using the Team Share option so that I would have full access to AccuRev functionality.</p>
<p>Since the projects were all Maven-based, building was done by right clicking on the POM file and selecting one of the build options. To convince myself that the AccuRev functionality worked, I did some edits to a few files, saved the changes, and then used the AccuRev promote option to version that file in the AccuRev repository.</p>
<p>Overall, the integration worked as I expected. The installation of the plugins was fast, it was easy to materialize Maven-based projects from AccuRev, and all of the important Maven and AccuRev functionality was available in the respective plugins. If you are an AccuRev user and want to use Maven, then the combination of m2eclipse and AccuRev integrated inside of the Eclipse environment is a practical desktop tool for managing your local builds.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/06/25/build-management-with-accurev-and-maven/' addthis:title='Build Management with AccuRev and Maven '  ><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/06/25/build-management-with-accurev-and-maven/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Always Act Like This is The Release</title>
		<link>http://accurev.com/blog/2007/12/20/always-act-like-this-is-the-release/</link>
		<comments>http://accurev.com/blog/2007/12/20/always-act-like-this-is-the-release/#comments</comments>
		<pubDate>Thu, 20 Dec 2007 20:00:29 +0000</pubDate>
		<dc:creator>damonpoole</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[build process]]></category>
		<category><![CDATA[configuration management]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[release management]]></category>
		<category><![CDATA[release process]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[software development process]]></category>
		<category><![CDATA[source code control]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/2007/12/20/always-act-like-this-is-the-release/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/12/20/always-act-like-this-is-the-release/' addthis:title='Always Act Like This is The Release ' ><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 Damon Poole I think of this practice as a major guiding principle of software development. If every practice is done as though it is part of the final act of releasing the product, then you will automatically have fewer practices. Fewer practices means less chance of problems falling through the cracks until the last [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/12/20/always-act-like-this-is-the-release/' addthis:title='Always Act Like This is The Release '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/12/20/always-act-like-this-is-the-release/' addthis:title='Always Act Like This is The Release ' ><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47597ad291fb" class="addthis_button_compact">Share</a><span class="addthis_separator">|</span><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a></div><p class="MsoNormal">by Damon Poole</p>
<p class="MsoNormal">I think of this practice as a major guiding principle of software development. If every practice is done as though it is part of the final act of releasing the product, then you will automatically have fewer practices. Fewer practices means less chance of problems falling through the cracks until the last minute and a higher level of maturity for things that have been done multiple times.</p>
<p class="MsoNormal">For instance, instead of having one process for developers to build during development and another build process for release, use exactly the same one. That way, when it comes time to release, the path is well worn and the chances are better that you will be able to completely reproduce the release if and when the time comes.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/12/20/always-act-like-this-is-the-release/' addthis:title='Always Act Like This is The Release '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2007/12/20/always-act-like-this-is-the-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

