<?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>Silver Stripe Blog &#187; Methodology</title>
	<atom:link href="http://toolsforagile.com/blog/archives/category/methodology/feed" rel="self" type="application/rss+xml" />
	<link>http://toolsforagile.com/blog</link>
	<description></description>
	<lastBuildDate>Tue, 07 Sep 2010 13:00:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Debugging the software development process, Part 2</title>
		<link>http://toolsforagile.com/blog/archives/405</link>
		<comments>http://toolsforagile.com/blog/archives/405#comments</comments>
		<pubDate>Tue, 13 Jul 2010 13:00:47 +0000</pubDate>
		<dc:creator>siddharta</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Lean]]></category>
		<category><![CDATA[Methodology]]></category>

		<guid isPermaLink="false">http://toolsforagile.com/blog/?p=405</guid>
		<description><![CDATA[
			
				
			
		
In the previous post I asked whether project managers can debug the process when something doesn&#8217;t work. But how do you debug the process?
Before you can debug the process, you need to understand the underlying &#8216;laws&#8217; of the process. By laws I don&#8217;t mean physical equations that you can solve to get an accurate answer. [...]]]></description>
			<content:encoded><![CDATA[<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F405&amp;layout=standard&amp;show_faces=no&amp;width=250&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:250px; height:25px"></iframe><div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F405"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F405&amp;source=silvercatalyst&amp;style=compact&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>In the previous post I asked <a title="Can you debug your process?" href="http://toolsforagile.com/blog/archives/401">whether project managers can debug the process</a> when something doesn&#8217;t work. But how do you debug the process?</p>
<p>Before you can debug the process, you need to understand the underlying &#8216;laws&#8217; of the process. By laws I don&#8217;t mean physical equations that you can solve to get an accurate answer. Rather, it is understanding the factors that affect software development, so that when something happens you can understand what needs to be changed.  Without understanding the laws, you will resort to fixing the symptoms of the problem based on a partial (or incorrect) understanding.</p>
<p>This is much like giving ice to a patient with fever. Does the problem go away? No. It remains, or even gets worse.</p>
<p>The root cause needs to be addressed, but you can only do that if you understand the underlying cause.</p>
]]></content:encoded>
			<wfw:commentRss>http://toolsforagile.com/blog/archives/405/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Are certifications really worthless?</title>
		<link>http://toolsforagile.com/blog/archives/268</link>
		<comments>http://toolsforagile.com/blog/archives/268#comments</comments>
		<pubDate>Tue, 06 Apr 2010 05:43:35 +0000</pubDate>
		<dc:creator>siddharta</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Lean]]></category>
		<category><![CDATA[Methodology]]></category>

		<guid isPermaLink="false">http://toolsforagile.com/blog/?p=268</guid>
		<description><![CDATA[
			
				
			
		
It seems that the debate over certifications has started all over again. The Scrum Alliance is now going to start offering a Certified Scrum Developer program. It&#8217;s kind of odd, because Ron Jeffries, who had a part in developing the program says 1) Certification is essentially worthless 2) It puts butts in the seats. This [...]]]></description>
			<content:encoded><![CDATA[<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F268&amp;layout=standard&amp;show_faces=no&amp;width=250&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:250px; height:25px"></iframe><div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F268"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F268&amp;source=silvercatalyst&amp;style=compact&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>It seems that the debate over certifications has started all over again. The Scrum Alliance is now going to start offering a Certified Scrum Developer program. It&#8217;s kind of odd, because Ron Jeffries, who had a part in developing the program says <a href="http://xprogramming.com/articles/one-more-arrow-in-our-quiver/">1) Certification is essentially worthless 2) It puts butts in the seats</a>. This is kind of scary, because at the very least you expect that program organisers should believe in their own program. Imagine paying big bucks to go to a CSD class and the first line you hear is &#8220;Students, this certification which you paid good money for is useless. But it was the only way we could get you to attend.&#8221;</p>
<p>Anyway, the CSD <a href="http://agile.dzone.com/news/your-certification-meaningless">reignited the debate on certifications</a> all over again. So are certifications useful or not? Here is my take on it.</p>
<p><span id="more-268"></span>In general, I think certifications do have value. A certification is just a qualification. It sets a minimum bar. A certificate is not a guarantee.</p>
<p>This is where people in the agile community are completely missing the point. For some reason, we in the agile community are treating certifications as if they should be a guarantee of quality.</p>
<p>For example, take this quote from <a href="http://agile.dzone.com/news/your-certification-meaningless">James&#8217; article</a>:</p>
<blockquote><p>&#8230;if your employer values  certification above actual ability, it&#8217;s probably not a great place to  work.</p></blockquote>
<p>C&#8217;mon. Companies don&#8217;t hire based on certification <em>instead of</em> ability. Companies hire based on certification <em>in addition to</em> ability.</p>
<p>Did you graduate from college? Thats a certificate. Sure, there are good people who didn&#8217;t graduate and there are many bad ones who passed all the exams. Still, a company would rather choose the best among 25 graduates, than interview 100 random people because, hey, there might be a few good ones who didn&#8217;t graduate. <span style="text-decoration: underline;">The certificate is simply a first filter, not the sole condition</span>.</p>
<p>Think about this:</p>
<p>The next time you want to get your accounts done, would you go to a Chartered Accountant, or pick a random bloke off the street?</p>
<p>The next time you want to visit a doctor, would you go to a registered medical practicioner, or pick a random bloke off the street?</p>
<p>Yes, there are poor CAs who managed to pass all the exams. Yes, there are poor doctors who managed to pass all the exams. Yes, there possibly are good accountants or doctors who didn&#8217;t graduate.</p>
<p>On the whole though, you are better off trying your luck with the ones who&#8217;ve got the certificate. You just have a better chance of hitting it right.</p>
<p><strong>Where the Scrum Alliance gets it wrong</strong></p>
<p>So, what about the CSM (and now CSD) certification then? Here is where the Scrum Alliance gets it wrong.</p>
<p>The problem with the CSM is that you get the certification for simply attending a two day training course. If a certification is supposed to set a minimum bar, then this bar is so staggeringly low that it makes absolutely no difference at all.</p>
<p>In fact, if we consider that most of the participants to the CSM are hearing about Scrum for the very first time, then the <em>CSM is actually an anti-certification</em>. In an weird way, if you see a person with a CSM, it probably means that they only have a couple of days of theoretical knowledge of Scrum, and have never applied it in real life. The majority of people who have done Scrum for any length of time are not CSMs.</p>
<p>Instead of certifying people who are experts in Scrum, the Scrum Alliance has gone and certified only the rank newcomers to Scrum. You may actually have a better chance of getting a good hire <em>by ignoring the CSM pool</em> altogether!</p>
<p>The goal of a certification is to certify that a person <em>already has</em> the required competence. Not to take in new people and teach them &#8211; thats training, not certification. Training should be provided by anyone, certification by the certifying body.</p>
<p><strong>Doing certification right</strong></p>
<p>The reason why we trust accountants and doctors is simply because the certification sets a reasonable minimum bar. Not everyone can attend a 2 day course and become certified in tax law or medicine.</p>
<p>Similarly, any agile certification <em>should actually certify something!</em> The challenge here is that practices are evolving at a very rapid rate. How do we decide what to certify?</p>
<p>Having established what are the important knowledge areas and competencies that are important, the next challenge is to figure out how to evaluate it. Tests? Hands on? Both?</p>
<p>Finally, how do we keep it consistent? A certification is worthless if it is not consistent.</p>
<p>Also, separate out the training from the certifications. Let people get trained anywhere (or by self study). They can then come over and take a test to get certified.</p>
<p><strong>The Lean SSC certification</strong></p>
<p>It looks like the Lean Software &amp; Systems Consortium is thinking about doing a certification program. A few thoughts on that</p>
<ul>
<li>It is a good idea, if done right (see points above)</li>
<li>Doing it right will be hard, but its worth taking a shot at it, if only to see what comes out of it</li>
<li>Hopefully it won&#8217;t go the way of the Scrum Alliance by offering training courses disguised as certifications</li>
<li>It should focus on certifying the experts rather than using it as a marketing program to spread awareness. CSM has contributed to increasing awareness of Scrum, but it has come back to bite it now that there are too many certified people who don&#8217;t have the quality. A certification that doesn&#8217;t establish a minimum bar is worthless.</li>
<li>I wonder if it is too early? The right time for a certification program is post-mainstream when companies are complaining that they are unable to get the right people for lean/kanban.</li>
</ul>
<p>So what are your thoughts on certifications? Worthless? Useful? Impossible to do right?</p>
]]></content:encoded>
			<wfw:commentRss>http://toolsforagile.com/blog/archives/268/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Is scope creep bad?</title>
		<link>http://toolsforagile.com/blog/archives/236</link>
		<comments>http://toolsforagile.com/blog/archives/236#comments</comments>
		<pubDate>Fri, 19 Feb 2010 17:27:22 +0000</pubDate>
		<dc:creator>siddharta</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Lean]]></category>
		<category><![CDATA[Methodology]]></category>

		<guid isPermaLink="false">http://www.silverstripesoftware.com/blog/?p=236</guid>
		<description><![CDATA[
			
				
			
		
I recently gave a talk on 5 pitfalls in agile development. One of the points in the talk was about how traditional methods focused on managing projects by cost and schedule, whereas agile methods looked at other ways of measuring progress. For example, working software is held as a primary measure of progress. So is [...]]]></description>
			<content:encoded><![CDATA[<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F236&amp;layout=standard&amp;show_faces=no&amp;width=250&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:250px; height:25px"></iframe><div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F236"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F236&amp;source=silvercatalyst&amp;style=compact&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I recently gave a talk on 5 pitfalls in agile development. One of the points in the talk was about how traditional methods focused on managing projects by cost and schedule, whereas agile methods looked at other ways of measuring progress. For example, working software is held as a primary measure of progress. So is delivering business value.</p>
<p><span id="more-236"></span></p>
<p>One of the interesting ways of measuring progress is through learning. At the start of the project we are faced with a number of unknowns. How much progress have we made towards resolving these unknowns? Thats one way to look at progress of a project.</p>
<p><strong>So what does all this have to do with scope creep?</strong></p>
<p>Scope creep is bad right? We all know that. It&#8217;s the first thing we&#8217;re taught. If you want to stay on time and on budget, then don&#8217;t let the scope expand. Common sense!</p>
<p>Except it might not always be.</p>
<p>Scope creep originally meant small, low priority items, that popped up here and there which would cause the scope to increase almost without anyone noticing (hence the term <em>creep</em>). These days it is applied to <em>anything </em>that causes the requirements to be changed.</p>
<p>Now if we look at a project from a learning perpective, one of the things to learn is to identify the actual problem and the right solution. And we learn this by putting out small releases and iterating on it. Thus everytime we get feedback, we are increasing the learning and progressing towards getting the right solution.</p>
<p>Each bit of feedback also causes scope creep as new requirements get added based on the new learning.</p>
<p>From a learning perspective, this <em>kind of scope creep is actually good</em>. It means we are incorporating the new knowledge, and making progress towards delivering the right software. But <em>from a traditional cost &amp; schedule perspective, it is bad</em>. It makes a mess of the estimated cost and schedule.</p>
<p>This is one area where there is potential to trip up. Many companies are still fundamentally measuring projects in terms of cost and schedule and for them scope creep is really bad. This leads to a dysfunctional situation where an agile process is used, but feedback is not incorporated because it messes with the schedule. The end result is that you may end up delivering something, but the value delivered may not be all that much.</p>
]]></content:encoded>
			<wfw:commentRss>http://toolsforagile.com/blog/archives/236/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When Agile Projects Go Bad</title>
		<link>http://toolsforagile.com/blog/archives/129</link>
		<comments>http://toolsforagile.com/blog/archives/129#comments</comments>
		<pubDate>Mon, 30 Mar 2009 03:14:55 +0000</pubDate>
		<dc:creator>siddharta</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Methodology]]></category>

		<guid isPermaLink="false">http://www.silverstripesoftware.com/blog/archives/129</guid>
		<description><![CDATA[
			
				
			
		
ComputerWorld UK has an excellent article that quotes Alistair Cockburn and Kent Beck about agile projects that go bad. The most common cause of failing agile projects is when teams apply agile practices without understanding the principles behind them, leading to dysfunctional application of agile. This has been documented many times. However, it is also [...]]]></description>
			<content:encoded><![CDATA[<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F129&amp;layout=standard&amp;show_faces=no&amp;width=250&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:250px; height:25px"></iframe><div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F129"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F129&amp;source=silvercatalyst&amp;style=compact&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.computerworlduk.com/technology/development/software/in-depth/index.cfm?articleid=1889&amp;pn=1" title="When Agile Projects Go Bad">ComputerWorld UK has an excellent article</a> that quotes Alistair Cockburn and Kent Beck about agile projects that go bad. The most common cause of failing agile projects is when teams apply agile practices without understanding the principles behind them, leading to dysfunctional application of agile. <a href="http://www.silverstripesoftware.com/blog/archives/119">This has been documented many times</a>. However, it is also possible to reach a dysfunctional state when you apply the practices too much to an extreme, ignoring everything else. This is an interesting case &#8211; a team that is too religious about the practices, that again causes the project to fail.</p>
<p>I was long ago involved in a project where I decided to adopt unit testing. This was sometime in 2003 or so. I got so fixed up on it that we stopped delivering value to the customer. This is a perfect example of what can happen when you focus too much on the practise that you ignore the bigger picture. But the reverse is also true: Stop writing unit tests and you may deliver value for a while, but you will incur a huge amount of <a href="http://www.martinfowler.com/bliki/TechnicalDebt.html">technical debt</a>.</p>
<p>An experienced agile team can see both these extremes and choose a path that is best suited for them. Teams new to agile will usually end up on one of these extremes, probably even oscillating between both for a while before they correct the course to a level that works for them.</p>
<p>In the article, Alistair and Kent mention the following dysfunctions:</p>
<ul>
<li><strong>Checklist processes</strong>: When you have a checklist in front of you and you do practices without understanding them only because the checklist tells you that it needs to be done. Example: Checklist says we need to do a standup &#8211; so we do a status meeting that takes 1 hour, everyone reporting to the ScrumMaster</li>
<li><strong>Missing out the big picture</strong>: Asking the customer only for requirements for the next iteration and missing out the big picture in the process. This happens whe you become so focussed on gathering and completing individual stories that we lose out on why we are developing them or whether these are the right stories to be done in the bigger context of the system. Jeff Patton has a fantastic explanation of this dysfunction along with a possible solution in his article &#8220;<a href="http://agileproductdesign.com/blog/the_new_backlog.html">The new user story backlog is a map</a>.&#8221;</li>
<li><strong>Sudden increase in scope</strong>: Quoting Cockburn &#8211; The &#8216;Agile&#8217; team might say, &#8220;This looks like 170 story points,&#8221; but they don&#8217;t have any basis for that estimate. It turns out to be 700 story points, &#8220;But they only discover that as they go along, much to the depression of everyone involved&#8221;</li>
<li><strong>Not knowing when a practise doesn&#8217;t make sense</strong>: A variation on the checklist process is when a practice doesn&#8217;t make sense for the situation at hand, but it gets done because the book/coach/checklist said so.</li>
<li><strong>Not engaging the sponsors and customers</strong>: With a weak product owner, the programmers may end up deciding the backlog. At the other extreme, the programmers never make a decision, pushing all decisions back to the product owner.</li>
<li><strong>Sometimes agile is not the right process</strong>: For certain situations, another process may make more sense, but the management adopts agile because its the latest buzz word.</li>
</ul>
<p>Finally, the biggie (especially with hardcore agile teams):<strong> Agile as a religion.</strong> Quoting Cockburn again:</p>
<blockquote><p> Sometimes Agile principles are grossly misinterpreted, according to Cockburn. &#8220;I get called in by a CIO, CTO, any CXO, and they&#8217;re suffering because their programmers are telling them &#8216;You don&#8217;t know anything about Agile. Agile means we don&#8217;t have to give you a plan, Agile means we don&#8217;t need an architecture&#8217;-a whole bunch of rubbish that isn&#8217;t in the Agile manifesto.&#8221;</p>
<p>So Cockburn, or people like him, have to come in and tell the CIO that it&#8217;s okay to ask for a plan and an architecture. &#8220;But it takes me to come and do it,&#8221; Cockburn says. &#8220;If anyone else says it, they get told that they&#8217;re just an old fuddy-duddy, [and that] they don&#8217;t know anything about Agile.&#8221;</p></blockquote>
<p>All in all, this is a fantastic article. I highly recommend everyone to read it, especially those who have been doing agile for a while. It provides a balancing view to a lot of the agile stories on the web. <a href="http://www.computerworlduk.com/technology/development/software/in-depth/index.cfm?articleid=1889&amp;pn=1" title="When Agile Project Go Bad">Read the whole article here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://toolsforagile.com/blog/archives/129/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Cutting Costs With Agile Software Development Methods&#8221; Seminar In Chennai</title>
		<link>http://toolsforagile.com/blog/archives/125</link>
		<comments>http://toolsforagile.com/blog/archives/125#comments</comments>
		<pubDate>Fri, 13 Mar 2009 05:19:57 +0000</pubDate>
		<dc:creator>siddharta</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Methodology]]></category>
		<category><![CDATA[conference]]></category>

		<guid isPermaLink="false">http://www.silverstripesoftware.com/blog/archives/125</guid>
		<description><![CDATA[
			
				
			
		



The Ministry of Micro, Small and Medium Enterprises (Govt. of India) (MSME) is organising a 1 day seminar series on &#8220;Cutting Costs with Agile Software Development Methods&#8221; on Friday, 20th of March.
Topics that will be covered:

Business Case for Agile Software Development
Introduction to Scrum
Adapting to changing requirements
Benefits of self organising teams
Releasing quality software
Agile metrics

Plus an open [...]]]></description>
			<content:encoded><![CDATA[<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F125&amp;layout=standard&amp;show_faces=no&amp;width=250&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:250px; height:25px"></iframe><div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F125"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F125&amp;source=silvercatalyst&amp;style=compact&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.silverstripesoftware.com/blog/wp-content/uploads/2009/03/chennai_agile_seminar.jpg" title="Chennai MSME Workshop"></p>
<p style="text-align: center"><img src="http://www.silverstripesoftware.com/blog/wp-content/uploads/2009/03/chennai_agile_seminar.thumbnail.jpg" alt="Chennai MSME Workshop" /></p>
<p></a></p>
<p>The Ministry of Micro, Small and Medium Enterprises (Govt. of India) (MSME) is organising a 1 day seminar series on &#8220;Cutting Costs with Agile Software Development Methods&#8221; on Friday, 20th of March.</p>
<p>Topics that will be covered:</p>
<ul>
<li>Business Case for Agile Software Development</li>
<li>Introduction to Scrum</li>
<li>Adapting to changing requirements</li>
<li>Benefits of self organising teams</li>
<li>Releasing quality software</li>
<li>Agile metrics</li>
</ul>
<p>Plus an open discussion where you can bring up the topics you&#8217;re most interested in.</p>
<p>Click the image above for all the details regarding content and registration.</p>
]]></content:encoded>
			<wfw:commentRss>http://toolsforagile.com/blog/archives/125/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What matters more, people or process?</title>
		<link>http://toolsforagile.com/blog/archives/95</link>
		<comments>http://toolsforagile.com/blog/archives/95#comments</comments>
		<pubDate>Sun, 20 Apr 2008 15:27:55 +0000</pubDate>
		<dc:creator>siddharta</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Methodology]]></category>
		<category><![CDATA[organisation]]></category>

		<guid isPermaLink="false">http://www.silverstripesoftware.com/blog/archives/95</guid>
		<description><![CDATA[
			
				
			
		
One of the best posts I have seen in a while. Cory Fox on what matters more, people or process:
 It&#8217;s a good question. I saw good code at places with crappy practices. And I saw crappy code at places with good practices.
But in almost all of the places, I saw code that was on [...]]]></description>
			<content:encoded><![CDATA[<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F95&amp;layout=standard&amp;show_faces=no&amp;width=250&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:250px; height:25px"></iframe><div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F95"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F95&amp;source=silvercatalyst&amp;style=compact&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>One of the best posts I have seen in a while. <a href="http://tech.groups.yahoo.com/group/extremeprogramming/message/141813">Cory Fox on what matters more, people or process</a>:</p>
<blockquote><p> It&#8217;s a good question. I saw good code at places with crappy practices. And I saw crappy code at places with good practices.</p>
<p>But in almost all of the places, I saw code that was on par with the motivation of the teams in place. In other words, teams that were excited about what they were doing, and kept up with trends, etc, often had code they were proud of. Teams that liked their job, but basically were just there had code that worked and had issues, but they didn&#8217;t mind. And teams that were just in a crappy place had code that was crappy.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://toolsforagile.com/blog/archives/95/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile for maintenance projects</title>
		<link>http://toolsforagile.com/blog/archives/92</link>
		<comments>http://toolsforagile.com/blog/archives/92#comments</comments>
		<pubDate>Fri, 14 Mar 2008 05:09:52 +0000</pubDate>
		<dc:creator>siddharta</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Methodology]]></category>

		<guid isPermaLink="false">http://www.silverstripesoftware.com/blog/archives/92</guid>
		<description><![CDATA[
			
				
			
		
In the previous post I wrote that Sanjiv Augustine was giving a talk in Chennai. After the talk we had a discussion about implementing Agile in maintenance projects. This is one of those topics that is not discussed very often, but it&#8217;s a topic that crops up very often in an Indian context where many [...]]]></description>
			<content:encoded><![CDATA[<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F92&amp;layout=standard&amp;show_faces=no&amp;width=250&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:250px; height:25px"></iframe><div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F92"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F92&amp;source=silvercatalyst&amp;style=compact&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>In the previous post I wrote that <a href="http://www.silverstripesoftware.com/blog/archives/91">Sanjiv Augustine was giving a talk</a> in Chennai. After the talk we had a discussion about implementing Agile in maintenance projects. This is one of those topics that is not discussed very often, but it&#8217;s a topic that crops up very often in an Indian context where many teams are working on offshore maintenance projects.</p>
<p>There are two types of maintenance projects that are commonly encountered. One is when you have a bunch of feature enhancements to an existing project. The second is when you get bug reports from the field that are fixed as they arrive.</p>
<p>The first type is quite straightforward to handle — just prioritize your feature request list and handle like a normal agile project.</p>
<p>The second type is a lot more tricky because you are fixing bugs as they arrive. This means that there is no backlog as such. Rather, bugs are worked on as they arrive in a first-come first-served manner. Sometimes you might have a few bug reports come in simultaneously in which case some basic prioritisation is done, but on the whole it is mostly first-come first-served. What is more, there is no specific &#8220;release,&#8221; but bugs are fixed and then immediately pushed into production.</p>
<p>It is this second type of project that I want to discuss in this post, because my experience has been that iterations are really ill-suited for this sort of development. The problem with iterations is that you need a definite start date and end date, but it doesn&#8217;t make sense to wait and collect bug reports, then plan it out and release them all at once at the end of the iteration. It would be much better if you could work on bug reports as they come in, using some sort of queue.</p>
<p>Naturally, the first thing that comes to mind is <a href="http://www.agilemanagement.net/Articles/Weblog/blog.html" title="David Anderson Blog">David Anderson</a>&#8217;s <a href="http://www.agilemanagement.net/Articles/Weblog/KanbaninAction.html" title="Kanban in action for software development">Kanban based method</a> which is based on queues and flow rather than iterations. This seems to be ideally suited to the variable input rate that occurs in bug fixing. One caution is that applying this method requires a good understanding of lean and a mature team and is definitely on the &#8220;Ri&#8221; end of the &#8220;<a href="http://c2.com/cgi/wiki?ThreeLevelsOfAudience">Shu-Ha-Ri</a>&#8221; scale. If you are interested, Sajiv has links to a <a href="http://lithespeed.blogspot.com/2007/10/applying-lean-to-agile-david-anderson.html" title="David Anderson talk at Yahoo">talk that David gave at Yahoo!</a> a few months ago.</p>
<p>Another option that Sanjiv mentioned was doing extremely short iterations. By extremely short, I don&#8217;t mean 1 week iterations, but more like 1 day iterations(!). The basic idea is that each day you look at the bug reports available, select some to implement that day, then code, test, integrate within the same day. Repeat every day. Some teams do 2 day iterations instead of 1 day iterations, but the idea is the same &#8211; plan, implement and integrate over a very short time frame. This may be easier to implement for those who are familiar with Scrum because the basic principles still apply, though over a very, very short time frame. Given the huge popularity of Certified Scrum Master courses and the subsequent familiarity with Scrum, it might be easier for a new ScrumMaster to go this route.</p>
<p>Another challenge with maintenance projects is that you are often not dealing with your own code. You might be working with some messy legacy code with bad design, no unit tests and so on. What do you do then? All I can say at the moment is to check out Michael Feather&#8217;s excellent book, &#8220;<a href="http://www.amazon.com/Working-Effectively-Legacy-Robert-Martin/dp/0131177052/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1205471169&amp;sr=8-1" title="Working Effectively With Legacy Code">Working Effectively With Legacy Code</a>&#8220;. It&#8217;s a must read book for anyone doing agile, maintenance or otherwise.</p>
]]></content:encoded>
			<wfw:commentRss>http://toolsforagile.com/blog/archives/92/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>There are no a priori best practices</title>
		<link>http://toolsforagile.com/blog/archives/89</link>
		<comments>http://toolsforagile.com/blog/archives/89#comments</comments>
		<pubDate>Sun, 03 Feb 2008 02:34:43 +0000</pubDate>
		<dc:creator>siddharta</dc:creator>
				<category><![CDATA[Methodology]]></category>

		<guid isPermaLink="false">http://www.silverstripesoftware.com/blog/archives/89</guid>
		<description><![CDATA[
			
				
			
		
Corey Ladas: There are no a priori best practices. There are only the practices you are using now. And practices that are better than the ones you are using now.
  
]]></description>
			<content:encoded><![CDATA[<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F89&amp;layout=standard&amp;show_faces=no&amp;width=250&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:250px; height:25px"></iframe><div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F89"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F89&amp;source=silvercatalyst&amp;style=compact&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://leansoftwareengineering.com/2008/02/02/there-are-no-a-priori-best-practices/" title="There are no a priori best practices">Corey Ladas</a>: There are no a priori best practices. There are only the practices you are using now. And practices that are better than the ones you are using now.</p>
<p> <img src='http://toolsforagile.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://toolsforagile.com/blog/archives/89/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to Agile Methodologies presentation</title>
		<link>http://toolsforagile.com/blog/archives/88</link>
		<comments>http://toolsforagile.com/blog/archives/88#comments</comments>
		<pubDate>Thu, 24 Jan 2008 17:44:19 +0000</pubDate>
		<dc:creator>siddharta</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Methodology]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[silverstripesoftware]]></category>

		<guid isPermaLink="false">http://www.silverstripesoftware.com/blog/archives/88</guid>
		<description><![CDATA[
			
				
			
		
I recently gave a presentation on an Introduction to Agile Methodologies. Unfortunately, I only have the presentation, and not the audio narration that goes with the presentation. Therefore a few of the slides might not make sense taken out of context from the narration. Here is the presentation:

 &#124; View &#124; Upload your own
]]></description>
			<content:encoded><![CDATA[<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F88&amp;layout=standard&amp;show_faces=no&amp;width=250&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:250px; height:25px"></iframe><div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F88"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F88&amp;source=silvercatalyst&amp;style=compact&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I recently gave a presentation on an Introduction to Agile Methodologies. Unfortunately, I only have the presentation, and not the audio narration that goes with the presentation. Therefore a few of the slides might not make sense taken out of context from the narration. Here is the presentation:</p>
<p style="width: 425px; text-align: left" id="__ss_239974"><object style="margin: 0px" height="355" width="425"><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=introduction-to-agile-methodologies-1201195584917735-2" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="355" width="425"></embed></object></p>
<p style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px"><a href="http://www.slideshare.net/?src=embed"><img src="http://static.slideshare.net/swf/logo_embd.png" style="border: 0px none ; margin-bottom: -5px" alt="SlideShare" /></a> | <a href="http://www.slideshare.net/Siddhi/introduction-to-agile-methodologies" title="View 'Introduction to Agile Methodologies' on SlideShare">View</a> | <a href="http://www.slideshare.net/upload">Upload your own</a></p>
]]></content:encoded>
			<wfw:commentRss>http://toolsforagile.com/blog/archives/88/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Adopting Agile in an Organisation</title>
		<link>http://toolsforagile.com/blog/archives/60</link>
		<comments>http://toolsforagile.com/blog/archives/60#comments</comments>
		<pubDate>Wed, 25 Jul 2007 17:40:46 +0000</pubDate>
		<dc:creator>siddharta</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Methodology]]></category>

		<guid isPermaLink="false">http://www.silverstripesoftware.com/blog/archives/60</guid>
		<description><![CDATA[
			
				
			
		
Mike Griffiths has a fantastic three part blog series on how to adopt agile methods in an organization. As can be expected, there is a lot of emphasis on managing change in the organisation (the number one stumbling block in my experience)

Part 1: Why, Who, What, When, Where
Part 2: Why change is difficult, why people [...]]]></description>
			<content:encoded><![CDATA[<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F60&amp;layout=standard&amp;show_faces=no&amp;width=250&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:250px; height:25px"></iframe><div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F60"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F60&amp;source=silvercatalyst&amp;style=compact&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Mike Griffiths has a fantastic three part blog series on how to adopt agile methods in an organization. As can be expected, there is a lot of emphasis on managing change in the organisation (the number one stumbling block in my experience)</p>
<ul>
<li><a href="http://leadinganswers.typepad.com/leading_answers/2007/03/introducing_agi.html" title="Adopting agile: Part 1">Part 1</a>: Why, Who, What, When, Where</li>
<li><a href="http://leadinganswers.typepad.com/leading_answers/2007/03/introducing_agi_1.html" title="Adopting Agile: Part 2">Part 2</a>: Why change is difficult, why people naturally resist change, and when people do accept changes</li>
<li><a href="http://leadinganswers.typepad.com/leading_answers/2007/03/introducing_agi_2.html" title="Adopting Agile: Part 3">Part 3</a>: A change framework to effectively implement agile methods</li>
</ul>
<p>Through the three parts, he points out 16 mistakes that are often made while implementing a change program for agile adoption. These include mistakes like Mistake #8: Underestimating the resistance to change, Mistake #9: Think people will want to adopt agile because it is better and Mistake #14: Not explaining that things will feel uncomfortable to begin with.</p>
<p>If you are leading the change effort for agile adoption in your organisation, then you owe it to yourself to <a href="http://leadinganswers.typepad.com/leading_answers/2007/03/introducing_agi.html" title="Agile Adoption">check out the posts</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://toolsforagile.com/blog/archives/60/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
