<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: More on Quality</title>
	<atom:link href="http://lostechies.com/chadmyers/2008/06/07/more-on-quality/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/chadmyers/2008/06/07/more-on-quality/</link>
	<description>Software development, testing, and techie life</description>
	<lastBuildDate>Thu, 08 Mar 2012 22:19:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: Fervent Coder</title>
		<link>http://lostechies.com/chadmyers/2008/06/07/more-on-quality/#comment-319</link>
		<dc:creator>Fervent Coder</dc:creator>
		<pubDate>Thu, 12 Jun 2008 03:59:58 +0000</pubDate>
		<guid isPermaLink="false">/blogs/chad_myers/archive/2008/06/07/more-on-quality.aspx#comment-319</guid>
		<description>Dude! I wholeheartedly agree with all of this. I am also an automation freak (and a code reducer, but that is another topic).  
Automate the whole process and have someone click a button or two at the most and bam! You have a fully deployed environment set up and ready.  I plan on blogging soon on some of our automation stuff I think is pretty sweet.  It seems everyone is talking quality lately. 

I didn&#039;t even notice, but I did the same thing because I had a topic in the queue that was really itching to get out there. Then I started reading through my feeds and I am not the only one on this quality kick. Too awesome! :D

http://ferventcoder.com/archive/2008/06/11/develop-for-maintenance.aspx</description>
		<content:encoded><![CDATA[<p>Dude! I wholeheartedly agree with all of this. I am also an automation freak (and a code reducer, but that is another topic).<br />
Automate the whole process and have someone click a button or two at the most and bam! You have a fully deployed environment set up and ready.  I plan on blogging soon on some of our automation stuff I think is pretty sweet.  It seems everyone is talking quality lately. </p>
<p>I didn&#8217;t even notice, but I did the same thing because I had a topic in the queue that was really itching to get out there. Then I started reading through my feeds and I am not the only one on this quality kick. Too awesome! :D</p>
<p><a href="http://ferventcoder.com/archive/2008/06/11/develop-for-maintenance.aspx" rel="nofollow">http://ferventcoder.com/archive/2008/06/11/develop-for-maintenance.aspx</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy Gray</title>
		<link>http://lostechies.com/chadmyers/2008/06/07/more-on-quality/#comment-318</link>
		<dc:creator>Jeremy Gray</dc:creator>
		<pubDate>Sun, 08 Jun 2008 14:42:40 +0000</pubDate>
		<guid isPermaLink="false">/blogs/chad_myers/archive/2008/06/07/more-on-quality.aspx#comment-318</guid>
		<description>@chad - I just wrapped up a multi-day refactoring. To avoid violating our rules about never breaking the build, which includes passing all unit tests and meeting all coverage requirements, this was done without checking during a three day period (whereas I normally check in many, many times per day.) I would have considered this a work decomposition problem if not for the next two alternatives allowing more incremental check-in but inflating the effort by at least 2x or even 3x.

My own version control and light backup strategy in this particular situation was to create patch files. Had I expected to take longer on this I would have broken out some distributed version control layered on top of our primary version control or perhaps cut a single-developer experimental branch (which we try to avoid doing because it let people break our rules about not breaking the build, as all branches must have build automation and the build must never break for any of the reasons I noted earlier.)

I&#039;ve been using version control systems for a good fifteen years now and I still have yet to see good justification for treating version control as a backup solution and/or allowing people to make non-atomic and/or breaking commits against the repo. After fifteen years of conflation with backup strategies and work decomposition problems, it gets a little tiring. ;)

I keep things simple for my developers: Commit frequently. Commits must be atomic and never break the build in any of the possible ways. Decompose work and coordinate and collaborate with others to achieve this. For comfort beyond the limits of work decomposition, talk to IT about backup and/or layer on personal versioning (via patches, dvcs, whatever.)

That I haven&#039;t needed to alter the above in fifteen years says something, IMHO.</description>
		<content:encoded><![CDATA[<p>@chad &#8211; I just wrapped up a multi-day refactoring. To avoid violating our rules about never breaking the build, which includes passing all unit tests and meeting all coverage requirements, this was done without checking during a three day period (whereas I normally check in many, many times per day.) I would have considered this a work decomposition problem if not for the next two alternatives allowing more incremental check-in but inflating the effort by at least 2x or even 3x.</p>
<p>My own version control and light backup strategy in this particular situation was to create patch files. Had I expected to take longer on this I would have broken out some distributed version control layered on top of our primary version control or perhaps cut a single-developer experimental branch (which we try to avoid doing because it let people break our rules about not breaking the build, as all branches must have build automation and the build must never break for any of the reasons I noted earlier.)</p>
<p>I&#8217;ve been using version control systems for a good fifteen years now and I still have yet to see good justification for treating version control as a backup solution and/or allowing people to make non-atomic and/or breaking commits against the repo. After fifteen years of conflation with backup strategies and work decomposition problems, it gets a little tiring. ;)</p>
<p>I keep things simple for my developers: Commit frequently. Commits must be atomic and never break the build in any of the possible ways. Decompose work and coordinate and collaborate with others to achieve this. For comfort beyond the limits of work decomposition, talk to IT about backup and/or layer on personal versioning (via patches, dvcs, whatever.)</p>
<p>That I haven&#8217;t needed to alter the above in fifteen years says something, IMHO.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chad Myers</title>
		<link>http://lostechies.com/chadmyers/2008/06/07/more-on-quality/#comment-317</link>
		<dc:creator>Chad Myers</dc:creator>
		<pubDate>Sun, 08 Jun 2008 00:50:04 +0000</pubDate>
		<guid isPermaLink="false">/blogs/chad_myers/archive/2008/06/07/more-on-quality.aspx#comment-317</guid>
		<description>@Jeremy:

RE: Checkins: Sometimes you do have multi-day refactorings.  It shouldn&#039;t be  regular thing, though. Like you alluded to, you should avoid situations where your work spans more than one day before you can commit.

RE: Branches: That&#039;s kind of the point of branches, right? Make sure you merge them back in ASAP expect in a prior-release branch (i.e. the release_1_1 branch for ongoing maintenance of the currently-shipping 1.1 release where Trunk is the soon-to-be-released 1.2 current codebase)</description>
		<content:encoded><![CDATA[<p>@Jeremy:</p>
<p>RE: Checkins: Sometimes you do have multi-day refactorings.  It shouldn&#8217;t be  regular thing, though. Like you alluded to, you should avoid situations where your work spans more than one day before you can commit.</p>
<p>RE: Branches: That&#8217;s kind of the point of branches, right? Make sure you merge them back in ASAP expect in a prior-release branch (i.e. the release_1_1 branch for ongoing maintenance of the currently-shipping 1.1 release where Trunk is the soon-to-be-released 1.2 current codebase)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy Gray</title>
		<link>http://lostechies.com/chadmyers/2008/06/07/more-on-quality/#comment-316</link>
		<dc:creator>Jeremy Gray</dc:creator>
		<pubDate>Sat, 07 Jun 2008 21:13:29 +0000</pubDate>
		<guid isPermaLink="false">/blogs/chad_myers/archive/2008/06/07/more-on-quality.aspx#comment-316</guid>
		<description>Agreed on all points except #5.

Frequent checkins are a must, but not the kind you described in #5. If your developers cannot check in good-to-go code on a frequent basis, you have a work decomposition problem.

As for checking in on a branch, remember that your version control system is not your backup solution.</description>
		<content:encoded><![CDATA[<p>Agreed on all points except #5.</p>
<p>Frequent checkins are a must, but not the kind you described in #5. If your developers cannot check in good-to-go code on a frequent basis, you have a work decomposition problem.</p>
<p>As for checking in on a branch, remember that your version control system is not your backup solution.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Phil Kirkham</title>
		<link>http://lostechies.com/chadmyers/2008/06/07/more-on-quality/#comment-315</link>
		<dc:creator>Phil Kirkham</dc:creator>
		<pubDate>Sat, 07 Jun 2008 20:15:21 +0000</pubDate>
		<guid isPermaLink="false">/blogs/chad_myers/archive/2008/06/07/more-on-quality.aspx#comment-315</guid>
		<description>Interesting article, I hope you follow through on your &quot;plan to  blog more about real-world examples of this in the next few months&quot;, I for one will be looking forward to reading about this</description>
		<content:encoded><![CDATA[<p>Interesting article, I hope you follow through on your &#8220;plan to  blog more about real-world examples of this in the next few months&#8221;, I for one will be looking forward to reading about this</p>
]]></content:encoded>
	</item>
</channel>
</rss>
