<?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>david rasch - making stuff work &#187; continuous integration</title>
	<atom:link href="http://www.davidrasch.com/tag/continuous-integration/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.davidrasch.com</link>
	<description></description>
	<lastBuildDate>Mon, 04 Apr 2011 00:53:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>return of branching</title>
		<link>http://www.davidrasch.com/2006/05/18/return-of-branching/</link>
		<comments>http://www.davidrasch.com/2006/05/18/return-of-branching/#comments</comments>
		<pubDate>Fri, 19 May 2006 03:34:29 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[branch]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[scm]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.davidrasch.com/2006/05/18/return-of-branching/</guid>
		<description><![CDATA[<p>We&#8217;ve ultimately decided to bring &#8216;branching&#8217; back into our development cycle. The best part is that we&#8217;ve managed to improve the quality of commits from about a 5/10 to about a 8/10 in my opinion. We&#8217;ve been dealing with very few production defects. On the flip side, it&#8217;s tied our hands when we need <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.davidrasch.com/2006/05/18/return-of-branching/">return of branching</a></span>]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve ultimately decided to bring &#8216;branching&#8217; back into our development cycle.  The best part is that we&#8217;ve managed to improve the quality of commits from about a 5/10 to about a 8/10 in my opinion.  We&#8217;ve been dealing with very few production defects.  On the flip side, it&#8217;s tied our hands when we need to deploy fixes to things like these and we know about problems in the trunk of our software.</p>
<p>We will be ressurecting branches in a very limited capacity.  When we do a release (about once per week) we&#8217;ll create a branch in our code.  This will allow emergency bug fixes to be done without forcing deployment of code that hasn&#8217;t been reviewed.  It&#8217;s not that the code can&#8217;t be deployed when in fact we&#8217;ve had litte/no issues deploying untested code.   However, with the inclusion of QA in our process, we now have resources to eliminate regression by better verifying our releases.</p>
<p>By coordinating the official releases with the end of our sprints we&#8217;ll gain the insight of the Sprint Review process to approve the work done during the sprint.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidrasch.com/2006/05/18/return-of-branching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>use continuous integration, but what about the customers?</title>
		<link>http://www.davidrasch.com/2006/02/10/use-continuous-integration-but-what-about-the-customers/</link>
		<comments>http://www.davidrasch.com/2006/02/10/use-continuous-integration-but-what-about-the-customers/#comments</comments>
		<pubDate>Sat, 11 Feb 2006 04:15:57 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[qa]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://www.davidrasch.com/archives/6</guid>
		<description><![CDATA[<p>We continue to integrate more and more of Extreme Programming in our development process. One of the things we&#8217;ve found particularly empowering is continuous integration.</p> don&#8217;t branch your code only commit things that work in order to do a bigger project, break it into incremental pieces so it works the whole time <p>We&#8217;ve also <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.davidrasch.com/2006/02/10/use-continuous-integration-but-what-about-the-customers/">use continuous integration, but what about the customers?</a></span>]]></description>
			<content:encoded><![CDATA[<p>We continue to integrate more and more of Extreme Programming in our development process.  One of the things we&#8217;ve found particularly empowering is continuous integration.</p>
<ul>
<li>don&#8217;t branch your code</li>
<li>only commit things that work</li>
<li>in order to do a bigger project, break it into incremental pieces so it works the whole time</li>
</ul>
<p>We&#8217;ve also added a requisite code review by another team member for anyone committing to our repository.</p>
<p>By doing this we don&#8217;t spend time doing</p>
<ul>
<li>we avoid time-consuming integrations</li>
<li>we avoid a long QA process</li>
<li>we avoid &#8220;throw the first try away&#8221; instances (sometimes this is still the best way to go, but it&#8217;s no longer the default)</li>
<li>Most importantly, we force design to occur earlier rather than later.</li>
</ul>
<p>All of this has improved the overall quality of the commits to the codebase and the thought that  goes into them.  We have fewer patches that are more likely to fix/solve the intended problem.  In all aspects of the process, it&#8217;s been welcome to the developers, the maintenance team, and most of all the customers.</p>
<p>Unfortunately, we&#8217;ve been unable to get to a fully continuous deployment process.  The quality and smoothness of the deployment hasn&#8217;t reached a point where we can simply apply the latest changes from our repository to our production servers.  The problems we&#8217;ve found are:</p>
<ul>
<li>changes from the development team are very well tested and likely working, but we&#8217;re not completely sure</li>
<li>necessary changes to the system outside of the code</li>
</ul>
<ul>
<li>configuration file changes</li>
<li>database schema changes</li>
<li>additional daemons/services</li>
</ul>
<p>In order to alleviate these problems, we still apply patches to our production code, which one might call a branch, but I prefer to call it a projection of our codebase.  Since it doesn&#8217;t evolve on its own, rather only a subset of the commits to our repository.  How can we bridge this gap?  Is that the job of the QA department?<br />
[tags]xp, continuous integration, qa[/tags]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidrasch.com/2006/02/10/use-continuous-integration-but-what-about-the-customers/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

