<?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; automated regression test</title>
	<atom:link href="http://accurev.com/blog/tag/automated-regression-test/feed/" rel="self" type="application/rss+xml" />
	<link>http://accurev.com/blog</link>
	<description>SCM and Agile Software Development Blog</description>
	<lastBuildDate>Fri, 03 Feb 2012 19:28:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>The Seven Deadly Sins of Software Application Development &#8211; Part 2 of 2</title>
		<link>http://accurev.com/blog/2008/06/27/the-seven-deadly-sins-of-software-application-development-part-2-of-2/</link>
		<comments>http://accurev.com/blog/2008/06/27/the-seven-deadly-sins-of-software-application-development-part-2-of-2/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 16:32:11 +0000</pubDate>
		<dc:creator>lorne cooper</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[agile development]]></category>
		<category><![CDATA[agile process]]></category>
		<category><![CDATA[application development]]></category>
		<category><![CDATA[automated regression test]]></category>
		<category><![CDATA[build process]]></category>
		<category><![CDATA[building a software team]]></category>
		<category><![CDATA[development process]]></category>
		<category><![CDATA[flexible process]]></category>
		<category><![CDATA[offshore application development]]></category>
		<category><![CDATA[Offshore development]]></category>
		<category><![CDATA[regression testing]]></category>
		<category><![CDATA[software application development]]></category>
		<category><![CDATA[software process automation]]></category>
		<category><![CDATA[test process]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=216</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/06/27/the-seven-deadly-sins-of-software-application-development-part-2-of-2/' addthis:title='The Seven Deadly Sins of Software Application Development &#8211; Part 2 of 2 ' ><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 Lorne Cooper, CEO, AccuRev    A Top 25 WordPress Blog Post of the Day   In Part 1, we looked at the sins of Building a Weak Team and Ignoring the Future.  Once you’re committed to hiring talent and building a forward-looking process, there are two more sins to avoid.   Sin #6: A [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/06/27/the-seven-deadly-sins-of-software-application-development-part-2-of-2/' addthis:title='The Seven Deadly Sins of Software Application Development &#8211; Part 2 of 2 '  ><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/27/the-seven-deadly-sins-of-software-application-development-part-2-of-2/' addthis:title='The Seven Deadly Sins of Software Application Development &#8211; Part 2 of 2 ' ><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" style="margin:0"><strong>by Lorne Cooper, CEO, AccuRev</strong> </p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0"><em><strong>A Top 25 WordPress Blog Post of the Day</strong></em></p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0"><span style="font-size:small">In <a title="The Seven Deadly Sins of Software Application Development - Part 1 of 2 " href="http://blog.accurev.com/2008/06/26/the-seven-deadly-sins-of-software-application-development-part-1-of-2/" target="_blank">Part 1</a>, we looked at the sins of Building a Weak Team and Ignoring the Future.<span>  </span>Once you’re committed to hiring talent and building a forward-looking process, there are two more sins to avoid.</span></p>
<p class="MsoNormal" style="margin:0"> </p>
<h2 style="margin:12pt 0 3pt"><em><span style="font-size:large;font-family:Arial">Sin #6: A Long Tail After Development is Complete</span></em></h2>
<p style="margin:12pt 0 3pt"> </p>
<p class="MsoNormal" style="margin:0"><span>We constantly see organizations where the time from “requirements-in” to “feature freeze” is half the time to “solutions-out.”<span>  </span>That 50% “tail” on development provides no direct value to customers, but is there because of limitations in our development process. </span></p>
<p class="MsoNormal" style="margin:0"><span> </span></p>
<p class="MsoNormal" style="margin:0"><span><span>Sometimes that tail is twice the length of the initial development.<span>  </span></span></span></p>
<p class="MsoNormal" style="margin:0"><span> </span></p>
<p class="MsoNormal" style="margin:0"><span>Ironically, while the long heavy tail is grown to protect the organization from delivering bad product, it eventually decreases response time until it becomes an instrument in the organization’s death.</span></p>
<p class="MsoNormal" style="margin:0"><span> </span></p>
<p class="MsoNormal" style="margin:0"><span>But many industries have a long tail, don’t they?<span>  </span>Surely it doesn’t hurt the construction of bridges that the plans are completed long before the bridge is built.</span></p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0"><span style="font-size:small">For forty years people have tried to make analogies between software development and more mature engineering disciplines, say, like building buggy whips.<span>  </span>The designer of the buggy whip might make a sample or two to try it out on his children, then send it off to the factory, where a slew of Industrial Buggy Whip Engineers would spend months figuring out how to sew the damn things, buying up horse-hair, and hiring immigrants to sit at sewing machines. A year or so late, Pony Express delivers the new buggy whip to general stores all over the Grand Trunk Railway line.<span>  </span></span></p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0">We can all certainly learn a lot from that.</p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0">Now try telling your customer that the problem she’s been working around is well understood, and in fact fixed, but she’s not going to get it for three months.<span>  </span>She’ll be looking for alternative suppliers before the screen door has hit your butt.<span>  </span></p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0">Everything moves too fast to use that tired old process.<span>  </span>Frankly, I use to blame computers.<span>  </span>Now I blame the Internet.<span>  </span></p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0">When you take a hard look at the time it takes to get completed product out the door, you’ll probably find it dominated by two things: testing, and fixing bugs that the testers find.<span>  </span>Both stem from the problem that you’re not doing enough testing during the development process, and you’re trying to test too much at one time.</p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0"><span style="font-size:small">I’m no fan of Hawthorn-effects, or what the politically incorrect might call gimmicks, like pair programming or stand-up meetings, but projects that use an Agile development with automated regression test processes are certainly doing more right than wrong.<span>  </span></span></p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0">Is it really so hard to manage by tasks/issues, normalize them to a small unit of work, merge in just one set of changes into each build, and test just that perturbation?<span>  </span>What if you knew you would consistently get better code out the back of the process, and therefore make your organization more responsive to your customers?</p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0">Your development process must minimize latency, instead of trying to maximize bandwidth.<span>  </span>Don’t miss the changes in requirements and environments that produce opportunities for better products, or sooner or later you’ll end up locked in a suicide pact with a project no one wants.</p>
<p class="MsoNormal" style="margin:0"> </p>
<h2 style="margin:12pt 0 3pt"><em><span style="font-size:large;font-family:Arial">Sin #7: Complacency</span></em></h2>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0"><span style="font-size:small">Calais’s stone walls were so thick the city had no fear of invaders, until they showed up with cannons.<span>  </span>Napoleon’s Old Guard was undefeated in battle after battle, until they were cut down by Wellington at Waterloo.<span>  </span>Big Blue’s OS/2 would crush little Microsoft’s Windows product.<span>  </span>Big Microsoft’s Live Search would crush little Google’s search engine.<span>  </span></span></p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0">Hubris on ice will leave you with a heck of a hangover.</p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0">That brilliant team using that wonderful process you put together last year, is just a few months of complacency away from dysfunction.<span>  </span>People move and, thanks to the 13<sup>th</sup> Amendment to the US Constitution, may leave their jobs and there’s little you can do about it.<span>  </span>Environments change and architectures become outdated.<span>  </span>The marketplace changes and requirements change with them.</p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0">One VP Engineering I know told me he asked his off-shore application development partner to give him 110%.<span>  </span>They did, but it turned out to be turnover.</p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0">Your process needs to be constantly monitored and upgraded, because everything in the process is changing.<span>  </span>If your offshore partner has high turnover, their part of the process might require more code inspection and knowledge transfer.<span>  </span>If your biggest customer can’t use your product until it supports their new environment, you need to put a special team on building a custom version of the product, and then merge that back into main development.<span>  </span>If you have to replace an old veteran with a rookie, then you might create new integration points and a more rigorous test protocol.</p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0">Recognize that everything will change, and the assumptions under which you built your last success are no longer valid.<span>  </span>Make small process changes early and often, or in the long run the big changes will be made by your replacement.</p>
<p class="MsoNormal" style="margin:0"> </p>
<h2 style="margin:12pt 0 3pt"><em><span style="font-size:large;font-family:Arial">Stirring Conclusion</span></em></h2>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0">Managing a software development organization is a very challenging task, as tough as playing a violin with your toes, and less fun.<span>  </span></p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0">I don’t mean to trivialize important management functions <span>such as</span> customer management, budget and project tracking, running a good meeting, <span>and</span> designing effective compensation structures<span>. And</span> by all means, <span>hiring</span> someone to spend their time doing all of that.</p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0">But that won’t protect you from the seven deadly sins.<span>  </span>Only you can do that.</p>
<p class="MsoNormal" style="margin:0"> </p>
<p class="MsoNormal" style="margin:0">I’ll finish with the Four Virtues, which are the antidote to the Seven Sins:</p>
<ol style="margin-top:0" type="1">
<li class="MsoNormal">Hire great people or don’t hire.</li>
<li class="MsoNormal">Plan to build a product that will have a long life.</li>
<li class="MsoNormal">Keep your process nimble, and deliver less, faster.</li>
<li class="MsoNormal">Keep improving everything.</li>
</ol>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/06/27/the-seven-deadly-sins-of-software-application-development-part-2-of-2/' addthis:title='The Seven Deadly Sins of Software Application Development &#8211; Part 2 of 2 '  ><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/27/the-seven-deadly-sins-of-software-application-development-part-2-of-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

