<?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; multi-stage continuous integration</title>
	<atom:link href="http://accurev.com/blog/tag/multi-stage-continuous-integration/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>Three Days with Damon Poole on Agile Development and its Components</title>
		<link>http://accurev.com/blog/2010/08/03/agile-development-components-damon-poole/</link>
		<comments>http://accurev.com/blog/2010/08/03/agile-development-components-damon-poole/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 14:20:45 +0000</pubDate>
		<dc:creator>kenglert</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[agile 2010]]></category>
		<category><![CDATA[agile development best practices]]></category>
		<category><![CDATA[collocation]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[cross-functional teams]]></category>
		<category><![CDATA[Damon Poole]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[multi-stage continuous integration]]></category>
		<category><![CDATA[pain points]]></category>
		<category><![CDATA[self-organizing]]></category>

		<guid isPermaLink="false">http://www.accurev.com/blog/?p=2193</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2010/08/03/agile-development-components-damon-poole/' addthis:title='Three Days with Damon Poole on Agile Development and its Components ' ><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>Agile 2010 is fast approaching, and AccuRev is excited to sponsor and support the Agile community involved with this conference.  However, our excitement is partly due to the fact that Damon Poole, AccuRev’s CTO, was chosen as a featured speaker for not one, not two, but three sessions during the conference week.  I sat down [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2010/08/03/agile-development-components-damon-poole/' addthis:title='Three Days with Damon Poole on Agile Development and its Components '  ><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/08/03/agile-development-components-damon-poole/' addthis:title='Three Days with Damon Poole on Agile Development and its Components ' ><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>Agile 2010 is fast approaching, and <a href="http://www.accurev.com/" target="_blank">AccuRev</a> is excited to sponsor and<img class="alignright size-full wp-image-2194" title="Three Days of Agile Development and Components with Damon Poole " src="http://www.accurev.com/blog/wp-content/uploads/2010/08/Damon-headshot.jpg" alt="Damon headshot Three Days with Damon Poole on Agile Development and its Components " width="210" height="220" /> support the Agile community involved with this conference.  However, our excitement is partly due to the fact that <a href="http://damonpoole.blogspot.com/" target="_blank">Damon Poole</a>, AccuRev’s CTO, was chosen as a featured speaker for not one, not two, but<em> three</em> sessions during the conference week.  I sat down with Damon to chat about his <a href="http://www.accurev.com/events.html" target="_blank">Agile 2010 </a>plans, the ideas behind his session topics, and ultimately, the unrelated topic of my recent exposure to Star Wars.</p>
