<?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; Software Management</title>
	<atom:link href="http://accurev.com/blog/tag/software-management/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 1 of 2</title>
		<link>http://accurev.com/blog/2008/06/26/the-seven-deadly-sins-of-software-application-development-part-1-of-2/</link>
		<comments>http://accurev.com/blog/2008/06/26/the-seven-deadly-sins-of-software-application-development-part-1-of-2/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 21:03:12 +0000</pubDate>
		<dc:creator>lorne cooper</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[application development]]></category>
		<category><![CDATA[code reuse]]></category>
		<category><![CDATA[development process]]></category>
		<category><![CDATA[process automation]]></category>
		<category><![CDATA[software application development]]></category>
		<category><![CDATA[software architecture]]></category>
		<category><![CDATA[Software Management]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=212</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/06/26/the-seven-deadly-sins-of-software-application-development-part-1-of-2/' addthis:title='The Seven Deadly Sins of Software Application Development &#8211; Part 1 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  Here at AccuRev our business requires we dive into the development process of dozens of software development organizations each month seeking our expertise. While reasons for success differ, there seems to be a pattern in ways organizations fail to deliver on [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/06/26/the-seven-deadly-sins-of-software-application-development-part-1-of-2/' addthis:title='The Seven Deadly Sins of Software Application Development &#8211; Part 1 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/26/the-seven-deadly-sins-of-software-application-development-part-1-of-2/' addthis:title='The Seven Deadly Sins of Software Application Development &#8211; Part 1 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><strong>by Lorne Cooper, CEO, AccuRev</strong></p>
<p><strong><em>A Top 25 WordPress Blog Post of the Day</em></strong> </p>
<p>Here at AccuRev our business requires we dive into the development process of dozens of software development organizations each month seeking our expertise. While reasons for success differ, there seems to be a pattern in ways organizations fail to deliver on their goals.</p>
<p>Here are seven pitfalls and tarballs to avoid when managing a software development organization.</p>
<p><strong>Sin #1: Building a Weak Team</strong></p>
<p>Great people build great products that generate great value. The rest of them fill up meeting rooms discussing whether they can get that bug fixed by Friday.</p>
<p>Sure, sooner or later someone will show you a great product developed by a committee of average engineers. Until then, do what you have to do to get great talent, and demand exceptional things from them.</p>
<p>Not sure if they’re good or great? Ask them to do the impossible: the good ones will tell you why they can’t do it, the bad ones won’t understand the problem, and the great ones will smile, and then ask for a little more time.</p>
<p>What kind of people answered (what is claimed to be) Sir Ernest Shackleton’s ad for his expedition to Antarctica?</p>
<p><em>Men Wanted: For hazardous journey. Small wages, bitter cold, long months of complete darkness, constant danger, safe return doubtful. Honour and recognition in case of success.</em></p>
<p><strong>Sin #2: Blaming the Workers for their Bad Management</strong></p>
<p><strong></strong><br />
Is disaster a function of the people or the process? If great products come from great people, do failures signify you’ve hired too many chumps, and it’s time to play French Revolution with your development team? Can’t be the manager’s fault, after all, since the managers are the smart ones, or they wouldn’t have been made managers! Right?</p>
<p>Leadership and Management are the steering wheel and the accelerator. Development and QA are the engine. Why blame the engine for hitting the tree?</p>
<p>Can a project succeed despite poor management? Absolutely, and it happens all the time. Sometimes the needs are so dramatic, the architecture so obvious, and the team so experienced, that success is as certain as a Russian election.</p>
<p>But project failures are always the fault of management or leadership. If the engineers couldn’t do the job, good managers would swap them out, and good leaders would motivate them.</p>
<p>With added power comes added responsibility. Good leadership tolerates and anticipates engineering errors, but has little tolerance for management failings.<br />
<strong></strong></p>
<p><strong>Sin #3: Short Term Thinking</strong></p>
<p>If they paid you by how long it took to replace your software, you’d be a rich man, and could pay someone else to spend their time reading my blog.</p>
<p>When do you replace your underwear? When a new color comes out? When there’s a new innovation in cotton? If you’re an engineer, of any gender, you wait until that underwear is worn ragged.</p>
<p>And that’s the problem with software. It doesn’t wear out. In fact, it probably runs faster now than it did ten years ago when it was shipped. And it has more reports, more adapters, and more integrations than it did then, too. Ask any CIO: it’s hard to get rid of working software.</p>
<p>If you admitted your product was going to go through ten major revisions over eight years, and be used by 100,000 people, would you do anything differently? My guess is you would invest in a strong architecture, design code for re-use, and develop tons of automated tests. How about if it were to go through three revisions in two years and be used by 100 people? Same answer!</p>
<p>Investment in architecture is what determines whether your crack development team spends its time designing tomorrow’s skyscrapers, or on spreading spackle in the cracks in your old foundation.</p>
<p>Bad architecture is the answer to the question of “Where did all that money go?”</p>
<p>Good architecture is the answer to “How did someone so young get that job?”</p>
<p><strong>Sin #4: No Investment in Code Re-Use</strong></p>
<p>Good implementation recognizes that code’s going to be there for a long time, and what we build should be re-usable components. Ok, they don’t build bridges that way. But then again, the cost of building the second copy is a little higher.</p>
<p>If there’s one thing we can learn from the TQM experts, and even one might be optimistic, it’s that code reuse is the single most important thing you can do to improve your development organization.</p>
<p>If there’s one thing we can learn from experience (which might be even more ambitious, seeing how people drive in snow), it’s that Code Reuse is hard. Hard, and expensive.</p>
<p>Getting code that works properly is tough. It sure is nice to use something that already works. Tends to decrease the bug rate, increase development effectiveness, and best of all, gets the product to QA with fewer bugs.</p>
<p>Don’t forget that the amount of time it will take to get the product _out_ of QA is a function of the number of bugs it brought with it _into_ QA in the first place. An exponential function. Which, for those of you with Art History backgrounds, is a bad thing.</p>
<p>Code re-use is like changing the oil in your car. Slows you down, costs you money, but in the long run will save you a bundle.</p>
<p><strong>Sin #5: Manual Processes</strong></p>
<p>If you are going to have to do the same thing five hundred times, you’d certainly automate it. Same if you were going to have to do the same thing fifty times. How about five? With testing, the answer is yes, even if it takes ten times as long, as to do it once, you should automate it, because you’re very likely to be wrong and you will end up running the test twenty times.</p>
<p>This sin is pretty much the sin of “sloth” of which my grandmother used to accuse me every time she saw me pull off my shoes. Every development manager who has put on the stripes knows that good architecture code re-use, and automated testing is big. But each time we have short term project pressure, we find it hard to spend the extra time, and it’s not a little extra time; to invest in the infrastructure, streamline the functionality, expand the testing, and document the function, so we’re ready to meet tomorrow.</p>
<p><a href="http://blog.accurev.com/2008/06/27/the-seven-deadly-sins-of-software-application-development-part-2-of-2/" target="_blank">Part 2 </a>conclusion</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/06/26/the-seven-deadly-sins-of-software-application-development-part-1-of-2/' addthis:title='The Seven Deadly Sins of Software Application Development &#8211; Part 1 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/26/the-seven-deadly-sins-of-software-application-development-part-1-of-2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Three Absolute Requirements for Successful Offshore Application Development, Part 2</title>
		<link>http://accurev.com/blog/2007/10/31/three-absolute-requirements-for-successful-offshore-application-development-part-2/</link>
		<comments>http://accurev.com/blog/2007/10/31/three-absolute-requirements-for-successful-offshore-application-development-part-2/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 18:00:59 +0000</pubDate>
		<dc:creator>lorne cooper</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Offshore]]></category>
		<category><![CDATA[Software Management]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/2007/10/31/three-absolute-requirements-for-successful-offshore-application-development-part-2/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/10/31/three-absolute-requirements-for-successful-offshore-application-development-part-2/' addthis:title='Three Absolute Requirements for Successful Offshore Application Development, Part 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>  Requirement 2: Business Interests Must be Aligned There’s an old saying about the game of poker: if you look around the table and can’t figure out who’s the fish, it’s you. Let’s face it: they’re doing it for the money. Just like you. But you’d better understand how they make money in the business [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/10/31/three-absolute-requirements-for-successful-offshore-application-development-part-2/' addthis:title='Three Absolute Requirements for Successful Offshore Application Development, Part 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/2007/10/31/three-absolute-requirements-for-successful-offshore-application-development-part-2/' addthis:title='Three Absolute Requirements for Successful Offshore Application Development, Part 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"> </p>
<p class="MsoNormal"><strong>Requirement 2:</strong> Business Interests Must be Aligned</p>
<p class="MsoNormal">There’s an old saying about the game of poker: if you look around the table and can’t figure out who’s the fish, it’s you.<span> </span></p>
<p class="MsoNormal">Let’s face it: they’re doing it for the money.<span> </span>Just like you.<span> </span>But you’d better understand how they make money in the business relationship or you’re going to feel like<span> </span>you’re the only one not making out.</p>
<p class="MsoNormal">There are lots of companies that reward late projects and punish early ones.<span> </span>Not intentionally, of course.<span> </span>Maybe you know can recognize who this is:</p>
<p class="MsoNormal">When projects were late they would respond by creating special incentives, adding people to the project, and increasing the project visibility.<span> </span>When the project was doing well, they’d pull people off to fight other fires, take the best people away from the project leader to work on other projects, and management would stop attending the project review meetings.</p>
<p class="MsoNormal">Next project comes along, and the offshore project leader comes in with an optimistic schedule.<span> </span>You do the math.</p>
<p class="MsoNormal">Hey, if you’re reading this blog, you’re a smart person. You know you’re not going to change their culture, so maybe you should spend some time to learn to deal with it.<span> </span>Sure, people are people, and application developers in Moscow, in my experience, have more in common with application developers in New York than they do with factory workers in Minsk, but when people get in groups their behavior changes. That “group dynamic” differs depending on their cultural background.</p>
<p class="MsoNormal">In the US and northern Europe, senior application developers can follow a technical career ladder and get increasing career respect and satisfaction from being architects and CTOs.<span> </span>At least that’s the theory.<span> </span>In much of Asia, career status is all based on the number of people that report to you in the hierarchy.<span> </span>It’s an up-or-out philosophy that makes it hard for an Indian engineer to explain to his mother why after five years with the company he’s still not a manager.</p>
<p class="MsoNormal">When working with an outsourcing company, if you don’t figure out their model and how they get paid, it’s like playing poker blindfolded.<span> </span>Many companies build a model based on rotating junior people through their company on standard projects.<span> </span>If you need junior engineers to implement<span> </span>an e-commerce Web site, it’s probably something they will do many times and can do with the talent on hand.<span> </span>If you need people to figure out how to do something unique, your outsourcer might have all the brains in the world, but it just isn’t going to make business sense for them to put their technical leads on the project, when they could be running other e-commerce Web site apps.<span> </span>It makes as much sense as buying a French car or a German perfume.</p>
<p class="MsoNormal">One of the hardest problems in assessing professional job productivity is identifying the impact of quality.<span> </span>If the reward system is around requirements trace-ability and meeting schedules, quality is going to suffer.<span> </span>If you try to make quality a hurdle to be overcome, you’re going to spend such a long time in requirements specification you are never going to get a payback from offshoring the application development.</p>
<p class="MsoNormal">There are two things smart companies do to deal with this alignment dilemma:</p>
<ol>
<li class="MsoNormal"><a href="http://damonpoole.blogspot.com/2007/05/introduction-to-hyper-agile-development.html" target="_blank">Short iterations</a>, e.g. a two-week <span style="text-decoration:underline"><a href="http://www.acmqueue.com/modules.php?name=Content&amp;pa=showpage&amp;pid=424" target="_blank">Agile process</a></span></li>
<li class="MsoNormal">Remember <span style="text-decoration:underline"><a href="http://blog.accurev.com/2007/10/25/three-absolute-requirements-for-successful-offshore-application-development-part-1/" target="_blank">Requirement #1</a></span>, and bring the remote team lead back to corporate frequently to maximize alignment with the leader.</li>
</ol>
<p class="MsoNormal"><span style="font-size:12pt;font-family:'Times New Roman'">In <a href="http://blog.accurev.com/2007/11/02/three-absolute-requirements-for-successful-offshore-application-development-part-3/" target="_blank">Part 3</a>, Don’t Annoy the Pig.</span></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/10/31/three-absolute-requirements-for-successful-offshore-application-development-part-2/' addthis:title='Three Absolute Requirements for Successful Offshore Application Development, Part 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/2007/10/31/three-absolute-requirements-for-successful-offshore-application-development-part-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Three Absolute Requirements for Successful Offshore Application Development &#8211; Part 1</title>
		<link>http://accurev.com/blog/2007/10/25/three-absolute-requirements-for-successful-offshore-application-development-part-1/</link>
		<comments>http://accurev.com/blog/2007/10/25/three-absolute-requirements-for-successful-offshore-application-development-part-1/#comments</comments>
		<pubDate>Thu, 25 Oct 2007 19:00:36 +0000</pubDate>
		<dc:creator>lorne cooper</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[change management]]></category>
		<category><![CDATA[leadership]]></category>
		<category><![CDATA[Offshore]]></category>
		<category><![CDATA[offshore leadership]]></category>
		<category><![CDATA[offshore projects]]></category>
		<category><![CDATA[offshore requirements]]></category>
		<category><![CDATA[remote development]]></category>
		<category><![CDATA[remote office]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[Software Management]]></category>
		<category><![CDATA[source control]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/2007/10/25/three-absolute-requirements-for-successful-offshore-application-development-part-1/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/10/25/three-absolute-requirements-for-successful-offshore-application-development-part-1/' addthis:title='Three Absolute Requirements for Successful Offshore Application Development &#8211; Part 1 ' ><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>  Failure teaches a man many things: don’t mix beer and tequila, dates don’t want to hear about your ex, and good software isn’t developed offshore. But success can be a better teacher, and a little failure combined with some success is best of all. After fifteen years doing projects in India, England, Israel, Canada, [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/10/25/three-absolute-requirements-for-successful-offshore-application-development-part-1/' addthis:title='Three Absolute Requirements for Successful Offshore Application Development &#8211; Part 1 '  ><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/10/25/three-absolute-requirements-for-successful-offshore-application-development-part-1/' addthis:title='Three Absolute Requirements for Successful Offshore Application Development &#8211; Part 1 ' ><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"> </p>
<p class="MsoNormal">Failure teaches a man many things: don’t mix beer and tequila, dates don’t want to hear about your ex, and good software isn’t developed offshore.<span> </span>But success can be a better teacher, and a little failure combined with some success is best of all.<span> </span>After fifteen years doing projects in India, England, Israel, Canada, Moscow and the Ukraine, I’ve got the scars to prove I’ve learned a few basic requirements.</p>
<p class="MsoNormal"><strong>Requirement Number 1:</strong></p>
<p class="MsoNormal">Leadership is everything.<span> </span>In case you missed it, Leadership is EVERYTHING.<span> </span>And I don’t mean sitting on the phone in the corporate office.<span> </span>I mean the person who represents everything you want to achieve and sits in that remote office having to drill the corporate mission into people who have little respect for corporate, and strongly suspect that the feeling is mutual.<span> </span></p>
<p class="MsoNormal">The Roman Empire lasted for a thousand years, which might be longer than your project is going to last.<span> </span>The job with the most difficult requirements in the Roman Empire, tougher than Senator, tougher than General, was Governor of a remote province.<span> </span>Romans knew that the Governor had the toughest job.<span> </span>He had to convert his provincials into people who wanted what Rome wanted, people who would profitably grow Rome’s Empire, not people who would revolt and suck up Roman resources.</p>
<p class="MsoNormal">There are few application development <span style="color:#0000ff"><a href="http://tbe.taleo.net/NA3/ats/careers/jobSearch.jsp?org=ACCUREV&amp;cws=1" target="_blank">jobs</a></span> tougher than managing a remote development group.<span> </span>And there are precious few people that can do it.<span> </span>It takes great leadership, as well as management ability, which is hard to find.</p>
<p>Next, in <a href="http://blog.accurev.com/2007/10/31/three-absolute-requirements-for-successful-offshore-application-development-part-2/" target="_blank">Part 2</a>, if you can’t identify the fish at the table, the fish is you.</p>
<p>Lorne Cooper</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/10/25/three-absolute-requirements-for-successful-offshore-application-development-part-1/' addthis:title='Three Absolute Requirements for Successful Offshore Application Development &#8211; Part 1 '  ><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/10/25/three-absolute-requirements-for-successful-offshore-application-development-part-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

