<?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>Valtech UK &#187; David Draper</title>
	<atom:link href="http://blog.valtech.co.uk/author/dave/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.valtech.co.uk</link>
	<description>Aggregated works of Valtech UK consultants</description>
	<lastBuildDate>Mon, 30 Jan 2012 12:23:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Scaling agile teams – by features or by component?</title>
		<link>http://blog.valtech.co.uk/agile-management/scaling-agile-teams-%e2%80%93-by-features-or-by-component/</link>
		<comments>http://blog.valtech.co.uk/agile-management/scaling-agile-teams-%e2%80%93-by-features-or-by-component/#comments</comments>
		<pubDate>Fri, 29 Jul 2011 16:44:15 +0000</pubDate>
		<dc:creator>David Draper</dc:creator>
				<category><![CDATA[Agile Management]]></category>
		<category><![CDATA[Scaling]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/?p=338</guid>
		<description><![CDATA[Agile methods are of clear benefit while our projects are small enough to be delivered by a single small team responsible for the full life-cycle and incorporating all of the various necessary specialisms. As the project size increases we will eventually reach a state where we face a challenge since the team size becomes increasingly]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.valtech.co.uk%2Fagile-management%2Fscaling-agile-teams-%25e2%2580%2593-by-features-or-by-component%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.valtech.co.uk/agile-management/scaling-agile-teams-%e2%80%93-by-features-or-by-component/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.valtech.co.uk/agile-management/scaling-agile-teams-%e2%80%93-by-features-or-by-component/"  data-text="Scaling agile teams – by features or by component?" data-count="horizontal" data-via="valtech">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Agile methods are of clear benefit while our projects are small enough to be delivered by a single small team responsible for the full life-cycle and incorporating all of the various necessary specialisms. As the project size increases we will eventually reach a state where we face a challenge since the team size becomes increasingly difficult to manage and we seek to provide internal structure through sub-teams. At this point we will typically need to establish the axis along which the team is split.<br />
<span id="more-338"></span></p>
<p><strong>Option 1: Component orientation</strong><br />
In a large systems it is common to find developers who align themselves to components. This presents a simple option of splitting the team along component lines. By doing this we create a need to split user-centric features into component features and subsequently re-combine and verify the end-to-end behaviour.</p>
<p>In this way we have benefited from natural affinity of developers to components at the cost of lead time. The benefits of this approach will depend on the degree of specialisation and the degree to which specialisation aligns with co-location; this ownership of components by location is common in large systems development organisations. A further drawback, however, is the balance of features to components, it is not uncommon to see feature prioritisation determined by availability of component teams in preference to value, increasing the degree of generalisation increases a teams flexibility to build the next most valuable feature independent of the impacted software component.</p>
<p><strong>Option 2: Discipline</strong><br />
By splitting a team by discipline we risk longer lead times and can easily risk further engraining waterfall like thinking such as stove-piping the organisation with a &#8220;throw over the wall&#8221; attitude. </p>
<p>However, all is not lost. Kanban systems have been shown to offer a model that recognises the existing flow of work while encouraging innovation to reduce lead time of features. Kanban systems have also been used successfully with teams of up to 50 people, considerably larger than the norm for Scrum or XP teams.</p>
<p><strong>Option 3: Location</strong><br />
Co-location is known to be a strong influencer of team effectiveness. With this in mind it would be naive to ignore location in a discussion of team forming. A co-located team would be expected to out-perform a dispersed team where all other aspects are equal. However, dispersed teams can be used to good effect in order to leverage benefits of feature teams. In this situation we should learn the lessons of those who have successfully built effective dispersed and distributed teams.</p>
<p><strong>Option 4: Feature</strong><br />
The preferred model for team structuring in most Agile methods is to orient teams around delivery of customer valued features. This model encourages increasing levels of generalisation according to the profile of the features being delivered by the team. While integration issues can still arise with feature teams the use of continuous integration will mitigate risks while feature selection can help to limit interaction between teams. Where the project size is very large or the problem domain very complex it is possible to orient feature teams around areas of the problem domain. This is what Craig Larman terms Requirement Areas. By allocating teams to requirement areas we support the team in developing their understanding of the problem space investing in specialisation on that axis in preference to specialising in a discipline or component.</p>
<p><strong>Choosing and Blending</strong><br />
In practice we will typically mix these models in a large multi-location team combining the benefits of co-location, feature orientation and component specialisation while trying to manage the limitations of each. By way of a practical example consider an embedded system distributed across the globe. We may choose to recognise the specialisation of the team that develops the low level board support packages; this team delivers low-level facilities to feature teams. We lean towards feature teams for the majority of user-feature development. However, for high volatility or high risk features we might choose to have co-located feature teams in the vicinity of our key customer groups. This focuses the agility of co-located teams where it adds the most value.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.co.uk/agile-management/scaling-agile-teams-%e2%80%93-by-features-or-by-component/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Driving out Uncertainty</title>
		<link>http://blog.valtech.co.uk/agile-management/driving-out-uncertainty-2/</link>
		<comments>http://blog.valtech.co.uk/agile-management/driving-out-uncertainty-2/#comments</comments>
		<pubDate>Mon, 23 May 2011 13:57:01 +0000</pubDate>
		<dc:creator>David Draper</dc:creator>
				<category><![CDATA[Agile Management]]></category>
		<category><![CDATA[cone of uncertainty]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/?p=269</guid>
		<description><![CDATA[Agile practice irrespective of flavour (Scrum Kanban XP …)can often be reduced to: Work in small batches Deliver often Build the most valuable chunk first And it’s the “value” bit that can get us in trouble. How do we determine which is the most valuable bit? Particularly early on in a project we need to]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.valtech.co.uk%2Fagile-management%2Fdriving-out-uncertainty-2%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.valtech.co.uk/agile-management/driving-out-uncertainty-2/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.valtech.co.uk/agile-management/driving-out-uncertainty-2/"  data-text="Driving out Uncertainty" data-count="horizontal" data-via="valtech">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><div>
<p>Agile practice irrespective of flavour (Scrum Kanban XP …)can often be reduced to:</p>
<ul>
<li> Work in small batches</li>
<li> Deliver often</li>
<li> Build the most valuable chunk first</li>
</ul>
<p>And it’s the “value” bit that can get us in trouble.</p>
<p>How do we determine which is the most valuable bit? Particularly early on in a project we need to be careful about how we prioritise. Do we just get a bunch of business folk to fight for their favourite features or do we have some hard won lessons to apply from many years of technology project management?</p>
<p>One of the first projects I was responsible for was fixed scope and fixed price. The customer was documenting requirements to be handed into the “agile” development team who built and tested software prior to a traditional system test cycle. Not very agile!</p>
<p>However, we benefitted greatly from the rhythm or scrum, the rigour of agile engineering practice and the predictability the the planning and tracking approach provided.</p>
<p>Most significantly, by taking the Product Owner role I was able to prioritise according to my own definition of value. Put yourself in my seat, you work for a software consultancy, it’s your first project and it is fixed everything, what makes one feature more valuable than another? The answer is risk. When everything is fixed value is in the reduction of risk. In fact I combined prioritisation according to risk with other engineering considerations such as profile of the work to bring the project to a successful conclusion.</p>
<p>So what about other interpretations of value? I’ve been helping a client with a project initiation over the past couple of weeks and found myself using the word uncertainty a great deal. It seems that driving out uncertainty held a great deal of value in that context. In fact, when kicking of a project we look for information generation first, then seek to identify key risk areas and mitigation strategies such as finding new stakeholders or driving out technical risk with proof of concept work.</p>
<p>Uncertainty isn’t new; I often use the “cone of uncertainty” model to express the value of reducing uncertainty. As <a href="http://en.wikipedia.org/wiki/Cone_of_Uncertainty">wikipedia</a> will tell you, this model is primarily concerned with project estimation. At the beginning of a project, skilled estimators may have a factor of 4 error in either direction. Over time error should rapidly reduce as information arrives and the project progresses. This dynamic is known as the Cone of Uncertainty and is the inner line on the graph.</p>
<p><a href="http://blogs.sun.com/fifors/resource/cone-of-uncertainty.png"><img style="margin: 4px; border: 1px solid black;" src="http://blogs.sun.com/fifors/resource/cone-of-uncertainty.png" border="1" alt="Cone-Of-Uncertainty" hspace="4" vspace="4" /></a></p>
<p>The outer line is the cloud of uncertainty. This is what could happen if uncertainty is not driven out of the project. Right to near the end of the project there is significant error in estimating the size due to missing information.</p>
<p>When we execute agile projects lets not forget the value of driving out uncertainty. This isn’t an excuse to analyse everything to death. Our goal is to recognise where the uncertainty that matters is hiding. Those innocuous features that come along and prove the architecture is flawed are a prime example. We must do enough to understand the risk we are carrying while being sensitive to the cost of gathering detailed information pertaining to speculative requirements.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.co.uk/agile-management/driving-out-uncertainty-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MMFs – enabling incremental delivery</title>
		<link>http://blog.valtech.co.uk/mmf/mmfs-%e2%80%93-enabling-incremental-delivery/</link>
		<comments>http://blog.valtech.co.uk/mmf/mmfs-%e2%80%93-enabling-incremental-delivery/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 08:43:30 +0000</pubDate>
		<dc:creator>David Draper</dc:creator>
				<category><![CDATA[Agile Requirements]]></category>
		<category><![CDATA[MMF]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/agile-requirements/mmfs-enabling-incremental-delivery/</guid>
		<description><![CDATA[I just checked back to see how much I&#8217;d written about MMFs (minimum marketable features). This is a technique I use and talk about a lot so I thought I&#8217;d written more that I have. I&#8217;ll provide here a few of the ways I use MMFs and why I feel that they are so helpful [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.valtech.co.uk%2Fmmf%2Fmmfs-%25e2%2580%2593-enabling-incremental-delivery%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.valtech.co.uk/mmf/mmfs-%e2%80%93-enabling-incremental-delivery/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.valtech.co.uk/mmf/mmfs-%e2%80%93-enabling-incremental-delivery/"  data-text="MMFs – enabling incremental delivery" data-count="horizontal" data-via="valtech">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>I just checked back to see how much I&#8217;d written about MMFs (minimum marketable features). This is a technique I use and talk about a lot so I thought I&#8217;d written more that I have.</p>
<p>I&#8217;ll provide here a few of the ways I use MMFs and why I feel that they are so helpful when devising incremental delivery strategies.<br />
<span id="more-335"></span><br />
So, first thing first. MMFs are really a business tool and are a simple technique for devising and expressing the businesses strategy for delivering some outcome. The sweet spot for this technique is in providing an escape from classical big project thinking.<br />
The MMF describes simply the smallest set of features that could achieve some outcome. This is only useful if you have decided to operate in an incremental manner. If you would like to generate benefit (read cold hard cash) early and make decisions based on real data from experiences gained in the market place then MMFs are for you.<br />
An MMF may focus on:</p>
<ul>
<li>providing a workflow, e.g. subscription for a news letter</li>
<li>satisfying the need of some stakeholder e.g. generate a report</li>
<li>satisfying some persona e.g. advanced user</li>
</ul>
<p><span id="more-442"></span></p>
<p>The key to an MMF is the natural provision of a scope test. Since the first &#8220;M&#8221; is minimal we should include no feature that could be removed without impact to achieving the benefit. This rule need not be applied dogmatically. However, where I have seen the technique used to greatest effect the challenge was levied often &#8220;What if we didn&#8217;t have that feature, do we still achieve our goal?&#8221;</p>
<p>Using MMFs effectively relies on the understanding that there will be a series of MMFs. I&#8217;ve seen dysfunctional behaviour where an organisation had a habit of planning multiple releases but delivering only release 1.</p>
<p>We should remember that an MMF is not a promise to release. Rather it is a recognition that some benefit could be achieved. There are many business reasons for not releasing the minimum that could work and business motivations change over time and as the development progresses. Two examples are:</p>
<ul>
<li>A team with fixed release dates</li>
</ul>
<p>This team identifies an MMF that fits comfortably into the development period and a set of desirable additions beyond the minimum. The team commits to delivery of the MMF and typically delivers a small umber of additional features from the desirable list. This benefits the business since the delayed delivery of the MMF is offset by the improved predicability.</p>
<ul>
<li>An organisation trailing in the market and keen to make a splash.</li>
</ul>
<p>This organisation developed the product using MMFs. Each delivered MMF represented a deployment opportunity as well as a chance to solicit feedback. The MMFs helped provide focus throughout the project on achieving a viable product. However, the business waited until the product was competitive in the market place before true go-live.</p>
<p><!-- technorati tags start --></p>
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://www.technorati.com/tag/MMF" rel="tag">MMF</a></p>
<p><!-- technorati tags end --></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AgileDesign?a=-4lBdfn1IKY:diMb1o_PLRs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AgileDesign?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AgileDesign?a=-4lBdfn1IKY:diMb1o_PLRs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/AgileDesign?i=-4lBdfn1IKY:diMb1o_PLRs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AgileDesign?a=-4lBdfn1IKY:diMb1o_PLRs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AgileDesign?i=-4lBdfn1IKY:diMb1o_PLRs:V_sGLiPBpWU" border="0"></img></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.co.uk/mmf/mmfs-%e2%80%93-enabling-incremental-delivery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>User stories discussed</title>
		<link>http://blog.valtech.co.uk/agile-requirements/user-stories-discussed/</link>
		<comments>http://blog.valtech.co.uk/agile-requirements/user-stories-discussed/#comments</comments>
		<pubDate>Tue, 19 Oct 2010 20:46:32 +0000</pubDate>
		<dc:creator>David Draper</dc:creator>
				<category><![CDATA[Agile Requirements]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/agile-requirements/user-stories-discussed/</guid>
		<description><![CDATA[Last week I had the pleasure of running a user story workshop for a group of very experienced folk with a broad range of backgrounds and skill sets. We convened the workshop to discuss the challenges that present themselves when we apply user stories for the first time on a real project. The conversation was [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.valtech.co.uk%2Fagile-requirements%2Fuser-stories-discussed%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.valtech.co.uk/agile-requirements/user-stories-discussed/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.valtech.co.uk/agile-requirements/user-stories-discussed/"  data-text="User stories discussed" data-count="horizontal" data-via="valtech">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Last week I had the pleasure of running a user story workshop for a group of very experienced folk with a broad range of backgrounds and skill sets. We convened the workshop to discuss the challenges that present themselves when we apply user stories for the first time on a real project.</p>
<p>The conversation was broad ranging but, since a number of people have told me that attending the workshop was valuable, I&#8217;ll try to capture some of the key issues.</p>
<p><span id="more-408"></span></p>
<p><strong>What is a user story?<br />
</strong>User stories have been described many times and in many ways, including the following:</p>
<ul>
<li>A requirements elicitation technique</li>
<li>A prioritisation technique</li>
<li>A planing technique</li>
<li>A means to capture a requirement</li>
<li>A means to defer capturing the requirement</li>
<li>A unit of scope</li>
<li>A question waiting to be asked</li>
</ul>
<p>To some degree each of these are true. My personal favourite definition is &#8220;a promise to have a conversation&#8221;. This cuts to the heart of the approach. We use user stories to capture the need to dig deeper later. Early in a project we find out lots of desires about the end product. Many will grow into deployed features but many will never be built. Some may be valuable but turn out to be too expensive. Others may turn out to represent little value so be lost.<br />
By having a very low fidelity mechanism for capturing requests we can see the shape of a product and the range of needs without delving into detail.</p>
<p><strong>What is a story&#8217;s life cycle?<br />
</strong>In the workshop I used Ron Jeffries model of a the life of a user story:</p>
<ul>
<li>Card</li>
<li>Conversation</li>
<li>Confirmation</li>
</ul>
<p>Over a story&#8217;s life it will move from being an idea to being captured on a card i.e. deferred. At some point we will want to know more so we go talk to the appropriate people. We may capture this conversation in any number of forms including notes, diagrams, wireframes and examples. The final stage is to confirm that the story is satisfied. We typically capture acceptance criteria for a story before commencing development, this may or may not be automated as a set of tests. Following development we will demonstrate that the user story is satisfied.</p>
<p><strong>What remains of a story post development?<br />
</strong>We should be able to remove all trace of the story post development. Any long life artefacts will be created as a result of the story i.e. these are part of the acceptance of the story.<br />
Stories are a poor solution to documenting a system because of their fragmented nature. One approach I have used in the past is to provide informal, live, versions of documents during development. These can be polished (if necessary) at the end of development. This approach emphasises documenting the right thing at the right time.</p>
<p><strong>Who is a user story about?<br />
</strong>User stories are written on behalf of users but also stakeholders. This means that we can express what are often referred to as &#8220;non-functional requirements&#8221; as stories for a stakeholder e.g. As the Security stakeholder I would like to use 256 bit SSL so that the site is conformant with our security policy.<br />
We also write stories for personas, this allows us to place appropriate emphasis on the class of user who we are building the feature for and ensure that the specific user types goal is the focus rather than something more generic.</p>
<p>We delved into other areas I&#8217;ve written about previously too such as MMFs. I hope that this triggers some useful thinking but for me it&#8217;s always worth remembering why we use User Stories &#8211; to defer analysis until the right time while retaining a view of what the future might look like.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AgileDesign?a=BvLl-ckqrJY:mfn7hA4iPrQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AgileDesign?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AgileDesign?a=BvLl-ckqrJY:mfn7hA4iPrQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/AgileDesign?i=BvLl-ckqrJY:mfn7hA4iPrQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AgileDesign?a=BvLl-ckqrJY:mfn7hA4iPrQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AgileDesign?i=BvLl-ckqrJY:mfn7hA4iPrQ:V_sGLiPBpWU" border="0"></img></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.co.uk/agile-requirements/user-stories-discussed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile Business Analysis at Agile2010</title>
		<link>http://blog.valtech.co.uk/agile-requirements/agile-business-analysis-at-agile2010/</link>
		<comments>http://blog.valtech.co.uk/agile-requirements/agile-business-analysis-at-agile2010/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 12:59:55 +0000</pubDate>
		<dc:creator>David Draper</dc:creator>
				<category><![CDATA[Agile Requirements]]></category>

		<guid isPermaLink="false">http://blog.valtech.co.uk/agile-requirements/agile-business-analysis-at-agile2010/</guid>
		<description><![CDATA[Tweet The slides for this session are now available for download   On Thursday Gary Jones will be talking about Agile Business Analysis techniques in E-3 at 13:30. This post brings together some of the resources he will be referring to and other related references. If you have a favourite resource for other BA techniques [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.valtech.co.uk%2Fagile-requirements%2Fagile-business-analysis-at-agile2010%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.valtech.co.uk/agile-requirements/agile-business-analysis-at-agile2010/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.valtech.co.uk/agile-requirements/agile-business-analysis-at-agile2010/"  data-text="Agile Business Analysis at Agile2010" data-count="horizontal" data-via="valtech">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p><em>The slides for this session are now available for download <a href="http://blog.valtech.co.uk/wp-content/plugins/download-monitor/download.php?id=1">Agile Business Analysis - Agile 2010</a></em></p>
<p> </p>
<p>On Thursday Gary Jones will be talking about Agile Business Analysis techniques in E-3 at 13:30.</p>
<p>This post brings together some of the resources he will be referring to and other related references. If you have a favourite resource for other BA techniques please feel free to comment below.<br /> <strong><a title="Jeff Patton on Pragmatic Personas" href="http://www.infoq.com/presentations/pragmatic-personas" target="_blank">Jeff Patton on Pragmatic Personas</a></strong><strong><br /> </strong>This presentation from last years conference is a great place to start to find out more about identifying those differences in customer need that really make a difference to your product.</p>
<p><strong><a title="Rob Thomset - Radical Project Management" href="http://www.amazon.com/exec/obidos/ASIN/0130094862/qid=1020680019/ref=sr_11_0_1/103-9406863-6535856" target="_blank">Rob Thomset &#8211; Radical Project Management</a></strong><strong><br /> </strong>This book is where we discovered the sliders technique which provides a framework for considering relative priorities of non-functional aspects of the system.</p>
<p><strong><a title="Software by Numbers" href="http://www.amazon.co.uk/Software-Numbers-Low-Risk-High-Return-Development/dp/0131407287/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1281444597&amp;sr=8-1" target="_blank">Software by Numbers by Mark Denne and Jane Cleland-Huang </a></strong><br /> This was the book that introduced the notion of Minimal Marketable Features. This technique provides a means to realise the promise of incremental delivery of customer valued software.</p>
<p><strong><a title="Crossing the Chasm" href="http://www.amazon.com/exec/obidos/ASIN/0066620023/cutterinformatco" target="_blank">Geoffrey Moore&#8217;s book Crossing the Chasm</a></strong><br /> This book describes the simple visioning exercise we use that, it turns out, provides the rails for the project helping us identify where we are going off track or experiencing a change in strategy.</p>
<p>Others we like include:</p>
<p><strong><a title="9 Box interview technique&lt;br &gt;&lt;/a&gt;" href="http://dnicolet1.tripod.com/agile/index.blog/1765142/nine-boxes/" target="_blank">9 Box interview technique<br /> </a></strong>Dave Nicolette describes this technique from Keith Eades&#8217;s book, <a title="Solution Selling" href="http://www.amazon.com/New-Solution-Selling-Revolutionary-Changing/dp/0071435395" target="_blank">Solution Selling</a>.</p>
<p><!-- technorati tags start --></p>
<p style="text-align:right;font-size:10px;">Technorati Tags: <a rel="tag" href="http://www.technorati.com/tag/Agile Requirements">Agile Requirements</a>, <a rel="tag" href="http://www.technorati.com/tag/Business Analysis">Business Analysis</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.co.uk/agile-requirements/agile-business-analysis-at-agile2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Driving out uncertainty</title>
		<link>http://blog.valtech.co.uk/agile-management/driving-out-uncertainty/</link>
		<comments>http://blog.valtech.co.uk/agile-management/driving-out-uncertainty/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 09:28:31 +0000</pubDate>
		<dc:creator>David Draper</dc:creator>
				<category><![CDATA[Agile Management]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/agile-management/driving-out-uncertainty/</guid>
		<description><![CDATA[Agile practice irrespective of flavour (Scrum Kanban XP &#8230;)can often be reduced to: Work in small batches Deliver often Build the most valuable chunk first And it&#8217;s the &#8220;value&#8221; bit that can get us in trouble. How do we determine which is the most valuable bit? Particularly early on in a project we need to [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.valtech.co.uk%2Fagile-management%2Fdriving-out-uncertainty%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.valtech.co.uk/agile-management/driving-out-uncertainty/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.valtech.co.uk/agile-management/driving-out-uncertainty/"  data-text="Driving out uncertainty" data-count="horizontal" data-via="valtech">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Agile practice irrespective of flavour (Scrum Kanban XP …)can often be reduced to:</p>
<ul>
<li>Work in small batches</li>
<li>Deliver often</li>
<li>Build the most valuable chunk first</li>
</ul>
<p>And it’s the “value” bit that can get us in trouble.</p>
<p>How do we determine which is the most valuable bit? Particularly early on in a project we need to be careful about how we prioritise. Do we just get a bunch of business folk to fight for their favourite features or do we have some hard won lessons to apply from many years of technology project management?</p>
<p>One of the first projects I was responsible for was fixed scope and fixed price. The customer was documenting requirements to be handed into the “agile” development team who built and tested software prior to a traditional system test cycle. Not very agile!</p>
<p>However, we benefitted greatly from the rhythm or scrum, the rigour of agile engineering practice and the predictability the the planning and tracking approach provided.</p>
<p>Most significantly, by taking the Product Owner role I was able to prioritise according to my own definition of value. Put yourself in my seat, you work for a software consultancy, it’s your first project and it is fixed everything, what makes one feature more valuable than another? The answer is risk. When everything is fixed value is in the reduction of risk. In fact I combined prioritisation according to risk with other engineering considerations such as profile of the work to bring the project to a successful conclusion.</p>
<p>So what about other interpretations of value? I’ve been helping a client with a project initiation over the past couple of weeks and found myself using the word uncertainty a great deal. It seems that driving out uncertainty held a great deal of value in that context. In fact, when kicking of a project we look for information generation first, then seek to identify key risk areas and mitigation strategies such as finding new stakeholders or driving out technical risk with proof of concept work.</p>
<p>Uncertainty isn’t new; I often use the “cone of uncertainty” model to express the value of reducing uncertainty. As <a href="http://en.wikipedia.org/wiki/Cone_of_Uncertainty">wikipedia</a> will tell you, this model is primarily concerned with project estimation. At the beginning of a project, skilled estimators may have a factor of 4 error in either direction. Over time error should rapidly reduce as information arrives and the project progresses. This dynamic is known as the Cone of Uncertainty and is the inner line on the graph.</p>
<p><a onclick="window.open('http://blogs.sun.com/fifors/resource/cone-of-uncertainty.png','popup','width=531,height=290,scrollbars=no,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=yes,left=0,top=0');return false" href="http://blogs.sun.com/fifors/resource/cone-of-uncertainty.png"><img src="http://www.agiledesign.co.uk/wp-content/uploads/2010/07/cone-of-uncertainty-tm.jpg" border="1" alt="Cone-Of-Uncertainty" hspace="4" vspace="4" width="531" height="290" /></a></p>
<p>The outer line is the cloud of uncertainty. This is what could happen if uncertainty is not driven out of the project. Right to near the end of the project there is significant error in estimating the size due to missing information.</p>
<p>When we execute agile projects lets not forget the value of driving out uncertainty. This isn’t an excuse to analyse everything to death. Our goal is to recognise where the uncertainty that matters is hiding. Those innocuous features that come along and prove the architecture is flawed are a prime example. We must do enough to understand the risk we are carrying while being sensitive to the cost of gathering detailed information pertaining to speculative requirements.</p>
<p><!-- technorati tags start --></p>
<p style="text-align: right; font-size: 10px;">Technorati Tags: <a rel="tag" href="http://www.technorati.com/tag/cone%20of%20uncertainty">cone of uncertainty</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.co.uk/agile-management/driving-out-uncertainty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile retrospectives &#8211; Cause and effect</title>
		<link>http://blog.valtech.co.uk/agile/agile-retrospectives-cause-and-effect/</link>
		<comments>http://blog.valtech.co.uk/agile/agile-retrospectives-cause-and-effect/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 13:18:27 +0000</pubDate>
		<dc:creator>David Draper</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[agile retrospectives]]></category>
		<category><![CDATA[Retrospectives]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/retrospectives/cause-and-effect-in-retrospectives/</guid>
		<description><![CDATA[Thanks to Rachel Davies for sharing her approach to constructing a diagram of effects.
Rachel proposes that the diagram of effects can trigger a team to discuss how a variety of issues relate and goes on to highlight advice from Bas Vodde and Craig Larman in their first book &#8220;Scaling Lean and Agile Development&#8221;, the First [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.valtech.co.uk%2Fagile%2Fagile-retrospectives-cause-and-effect%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.valtech.co.uk/agile/agile-retrospectives-cause-and-effect/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.valtech.co.uk/agile/agile-retrospectives-cause-and-effect/"  data-text="Agile retrospectives &#8211; Cause and effect" data-count="horizontal" data-via="valtech">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Thanks to <a href="http://agilecoach.typepad.com/">Rachel Davies</a> for sharing her approach to constructing a <a href="http://agilecoach.typepad.com/agile-coaching/2009/10/how-to-create-a-diagram-of-effects.html">diagram of effects</a>.</p>
<p>Rachel proposes that the diagram of effects can trigger a team to discuss how a variety of issues relate and goes on to highlight advice from Bas Vodde and Craig Larman in their first book “Scaling Lean and Agile Development”, the First Law of Diagramming is “The primary value in diagrams is in the discussion while diagramming—we model to have a conversation.”</p>
<p>I have been using a slightly different approach in retrospectives recently. With a similar intent to Rachel I hope to trigger conversations that result in a team sharing there concerns and issues and coming to a shared view as to how these relate and where would be a good point for intervention.</p>
<p>I’ve used this approach a couple of times recently when running retrospectives that cover a few months i.e. not iteration retrospectives where we choose to commit a few hours to investigating issues in some detail.</p>
<p>My favoured approach is borrowed from Eliyahu Goldratt’s Theory of Constraints, it is one of the 5 TOC thinking process and is know as a current reality tree. A current reality tree is a tree of undesirable aspects of your current situation, these are connected to indicate cause and effect.</p>
<p>My approach to constructing this diagram is as follows:</p>
<p><strong>Identify undesirable effects<br /> </strong>Invite the whole team to stand around a table thinking of undesirable / unwanted traits of their existing approach (process, tools, methods etc.). Each item should be written on an index card and placed on the table in no particular order. Team members can try to avoid duplicats but if one pops up it is not a problem.</p>
<p><strong>Begin to identify cause effect relationships<br /> </strong>Invite the team to select two related cards. These should be stuck on the board and joining with an arrow pointing from cause to effect.</p>
<p><strong>Continue to grow the diagram<br /> </strong>The whole team should collaborate to add the cards to the diagram. When I first tried this I wondered how I would cope if groups of cards were not related. I’ve not seen this actually happen yet but should it then I guess we allow for the growth of separate diagrams until we discover a relationship.</p>
<p><strong>Review relationships<br /> </strong>In CRT literature there are a set of steps for assessing the existence and relationships between UDEs. My approach is to invite team members to consider where items are missing. Often where many causes relate to a single effect there is a missing intermediate effect.</p>
<p>Since I tend to run this approach in a time boxed session I an looking for the point at which returns begin to diminish. As the group settle on a basic shape and begin to look for intervention points I move to support this.</p>
<p>A good candidate point to intervene at would be contributing to a number of effects or participating in a feedback loop. By focusing on one effect we can select actions that will contribute to reducing this effect and by association those related effects.</p>
<p>Of course, an added benefit of this approach is that we can use the cause and effect diagram to review the effect of our interventions; did we get it right, if not was there something we missed in the analysis?</p>
<p>I hope that this is useful. Do share if you’ve used this approach or something similar yourself.</p>
<div class="feedflare"><a href="http://feeds.feedburner.com/~ff/AgileDesign?a=Ql8h0r3mL_E:dGv6krhH9nM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AgileDesign?d=yIl2AUoC8zA" border="0" alt="" /></a> <a href="http://feeds.feedburner.com/~ff/AgileDesign?a=Ql8h0r3mL_E:dGv6krhH9nM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/AgileDesign?i=Ql8h0r3mL_E:dGv6krhH9nM:F7zBnMyn0Lo" border="0" alt="" /></a> <a href="http://feeds.feedburner.com/~ff/AgileDesign?a=Ql8h0r3mL_E:dGv6krhH9nM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AgileDesign?i=Ql8h0r3mL_E:dGv6krhH9nM:V_sGLiPBpWU" border="0" alt="" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.co.uk/agile/agile-retrospectives-cause-and-effect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prioritising stories within a sprint?</title>
		<link>http://blog.valtech.co.uk/scrum/prioritising-stories-within-a-sprint/</link>
		<comments>http://blog.valtech.co.uk/scrum/prioritising-stories-within-a-sprint/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 11:15:05 +0000</pubDate>
		<dc:creator>David Draper</dc:creator>
				<category><![CDATA[Prioritisation]]></category>
		<category><![CDATA[SCRUM]]></category>
		<category><![CDATA[WIP]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/scrum/prioritising-stories-within-a-sprint/</guid>
		<description><![CDATA[In a recent post Karl Scotland drew my attention to this post by Craig Dickson on Agile DZone. Karl and Craig differ on their approach (when working with Scrum) to prioritisation of stories by the product owner within a sprint.
Craig has a valid concern that we might loose sight of our Sprint commitment if we [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.valtech.co.uk%2Fscrum%2Fprioritising-stories-within-a-sprint%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.valtech.co.uk/scrum/prioritising-stories-within-a-sprint/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.valtech.co.uk/scrum/prioritising-stories-within-a-sprint/"  data-text="Prioritising stories within a sprint?" data-count="horizontal" data-via="valtech">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>In a recent post <a title="Scrum anti pattern: NOT prioritising stories within sprints" href="http://availagility.co.uk/2010/01/20/scrum-anti-pattern-not-prioritising-stories-within-sprints/">Karl Scotland</a> drew my attention to <a title="Scrum anti pattern: Prioritising stories within sprints" href="http://agile.dzone.com/articles/scrum-anti-pattern">this</a> post by Craig Dickson on Agile DZone. Karl and Craig differ on their approach (when working with Scrum) to prioritisation of stories by the product owner within a sprint.</p>
<p>Craig has a valid concern that we might loose sight of our Sprint commitment if we have high and low priorities within the sprint, what if we don’t get to low priority stuff, well it was only low priority! He also raises concern over the degree to which the team is empowered if the Product Owner specifies a priority order for within the sprint.</p>
<p>By contrast Karl has his focus firmly on WiP (work in process), and through that lens the sprint is secondary to a focus on flow, prioritisation will encourage the team to focus on flow. I have some sympathy with this point of view.</p>
<p>As is so often the case I feel that I fall between these two camps.</p>
<ul>
<li>I believe in an empowered team who pull from the backlog</li>
<li>I believe in the team making a commitment to a sprint scope</li>
<li>I believe in the team self-organising around moving that scope through to releasable product</li>
</ul>
<p>But, there is always a but, these things don’t preclude prioritisation.</p>
<p>We pull from the backlog in order to take into account team capacity / capability. We pull in the correct amount of work with an appropriate profile e.g. not all database heavy wok if we have limited DBA capability. This means that the team may not always pull items from the very top of the backlog. The team commitment is an open honest expectation that this work can and will be achieved by the end of the sprint. We don’t sack or punish the team if a commitment is missed, in fact it could be argued that the commitment should be missed from time to time due to special causes. We don’t want to pad sprint plans with high amounts of contingency. Finally the team self-organise around achieving the goal.</p>
<p>When I introduce teams to Scrum I recommend working against a prioritised sprint backlog. Why? The prioritisation helps in a number of ways:</p>
<ul>
<li>The team is challenged to find ways to move stories to Done faster</li>
<li>The team is encouraged to collaborate and help each other out in favour of picking new tasks</li>
<li>We bind people to tasks late, prioritisation helps them select tasks according to team need rather than specialisation</li>
<li>Where a sprint commitment is missed we loose 1 story rather than a bit from each story.</li>
</ul>
<p>So in short, I agree with much of what Craig has said, it should not be the responsibility of the PO to prioritise the sprint backlog. However, I do see the need for the team and PO to collaborate in order to ensure that the needs of the business do not take second place to the needs of the process. I also share much of Karl’s motivation with respect to limiting WiP and achieving Flow.</p>
<p>For me prioritisation is a strategy that a team can use to self organise around a given sprint commitment. It encourages collaboration and mitigates risk, how can that be bad?</p>
<div class="feedflare"><a href="http://feeds.feedburner.com/~ff/AgileDesign?a=Ku5P9WYHqBs:gRP3NP8579E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AgileDesign?d=yIl2AUoC8zA" alt="" border="0" /></a> <a href="http://feeds.feedburner.com/~ff/AgileDesign?a=Ku5P9WYHqBs:gRP3NP8579E:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/AgileDesign?i=Ku5P9WYHqBs:gRP3NP8579E:F7zBnMyn0Lo" alt="" border="0" /></a> <a href="http://feeds.feedburner.com/~ff/AgileDesign?a=Ku5P9WYHqBs:gRP3NP8579E:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AgileDesign?i=Ku5P9WYHqBs:gRP3NP8579E:V_sGLiPBpWU" alt="" border="0" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.co.uk/scrum/prioritising-stories-within-a-sprint/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Reviewing a project initiation</title>
		<link>http://blog.valtech.co.uk/agile/reviewing-a-project-initiation/</link>
		<comments>http://blog.valtech.co.uk/agile/reviewing-a-project-initiation/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 17:12:40 +0000</pubDate>
		<dc:creator>David Draper</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[MMF]]></category>
		<category><![CDATA[project initiation]]></category>
		<category><![CDATA[Project kick-off]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/agile/reviewing-a-project-initiation/</guid>
		<description><![CDATA[I was recently asked to help a client kick-off development of a new product. This was to be their first &#8220;agile&#8221; project so the kick-off had to set the scene for the collaborative development approach that was to follow.
I used a variety of tools and techniques to bring the project to life. As is usually [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.valtech.co.uk%2Fagile%2Freviewing-a-project-initiation%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.valtech.co.uk/agile/reviewing-a-project-initiation/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.valtech.co.uk/agile/reviewing-a-project-initiation/"  data-text="Reviewing a project initiation" data-count="horizontal" data-via="valtech">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>I was recently asked to help a client kick-off development of a new product. This was to be their first &#8220;agile&#8221; project so the kick-off had to set the scene for the collaborative development approach that was to follow.</p>
<p>I used a variety of tools and techniques to bring the project to life. As is usually the case, some worked better than others so I thought I&#8217;d review the approach and describe some of the issues and possible reasons.</p>
<p>The agenda for the day was:</p>
<ol>
<li>Review project vision and goals</li>
<li>Establish key priorities and concerns</li>
<li>Establish candidate releasable chunks</li>
<li>Decide what to do first</li>
</ol>
<p>Attendees included the development team, development management and business sponsors.</p>
<p><strong>Project Vision</strong></p>
<p>After some general discussion about the product we set about defining the Vision. The group were split into smaller groups each mixing development and business folk. Each team was asked to come up with an elevator pitch for the project of the form:</p>
<p>For <em>__Customer__</em> who __<em>has some need</em>__<br />
the __<em>product name</em>__ is a __<em>product type</em>__<br />
that __<em>will provide some benefit</em>__<br />
unlike __<em>competing products</em>__<br />
out product will __<em>key differentiator</em>__.</p>
<p>In reviewing each groups proposed vision statement we settled on a single elevator pitch that embodied the purpose of the project and began to focus the team on what might be important.</p>
<p><strong>Project goals</strong></p>
<p>To further cement the way in which the product could be judged a success we went on to identify candidate goals. These included some consideration of how we might measure success.</p>
<p>These two exercises were received with some enthusiasm as the sub teams collaborated over achieving an accurate representation of the product. The need to measure outcomes causes business sponsors to work with those who were more technically minded in order to achieve measures that were specific, measurable and representative of the desired outcome.</p>
<p>Goals in this example included areas such as customer and sales force satisfaction as well as specific operational cost reduction goals.</p>
<p><strong>Sliders</strong></p>
<p>This is a technique that I picked up from Rob Thomsett&#8217;s <a href="http://www.amazon.co.uk/gp/product/0130094862?ie=UTF8&#038;tag=agiledesign-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=0130094862">Radical Project Management</a><img src="http://www.assoc-amazon.co.uk/e/ir?t=agiledesign-21&#038;l=as2&#038;o=2&#038;a=0130094862" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />. I have used it to great effect in the past where trade-off was a critical demand of the project.</p>
<p>The sliders technique works by selecting a set of traits that could be considered to be in tension. These are represented as sliders that can be fully on, fully off or anywhere in-between. The stakeholders and team can discuss the implications of various slider positions. For example when considering cost and budget to be fixed we may choose to allow for some flexibility in scope in order to ensure quality.</p>
<p>Thomsett uses these seven measures of success; satisfied stakeholders, meet requirements, meet agreed budget, deliver on time, meet quality requirements, satisfy the team. I have used the same technique with other measures such as maintainability, time to market etc.</p>
<p>This technique was less well received than the previous two. While the discussion that was provoked was valuable some members of the group were unhappy with the somewhat arbitrary nature of the measures. One sponsor suggested that he felt that he was having to trade off his goals before even the project has started.</p>
<p>I believe that this early trade-off is a valid concern and it came up more than a couple of times throughout the project. When we apply agile principles to product development we look for small meaningful increments. This can be uncomfortable where a sponsor has internalised a grand vision.</p>
<p><strong>Establishing releasable chunks</strong></p>
<p>This exercise starts with the suggestion that it is good for the project to reach a releasable state early. We begin by identifying a set of capabilities of the system. These are grouped  based on cohesion. I use the notion of <a href="http://www.agiledesign.co.uk/agile/prioritisation-with-mmfs/" >Minimal Marketable Features</a> to focus on achieving small releasable increments. We begin to prioritise these and work to make the first chunk as small as is reasonable in order to achieve marketability.</p>
<p>This was the most valuable and effective part of the day. The notion of MMF was used extensively through the project with the business sponsor often stating that a feature was &#8220;important but not necessary for this MMF&#8221;. Further, the focus on marketability places some focus on needs that can often be deferred such as security testing, performance testing and help facilities.</p>
<p>The following day would include beginning to identify the User Stories that would be necessary in order to achieve MMF 1.</p>
<p><strong>Lessons learnt<br />
</strong><br />
In reflecting on this exercise there are things I would do the same and things I would consider doing differently. The initial Vision and Goals exercise was well worth while. While I know that the success sliders approach can be useful I may not have used that technique in this particular context.</p>
<p>A technique that I chose not to use, on reflection, would have been a good choice. As a part of the identification of releasable chunks we should have begun to identify those personas that we could address and how they related to different feature sets. I believe that this would have increased our focus on specific features and aspects of features.</p>
<p>We live and learn <img src='http://www.agiledesign.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Thanks for taking part in my mini retrospective on this workshop, I hope it can be of use to others. Please do feel free to ask questions of make comments below.</p>
<p><!-- technorati tags start --></p>
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://www.technorati.com/tag/Project%20kick%20off" rel="tag">Project kick off</a></p>
<p><!-- technorati tags end --></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AgileDesign?a=9II20gP5jh8:kFoujon_gx8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AgileDesign?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AgileDesign?a=9II20gP5jh8:kFoujon_gx8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/AgileDesign?i=9II20gP5jh8:kFoujon_gx8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AgileDesign?a=9II20gP5jh8:kFoujon_gx8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AgileDesign?i=9II20gP5jh8:kFoujon_gx8:V_sGLiPBpWU" border="0"></img></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.co.uk/agile/reviewing-a-project-initiation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Theory of constraints for beginners</title>
		<link>http://blog.valtech.co.uk/agile/theory-of-constraints-for-beginners/</link>
		<comments>http://blog.valtech.co.uk/agile/theory-of-constraints-for-beginners/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 10:45:05 +0000</pubDate>
		<dc:creator>David Draper</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Theory of constraints]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/kanban/theory-of-constraints-for-beginners/</guid>
		<description><![CDATA[Take-away #3 from David Anderson&#8217;s Kanban Coaching workshop.
A discussion of Kanban can only go on for so long before the subject of the Theory of Constraints comes up. In this post I&#8217;ll try to explain just enough to show this connection.
 [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.valtech.co.uk%2Fagile%2Ftheory-of-constraints-for-beginners%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.valtech.co.uk/agile/theory-of-constraints-for-beginners/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.valtech.co.uk/agile/theory-of-constraints-for-beginners/"  data-text="Theory of constraints for beginners" data-count="horizontal" data-via="valtech">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Take-away #3 from David Anderson’s Kanban Coaching workshop.</p>
<p>A discussion of Kanban can only go on for so long before the subject of the Theory of Constraints comes up. In this post I’ll try to explain just enough to show this connection.</p>
<p>Theory of Constraints (TOC) is a large subject that I was first introduced to some time ago by <a href="http://blog.nayima.be">Pascal Van Cauwenberghe</a> and his explanation of the 5 focusing steps for process improvement. Since then I’ve seen TOC pop up at a few Agile conferences. The most notable aspects that tend to be discussed are the 5 focusing steps mentioned earlier and the TOC thinking tools. The Thinking tools offer techniques for root cause analysis, problems solving, conflict resolution and planning. While there have been a number of books explaining these techniques the source material is a set of novels written by Eliyahu Goldratt the first being <a href="http://www.amazon.co.uk/gp/product/0566086654?ie=UTF8&amp;tag=agiledesign-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0566086654">The Goal: A Process of Ongoing Improvement</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.co.uk/e/ir?t=agiledesign-21&amp;l=as2&amp;o=2&amp;a=0566086654" alt="" width="1" height="1" border="0" />.</p>
<p>David’s first book (<a href="http://www.amazon.co.uk/gp/product/0131424602?ie=UTF8&amp;tag=agiledesign-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0131424602">Agile Management for Software Engineering</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.co.uk/e/ir?t=agiledesign-21&amp;l=as2&amp;o=2&amp;a=0131424602" alt="" width="1" height="1" border="0" />) was focused on applying TOC in a software engineering context so I guess it’s not surprising that he wold choose to spend a little time explaining the connection between Kanban and TOC.</p>
<p>At this stage I should say that where David has applied TOC he has subsequently realised that a Kanban approach would have led to an equivalent result and is a conceptually more simple approach.</p>
<p>The areas of TOC that David chose to focus on were the classification of bottlenecks and the application of Goldratt’s 5 focusing steps.</p>
<ol>
<li>Identify the bottleneck</li>
<li>Decide how to exploit the bottleneck</li>
<li>Subordinate the system to the bottleneck</li>
<li>Elevate the bottleneck</li>
<li>Repeat</li>
</ol>
<p>These steps carry with them a set of pre-suppositions.</p>
<ul>
<li>We understand the goal of the system</li>
<li>A system has a single bottleneck that constrains it’s throughput</li>
<li>It is better to undertake changes that have no cost first i.e. improve utilisation of existing resources before adding resources</li>
</ul>
<p>While for most types of system I am willing to hold with these pre-suppositions we should accept that while bottlenecks can move in a manufacturing context they are likely to move more quickly within a software context due to the greater degree of variability.</p>
<p>So, an example of applying these steps in a software development context might be;</p>
<blockquote><p>Our goal is to construct, test and deploy software.<br />
Our constraint is in system test, this is apparent due to a build up of software that has not been tested.<br />
We identify exploit opportunities by considering where we loose test capacity e.g. recording timesheets. Since test is the bottleneck, time spent doing administration is directly reducing the output of the system.<br />
We subordinate the system to the bottleneck by changing responsibilities e.g. PM to take on some administrative tasks from testers.</p>
<p>At this stage we return to assessing where the bottleneck is. If we run out of exploit / subordinate opportunities we may choose to elevate the constraint. This is where we consider adding resources, automation or training.</p></blockquote>
<p>To close we should consider how a bottleneck might manifest it’s self in a system. Though others have suggested classifications for bottlenecks David’s approach is to consider 2 types.<br />
Capacity constrained resource<br />
Non-instantly available resource</p>
<p>For example compare a bridge with a ferry. A bridge has a fixed capacity, congestion occurs where too many cars attempt to cross. A car ferry will cause queues even where capacity is sufficient due to it’s non-instant availability.</p>
<p>&nbsp;</p>
<p style="text-align: right; font-size: 10px;">Technorati Tags: <a href="http://www.technorati.com/tag/Kanban%20Coaching" rel="tag">Kanban Coaching</a>, <a href="http://www.technorati.com/tag/Theory%20of%20Constraints" rel="tag">Theory of Constraints</a></p>
<p>&nbsp;</p>
<div class="feedflare"><a href="http://feeds.feedburner.com/~ff/AgileDesign?a=VM9pd-PyD44:k2liGgv4IAE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AgileDesign?d=yIl2AUoC8zA" alt="" border="0" /></a> <a href="http://feeds.feedburner.com/~ff/AgileDesign?a=VM9pd-PyD44:k2liGgv4IAE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/AgileDesign?i=VM9pd-PyD44:k2liGgv4IAE:F7zBnMyn0Lo" alt="" border="0" /></a> <a href="http://feeds.feedburner.com/~ff/AgileDesign?a=VM9pd-PyD44:k2liGgv4IAE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AgileDesign?i=VM9pd-PyD44:k2liGgv4IAE:V_sGLiPBpWU" alt="" border="0" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.co.uk/agile/theory-of-constraints-for-beginners/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

