<?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>Geek4Eva &#187; Agile</title>
	<atom:link href="http://geek4eva.com/tag/agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://geek4eva.com</link>
	<description>No Limits</description>
	<lastBuildDate>Tue, 01 May 2012 10:55:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Different Flavours of Waterfall and Agile Development</title>
		<link>http://geek4eva.com/2009/09/29/different-flavours-of-waterfall-and-agile-development/</link>
		<comments>http://geek4eva.com/2009/09/29/different-flavours-of-waterfall-and-agile-development/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 22:49:34 +0000</pubDate>
		<dc:creator>Farid Vaswani</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[1-Testing]]></category>
		<category><![CDATA[SDLC]]></category>

		<guid isPermaLink="false">http://geek4eva.logicx.co.nz/blog/?p=397</guid>
		<description><![CDATA[Here’s a quick and simple overview of the main differences between Waterfall Development, Iterative Waterfall Development, Scrum/Agile Development and Lean by Agile101.net Waterfall Development ‘Waterfall Development’ is another name for the more traditional approach to software development. It’s called ‘waterfall’ [&#8230;]]]></description>
			<content:encoded><![CDATA[
<p>Here’s a quick and simple overview of the main differences between Waterfall Development, Iterative Waterfall Development, Scrum/Agile Development and Lean by <a href="http://agile101.net/2009/09/08/the-difference-between-waterfall-iterative-waterfall-scrum-and-lean-in-pictures/" target="_blank">Agile101.net</a></p>
<h2>Waterfall Development</h2>
<p>‘Waterfall Development’ is another name for the more <strong>traditional approach to software development</strong>.</p>
<p>It’s called ‘waterfall’ as this type of development is often planned using a Gantt chart – <strong>you complete one phase (e.g. planning) before moving on to the next phase (e.g. development</strong>).</p>
<p>In Waterfall approaches, you <strong>will rarely aim to re-visit a ‘phase’ once it’s completed</strong>. As such, <strong>you better get whatever you’re doing right the first time</strong>!</p>
<p>This approach is <strong>highly risky</strong>, often <strong>more costly</strong> and generally <strong>less efficient</strong> than more Agile approaches.</p>
<p>The <strong>main issues with this approach</strong> include:</p>
<ul>
<li>You don’t realise any value until the end of the project (when you deploy) <strong>(See: </strong><a href="http://agile101.net/2009/07/22/self-funding-projects-a-benefit-of-agile-software-development/"><strong>Self-Funding Projects, a Benefit of Agile Software Development</strong></a><strong>)</strong></li>
<li>You leave the testing until the end, which means you’re leaving issue discovery until late in the day</li>
<li>You don’t seek approval from the stakeholders until late in the day – their requirements might have changed</li>
<li>You’re heavily reliant upon a plan, which you can/will often follow to the detriment of the end result</li>
<li>You’re heavily reliant upon a project manager driving the way – the power of one</li>
</ul>
<h2>Iterative Waterfall Development</h2>
<p>This approach carries <strong>less risk than a traditional Waterfall approa</strong>ch but is still far <strong>more risky and less efficient than a more Agile approaches</strong>.</p>
<p>The <strong>focus is on delivering a sprint of work </strong>as opposed to a series of valuable/shippable features.</p>
<p>The most <strong>commonly occurring issue in this type of scenario (in my experience) is</strong> <strong>bottle necking</strong>.</p>
<p>For example, you deliver loads of code a little bit behind schedule (?) and you leave it until the last minute to test everything. <strong>One issue takes longer than expected to resolve, you miss your sprint deadline and you deliver nothing</strong>.</p>
<p>Another <strong>common symptom of this type of approach is over-commitment</strong>.  It’s really <strong>difficult to estimate</strong> the <strong>total</strong> effort associated with a particular User Story/Feature when approaching delivery in this phased way.</p>
<p>You’re more or less <strong>forced to estimate each phase separately</strong> (e.g. estimate development separately to testing in this instance) – this doesn’t work as the <strong>phases are not separate, they’re totally intertwined</strong>.</p>
<p>For example, if you find an issue with the test, you must return to development. The <strong>whole team must remain focused on delivering the end goal</strong>, not the separate phases.</p>
<p>It’s also worth noting that <strong>velocity and burn downs are far less (if at all) useful in this type of environment – you don’t benefit from early-warning-signs as you don’t find out whether you’re on track until the end of the sprint.</strong></p>
<h2>Scrum Development</h2>
<p>This approach <strong>carries far less risk than Waterfall appro</strong>aches.</p>
<p>We <strong>focus on delivering fully-tested, independent, valuable, small features</strong>. As such, we <strong>diversify our risk</strong> – if one feature goes wrong, it should not impact another feature.</p>
<p>With that said, we <strong>still plan our work in iterations</strong> and we will <strong>still release at the end of each iteration</strong>.</p>
<h2>Lean Development</h2>
<p>Lean is very similar to Scrum in the sense that we <strong>focus on features as opposed to groups of features</strong> – however Lean takes this one step further again.</p>
<p>In Lean Development, <strong>you select, plan develop, test and deploy one feature (in its simplest form) before you select, plan, develop, test and deploy the next feature</strong>. By doing this, you further isolate risk to a feature-level.</p>
<p>In these environments, you <strong>aim to eliminate ‘waste’ wherever possible</strong> – you therefore do nothing until you know it’s necessary or relevant.</p>
<p align="center"><img src="http://lh4.ggpht.com/_96IU25bidIo/SsCH6bvi9RI/AAAAAAAAAT8/d8e-TqQDCQ8/s800/20090928_sdlc_flavours.jpg" alt="Flavours of Agile and Waterfall Development" /></p>
]]></content:encoded>
			<wfw:commentRss>http://geek4eva.com/2009/09/29/different-flavours-of-waterfall-and-agile-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Compromising User Acceptance Testing</title>
		<link>http://geek4eva.com/2009/08/20/compromising-user-acceptance-testing/</link>
		<comments>http://geek4eva.com/2009/08/20/compromising-user-acceptance-testing/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 11:03:05 +0000</pubDate>
		<dc:creator>Farid Vaswani</dc:creator>
				<category><![CDATA[1-Testing]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Softwares]]></category>
		<category><![CDATA[UAT]]></category>
		<category><![CDATA[user acceptance testing]]></category>

		<guid isPermaLink="false">http://geek4eva.logicx.co.nz/blog/?p=99</guid>
		<description><![CDATA[Image source In his blog post Your user acceptance testing is fixed – Is that a problem? &#8211; Shrini has quite correctly detailed the challenges of getting UAT done from the business and various ways how a UAT is compromised. [&#8230;]]]></description>
			<content:encoded><![CDATA[<p align="center">
<img src="http://lh6.ggpht.com/_96IU25bidIo/So0md5CNTCI/AAAAAAAAAJk/7c2Nuq3zxFs/s800/20090820_UAT.jpg" alt="UAT" /><br />
<br />Image <a href="http://www.coleyconsulting.co.uk/uat.htm" target="_blank">source</a>
</p>
<p>
In his blog post <a href="http://shrinik.blogspot.com/2009/08/your-user-acceptance-testing-is-fixed.html" target="_blank">Your user acceptance testing is fixed – Is that a problem?</a> &#8211; Shrini has quite correctly detailed the challenges of getting UAT done from the business and various ways how a UAT is compromised.</p>
<blockquote><p>
<strong>Forms of fixing UAT</strong><br />
Between Business and IT, UAT can be fixed in number of ways – some of these are reasonably business driven models given the constraints.<br />
1. UAT will be performed by the members from IT team where business only reviews the results of the test. If the results are OK then UAT is ought to have been completed<br />
2. UAT will be performed by a third party, such as someone from support staff. Business will review the results and accept the proposed changes if results are OK<br />
3. Business will provide a prescribed set of test scripts that can either be used by anyone IT staff or support staff. Results will be verified by the Business.<br />
4. UAT will be done like a demo to the users where IT staff will execute some pre-approved test scenarios related to proposed changes.<br />
5. IT team will train the business in new features proposed to be introduced. Business users after training, test (use) the proposed software and accept the software</p>
<p><strong>Why fixing user acceptance testing is bad thing?</strong></p>
<p>Why bother to UAT after all? For IT, more often than not, it is a formality to be completed before they push the code to production.</p>
<p>In my opinion, it is the spirit and purpose of UAT that gets compromised. Typically, in spite of all best efforts, the depth and frequency of interactions between IT and business throughout the project remains low. When business users do not participate with full spirit in UAT, lots of things go unnoticed into production. This might results users (non participating ones especially) getting surprised when they see the product.
</p></blockquote>
<p>&nbsp;</p>
<p>
I certainly agree with his comments and his displeasure when UAT is compromised.</p>
<p>
At one of the companies that I&#8217;ve worked for, we had taken the Agile approach where regular demos were conducted for business where they got the exact idea of what was being developed and does it meet their expectations. This made our life quite easier as towards the end when it was time for UAT, they had virtually tested the complete application except for the bits that were part of final iteration.</p>
<p>
BUT in saying that Agile approach is not always possible and we sometimes do have to take the traditional &#8216;waterfall&#8217; method where business gets to see the application right at the end. And when it&#8217;s time for UAT then they either don&#8217;t understand what UAT is or testing is their last priority due to other BAU (business as usual) committments. And that is when we have to come up with a compromise where we have to help them with testing by providing some high-level scripts or some training on the application.</p>
<p>
I am not happy to say but it is quite common and in fact nowadays it is being taken for granted that business will get some support from test team to get the UAT done.</p>
<p>&nbsp;</p>
<p>
]]></content:encoded>
			<wfw:commentRss>http://geek4eva.com/2009/08/20/compromising-user-acceptance-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