<p>Star Wars aside, Damon has some great talks about Agile development and components planned for Agile 2010.</p>
<h2>Damon’s Discussions on Agile Development and its Various Components</h2>
<p>Damon’s first Agile 2010 session will take place on <strong>Tuesday, August 10<sup>th</sup> at 1:30 PM</strong> and is titled<span style="color: #000000;"> “</span><span style="color: #333399;"><em><span style="color: #000000;">Scrum and Kanban- Like Chocolate and Peanut Butter</span></em></span>.”  Here Damon proves Scrum and Kanban are not in fact mutually exclusive, but play well together, much like chocolate and peanut butter.</p>
<p>KE: “So Damon, how did you come up with the chocolate and peanut butter concept?”</p>
<p>DAMON: “I have witnessed infighting within the Agile community, between Scrum advocates and Kanban advocates.  Agile is a way of thinking, and the community wins when there is a synergy between camps.  I want people to recognize that not only can Kanban and Scrum co-exist, they can actually be a very beneficial combination to development teams.”</p>
<p>KE: “Who might this session be best suited for?”</p>
<p>DAMON: “I would say this session is for folks that are already doing Scrum and are curious about Kanban.  I will address Kanban basics, how Kanban can help with real-world process problems, how to apply one-piece-flow to Scrum, and the value of work-in-progress limits applied to Scrum.”</p>
<p>KE: “Since it&#8217;s about chocolate and peanut butter, will there be Reese’s?”</p>
<p>DAMON: “You bet.”</p>
<p>__________________________________________________________________________________________________________</p>
<p>The following afternoon, <strong>Wednesday, August 11<sup>th</sup> at 1:30 PM </strong>Damon will present “<em>Getting Managers and Agile Teams Out of Each Other’s Hair</em>.”</p>
<p>KE: “This sounds like an interesting Agile pain point that lots of us can relate to.  How do you approach this topic?”</p>
<p>DAMON: “Well, one of the most talked about, but least understood components of Agile is the ‘self- organizing team.’ There is little research published on this concept and I spent a lot of time looking outside of software development for information and advice on self-managing teams.  I came up with new perspective on this concept by examining external roots of the practice.  What it is, what the benefits are, how it works.  I will share my advice on manager roles and responsibilities, aspects of self-organization enabled by multiple Agile development components, and challenges that teams face.  It should be a good session, I have given it before and it’s always well-received.”</p>
<p>_______________________________________________________________________________________________________________________________________________________________________________________________________</p>
<p>The third day with Damon is on <strong>Thursday, August 12<sup>th</sup> at 9:00 AM.</strong> He will present “<em>Managing Growth Pains on the Way to 40 Scrum Teams</em>” <strong> </strong><strong> </strong></p>
<p>KE: “Forty Scrum teams is getting up there.  How would you recommend managing such large amounts of teams?”</p>
<p>DAMON: “You’re right, 40 Scrum teams is the sign of a large organization.  I have interacted with lots of large Agile shops that operate with many more than 40 Scrum teams, and noticed issues with Agile weren’t all that different from shops with smaller teams.  By recognizing trends and patterns sooner than later as the organization becomes deeper involved with Agile, teams can start following certain practices to eliminate issues.  When it comes to addressing issues, the sooner the better.</p>
<p><img class="size-full wp-image-2201 alignleft" title="Three Days of Agile Development and Components with Damon Poole " src="http://www.accurev.com/blog/wp-content/uploads/2010/08/Agile_2010_Badge_Template.jpeg.png" alt="Agile 2010 Badge Template.jpeg Three Days with Damon Poole on Agile Development and its Components " width="200" height="130" />KE: “What best practices have you recommended to larger-sized Scrum teams in the past?”</p>
<p>DAMON: “<a href="http://www.accurev.com/multistage-continuous-integration.html" target="_blank">Multi-stage Continuous Integration</a>, small story size, collocation, cross-functional teams… a few more.  This is a good session even if your organization doesn’t have 40-something Scrum teams today.  It teaches you about growing pains and prepares you for future growth.</p>
<p>Well, Damon sure sounds like he has a busy week lined up at Agile 2010.  Make sure to check out his sessions- they are featured on the Agile 2010 schedule and under the “What’s Hot” tab in the Agile 2010 app for iphone and Droid, so don&#8217;t forget to add Damon&#8217;s sessions to your schedule via these apps!</p>
<p>Follow AccuRev on <a href="http://twitter.com/accurev" target="_blank">Twitter</a> @accurev for Damon’s latest updates from Agile 2010!</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2010/08/03/agile-development-components-damon-poole/' addthis:title='Three Days with Damon Poole on Agile Development and its Components '  ><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/08/03/agile-development-components-damon-poole/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free Webinar: Emerging SCM Best Practices for Agile Development</title>
		<link>http://accurev.com/blog/2009/02/03/free-webinar-emerging-scm-best-practices-for-agile-development/</link>
		<comments>http://accurev.com/blog/2009/02/03/free-webinar-emerging-scm-best-practices-for-agile-development/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 21:12:53 +0000</pubDate>
		<dc:creator>AccuRev</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[SCM Resources]]></category>
		<category><![CDATA[agile development]]></category>
		<category><![CDATA[agile development best practices]]></category>
		<category><![CDATA[agile development webinar]]></category>
		<category><![CDATA[Agile SCM]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[issue-based development]]></category>
		<category><![CDATA[multi-stage continuous integration]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[SCM best practices]]></category>
		<category><![CDATA[scm metrics]]></category>
		<category><![CDATA[SCM tool]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[Uttam Narsu]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/?p=590</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/02/03/free-webinar-emerging-scm-best-practices-for-agile-development/' addthis:title='Free Webinar: Emerging SCM Best Practices for Agile Development ' ><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47597ad291fb" class="addthis_button_compact">Share</a><span class="addthis_separator">&#124;</span><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a></div>AccuRev is hosting a free Webinar on &#8220;Emerging SCM Best Practices for Agile Development&#8221; on Thursday, February 5 from 1:00 &#8211; 2:00 PM EST. The webinar will introduce the unique demands that agile processes place on legacy SCM tools and ways to build and automate an efficient Agile development process. Damon Poole, AccuRev CTO, and [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/02/03/free-webinar-emerging-scm-best-practices-for-agile-development/' addthis:title='Free Webinar: Emerging SCM Best Practices for Agile Development '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/02/03/free-webinar-emerging-scm-best-practices-for-agile-development/' addthis:title='Free Webinar: Emerging SCM Best Practices for Agile Development ' ><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47597ad291fb" class="addthis_button_compact">Share</a><span class="addthis_separator">|</span><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a></div><div id="attachment_609" class="wp-caption alignleft" style="width: 160px"><a href="http://www.accurev.com/agile-software-development.html"><img class="size-full wp-image-609 " title="agile1" src="http://www.accurev.com/blog/wp-content/uploads/2009/02/agile1.gif" alt="More Agile resources" width="150" height="145" /></a><p class="wp-caption-text">More Agile resources</p></div>
<p>AccuRev is hosting a free Webinar on &#8220;<em>Emerging SCM Best Practices for Agile Development</em>&#8221; on <strong>Thursday, February 5 from 1:00 &#8211; 2:00 PM EST</strong>. The webinar will introduce the unique demands that agile processes place on legacy SCM tools and ways to build and automate an efficient Agile development process. Damon Poole, AccuRev CTO, and Uttam Narsu will be presenting.</p>
<p>Mr. Narsu, an industry expert on <a href="http://www.accurev.com/software-configuration-management.html">software configuration management</a> (SCM) best practices and former Forrester/Giga analyst, will discuss the most important aspects to consider when applying <a href="http://www.accurev.com/whitepaper/bestpractices">SCM best practices</a> to an agile world.  Mr. Poole will discuss how Multi-stage <a href="http://www.accurev.com/continuous-integration.html">Continuous Integration</a> can solve some of the underlying impediments to a successful Agile development environment.</p>
<p>&#8220;SCM is critical to Agile success. If your SCM tools don’t provide integrated and seamless support for Agile, you won’t get widespread adoption of <a href="http://www.accurev.com/agile-software-development.html">Agile development</a>,&#8221; said Narsu. &#8220;Development teams require brutally efficient SCM tools, but the tools must still be issue-based, must have support for flexible process models, and enable efficient branching, merging, and refactoring. The <a href="http://www.accurev.com/scm.html">SCM tool</a> should also provide private workspaces and assist continuous integration.&#8221;</p>
<p>Mr. Narsu has worked with hundreds of clients using wildly differing software development environments. While clients who succeed with agile development have strong SCM practices, the best practiced <a href="http://www.accurev.com/agile-scm.html">agile SCM</a>: transparently integrated, flexible, and collaborative.</p>
<p><strong>Specific topics discussed will include:</strong></p>
<ul type="disc">
<li>Typical SCM obstacles to Agile success and how to avoid them;</li>
<li>Key Agile Process requirements for SCM products and specific use case scenarios;</li>
<li>Challenges with <a href="http://www.accurev.com/continuous-integration.html">continuous integration</a>, and how Multi-stage Continuous Integration delivers value and how to adopt it today; and</li>
<li>Key <a href="http://blog.accurev.com/2008/07/16/why-traceability-matters/">SCM metrics</a> for delivering on Agile development goals.</li>
</ul>
<p><strong>Register here for this free webinar taking place on Thursday, February 5th from 1:00-2:00 EST: </strong><a href="http://www.accurev.com/webinar.html">Emerging SCM Best Practices for Agile Development</a>.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2009/02/03/free-webinar-emerging-scm-best-practices-for-agile-development/' addthis:title='Free Webinar: Emerging SCM Best Practices for Agile Development '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2009/02/03/free-webinar-emerging-scm-best-practices-for-agile-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>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>Right Process, Wrong Tool? Getting Ready for Agile</title>
		<link>http://accurev.com/blog/2008/05/30/right-process-wrong-tool-getting-ready-for-agile/</link>
		<comments>http://accurev.com/blog/2008/05/30/right-process-wrong-tool-getting-ready-for-agile/#comments</comments>
		<pubDate>Fri, 30 May 2008 18:04:01 +0000</pubDate>
		<dc:creator>matthew d. laudato</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[SCM Resources]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[agile process]]></category>
		<category><![CDATA[agile software development]]></category>
		<category><![CDATA[agile webinar]]></category>
		<category><![CDATA[branching and merging]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[multi-stage continuous integration]]></category>
		<category><![CDATA[ready for agile]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[SCM tool]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[software process automation]]></category>
		<category><![CDATA[SPA]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=205</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/05/30/right-process-wrong-tool-getting-ready-for-agile/' addthis:title='Right Process, Wrong Tool? Getting Ready for Agile ' ><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>Yesterday I was a panelist for a Webinar on agile tools, focusing on software configuration management (SCM), build and software process automation (SPA), the latter term referring to the set of defined, repeatable and measurable automated development workflows that engineers use to transform requirements into shippable software products. Contrary to what I&#8217;ve read about the [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/05/30/right-process-wrong-tool-getting-ready-for-agile/' addthis:title='Right Process, Wrong Tool? Getting Ready for Agile '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/05/30/right-process-wrong-tool-getting-ready-for-agile/' addthis:title='Right Process, Wrong Tool? Getting Ready for Agile ' ><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>Yesterday I was a panelist for a <a href="http://www.accurev.com/webinar/200802-electriccloud" target="_blank">Webinar on agile tools</a>, focusing on <a href="http://www.accurev.com/software-configuration-management-resources.htm" target="_blank">software configuration management</a> (SCM), build and software process automation (SPA), the latter term referring to the set of defined, repeatable and measurable automated development workflows that engineers use to transform requirements into shippable software products. Contrary to what I&#8217;ve read about the disdain that some agile devotees have for tools, most of the attendees were hungry to know what features their <a href="http://www.accurev.com/scm_comparisons.html" target="_blank">SCM tool</a> should have in order to support <a href="http://www.accurev.com/agile-scm.html" target="_blank">agile software development</a> and SPA. Here are some of the highlights, and of course, my take on why I think AccuRev is the best tool for agile software process automation.</p>
<p>There are five key feature areas that an SCM tool needs to support in order to be ready for agile:</p>
<p>* Support for flexible process models</p>
<p>* Continuous integration support</p>
<p>* Support for issue-based development</p>
<p>* Efficient branch and code management</p>
<p>* Private version controlled developer workspaces</p>
<p>Let&#8217;s take a look at each of these in turn.</p>
<p>* <strong>Support for flexible process models.</strong> Agile is often one of several processes being employed within a software development organization. Unless your SCM tool is flexible and process-neutral, you will have a hard time implementing agile (say, for product development) and more traditional processes like waterfall (for example, for product maintenance work) in the same SCM tool. AccuRev streams are a natural way to model any process, and thus are a good fit when agile needs to coexist with other development processes. As for software process automation (SPA), AccuRev streams again are a great fit, since they enable users to model any arbitrary stages of code transformation that a development team sees fit to define as part of their process. By adding triggers and workflow to a stream hierarchy, teams can implement SPA directly in AccuRrev.</p>
<p>* <strong>Continuous integration support.</strong> <a href="http://www.accurev.com/webinar/200802-electriccloud" target="_blank">Continuous integration</a> is one of the core process elements associated with agile development. By building and testing frequently and acting on the results of tests, teams can uncover defects or test gaps earlier in their development cycle, saving time and money compared to such discoveries late in the cycle. But continuous integration goes beyond just testing the nightly build. With <a href="http://damonpoole.blogspot.com/2008/01/advanced-multi-stage-continous.html" target="_blank">multi-stage continuous integration </a>in AccuRev, code is automatically promoted up the stream hierarchy into more stable configurations as it passes tests. At each stage, continuous integration takes over to build and test, typically with a wider scope of testing as the code nears the release stage. Legacy <a href="http://www.accurev.com/scm_comparisons.html" target="_blank">SCM tools</a> make this type of automated integration factory somewhere between difficult and impossible due to the complexity involved in setting up the hierarchy and in automatically moving and merging code as it flows up the hierarchy.</p>
<p>* <strong>Support for issue-based development.</strong> Apparently there is a lot of contention about the need for filing issues and defects in agile development. This has puzzled me greatly. While I&#8217;m in favor of developers identifying and fixing issues as they are discovered, you lose valuable process information when a defect or enhancement ticket is not filed and later associated with a code change. Without an issue that describes what the problem was, someone looking at the code changes for audit purposes or for group code reviews is at a disadvantage. Why was this code change made? Is it related to other changes? How long did it take? Was it done to fix a bug or to add a feature. In AccuRev, issues either in the integrated AccuWork issue tracking system, or in a 3rd party issue tracking system, can easily be associated with code changes via the AccuRev Change Package mechanism. This establishes basic traceability between issues and the code changes that developers make in order to satsify the requirements of those issues. Issue-based development is well-defined, repeatable and measurable &#8211; all hallmarks of good software process automation.</p>
<p>* <strong>Efficient branch and code management.</strong> Any time you&#8217;re working on more than one project, you need to isolate that project&#8217;s code from other projects. With agile and multistage continuous integration, even a single project requires multiple code lines in order to separate in-progress code from unit tested code from system tested code that is ready for release. If an SCM tool makes <a href="http://www.accurev.com/product-overview.html" target="_blank">branching, merging</a> and labeling difficult, teams tend to practice branch avoidance, which I sometimes like to call &#8220;fear of branching.&#8221; This is a classic example of letting a tool dictate what processes you can implement. In AccuRev, streams replace branches as the mechanism for isolating codelines. Since streams are represented inside of AccuRev as data separate from the actual file versions, creating streams is fast &#8211; really fast, like, a second or two &#8211; and managing a system with hundreds of streams spanning multiple projects and processes is easy.  For continuous integration, AccuRev snapshots and time-based streams are also fast and easy to create and manage, and give users a straight-forward way to &#8220;label&#8221; an interim or milestone codeline without having to place markers in thousands of source files.</p>
<p>* <strong>Private version controlled developer workspaces.</strong> Software developers are the heartbeat of any engineering organization. Executives at any development shop will tell you that hiring talented engineers and keeping them well-tooled and productive is the single largest challenge that they face. For agile, this is even more of a challenge, since coding cycles tend to be shorter, and thus anything that gets in the way of individual or team productivity tends to have a greater negative impact on the project. Private version controlled workspaces like the AccuRev workspace model improve productivity, since they enable developers to work in isolation (while they are &#8216;heads down&#8217; coding). Private workspaces in AccuRev also give developers full SCM capabilites in their workspaces without the need to share in-progress code prematurely. By using the &#8216;keep&#8217; operation, developers make safe copies of their work in the AccuRev repository, and later can &#8216;promote&#8217; the code to an integration stream to combine their work with that of their teammates. Individuals are more productive in this way, and if continuous integration builds are frequently testing the integration stream, so are teams.</p>
<p>In a nutshell, agile requires tools, and these tools need to support different modes of operation than with other processes. SCM can help or hurt you in setting up and executing an agile process, so these guidelines are a way to help you get your SCM tool ready for agile - easy of course if your tool is already AccuRev!</p>
<p>If you&#8217;re interested, you can view the webinar recording.</p>
<p>Is Your Software Development Environment Agile-Ready?<br />
Free On-Demand <a href="http://www.accurev.com/webinar/200805-agileready" target="_blank">Webinar </a></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/05/30/right-process-wrong-tool-getting-ready-for-agile/' addthis:title='Right Process, Wrong Tool? Getting Ready for Agile '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2008/05/30/right-process-wrong-tool-getting-ready-for-agile/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

