<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-12948038</id><updated>2012-01-25T16:53:35.434Z</updated><category term='Visio'/><category term='Reverse-Tolstoy'/><category term='SE-Radio'/><category term='Patterns'/><category term='business'/><category term='website'/><category term='Agile'/><category term='Øredev'/><category term='Machine'/><category term='corporate'/><category term='Kanban'/><category term='Cornwall'/><title type='text'>allan's blog - Agile, Lean, Patterns</title><subtitle type='html'>&lt;p&gt;&lt;a href="http://www.allankelly.net"&gt;I help companies create software customers want.&lt;/a&gt;&lt;/p&gt;
&lt;a href="http://www.allankelly.net/training.html"&gt;
&lt;ul&gt;
&lt;li&gt;Lean &amp;amp; Agile training
&lt;li&gt;Agile Coaching
&lt;li&gt;Consulting for better product development
&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/a&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default?start-index=101&amp;max-results=100'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>520</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-12948038.post-3090404594564358494</id><published>2012-01-25T07:53:00.000Z</published><updated>2012-01-25T07:54:01.945Z</updated><title type='text'>The Meter: Tom Giib's greatest invention</title><content type='html'>If you’ve ever found the time to read &lt;a href="http://www.gilb.com"&gt;Tom Gilb’s&lt;/a&gt; work - and I’m thinking specifically of &lt;a href="http://www.amazon.co.uk/gp/product/0750665076/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0750665076"&gt;Competitive Engineering&lt;/a&gt; here - you’ll know that his work is packed full of good ideas.  So many god ideas in fact that it can be hard to read his book - something I think he admits himself in the opening pages of Competitive Engineering.&lt;br /&gt;&lt;br /&gt;One of his ideas is that of a Meter.  This alway confuses me a little, still now...&lt;br /&gt;&lt;br /&gt;You: A Metre you say?&lt;br /&gt;Me: No, not a metric unit of distance, a Meter, as in a Gas Meter&lt;br /&gt;You: What, how can a Gas Meter help software teams?&lt;br /&gt;Me: No, the idea of measuring things, scrum that, say a Ruler&lt;br /&gt;You: A ruler? Centimeters and inches?&lt;br /&gt;Me: No, A yard stick&lt;br /&gt;You: Distance again?&lt;br /&gt;Me: No, A unit of measurement and a tool for measuring&lt;br /&gt;You: Measuring what?&lt;br /&gt;Me: Yes, Measuring what, that’s Tom’s great invention, we need to define measuring systems&lt;br /&gt;&lt;br /&gt;Tom’s great invention is: define a mechanism for measuring the thing which is important to you.&lt;br /&gt;&lt;br /&gt;OK, Tom takes the idea further with Plangauge he says we should define the meter, the starting value and the desired value.  But forget values, its the measurement unit itself which I think is too frequently overlooked and worth more attention.&lt;br /&gt;&lt;br /&gt;The thing is, the unit of measurement, and the means of measuring it is implicit in a lot of work: its in &lt;a href="http://www.amazon.co.uk/gp/product/B000SEIJPG/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=B000SEIJPG"&gt;Kaplan &amp; Norton’s Balanced Scorecard&lt;/a&gt;, its in &lt;a href="http://www.amazon.co.uk/gp/product/0470405163/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0470405163"&gt;Beyond Budgeting&lt;/a&gt;, its in &lt;a href="http://www.amazon.co.uk/gp/product/0670921602/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0670921602"&gt;Lean Start-Up&lt;/a&gt; and elsewhere.&lt;br /&gt;&lt;br /&gt;But, as far as I know, only Tom calls &lt;strong&gt;the Meter &lt;/strong&gt;out as an idea in its own right.  In fact, I suspect Tom might not have realised the significance of this.&lt;br /&gt;&lt;br /&gt;Once you know what the right Meter is it becomes - relatively - easy to measure things.  So you can measure the starting point, you can set a target, and you can measure how far you have got.&lt;br /&gt;&lt;br /&gt;We are surrounded my measurement units and meters which already exist&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Currency: Pounds, Dollars, Euros, etc. etc. - and the associated profit, revenue, costs, etc. etc.&lt;/li&gt;&lt;li&gt;Accounts: Profit, revenue, costs&lt;/li&gt;&lt;li&gt;Website hits: visitors, unique hits, conversions, etc. etc.&lt;/li&gt;&lt;li&gt;Time: second, minutes, days....&lt;/li&gt;&lt;li&gt;Distance: inches, miles, centimetres, meters and kilometres&lt;/li&gt;&lt;li&gt;Location: Latitude and Longitude &lt;/li&gt;&lt;li&gt;Weight:.....&lt;/li&gt;&lt;/ul&gt;And we tend to use these measuring units again and their associated meters again and again.  &lt;br /&gt;&lt;br /&gt;New meters are not so common but they occur, e.g. &lt;a href="http://www.amazon.co.uk/gp/product/0670921602/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0670921602"&gt;Eric Ries in Lean Start-Up&lt;/a&gt; introduces a new meter: Cohort Analysis.&lt;br /&gt;&lt;br /&gt;But - big but - if we use inappropriate measuring units and meters it gets hard, and it potentially gets wrong.  (Another on of Eric’s points.)&lt;br /&gt;&lt;br /&gt;Again, as far as I know, Tom is the only authority who says: define your own unit and define your own way of measuring it.&lt;br /&gt;&lt;br /&gt;Now, as far as I can tell Tom is a master of this, the rest of us... well most people don’t get it and try and use pre-defined measurements and Meters, even those of us who “get it” struggle with it.&lt;br /&gt;&lt;br /&gt;So, we need to start inventing new units of measurement and new ways of measuring things.  We need to get good at both inventing these things and sharing them.  History shows many of these measuring units are useful to other people.&lt;br /&gt;&lt;br /&gt;Second, as more of these units are recognised then we will have more mechanisms - and language - with which to implement both our own tools and the tools like Balanced Score Card and Lean Startup.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-3090404594564358494?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/3090404594564358494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2012/01/meter-tom-giib-greatest-invention.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3090404594564358494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3090404594564358494'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2012/01/meter-tom-giib-greatest-invention.html' title='The Meter: Tom Giib&amp;#39;s greatest invention'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-5113801300864620405</id><published>2012-01-19T19:37:00.000Z</published><updated>2012-01-19T19:38:01.830Z</updated><title type='text'>Corporate Psychopathy</title><content type='html'>The Oxford Dictionary of English on my Kindle defines:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Psychopathy n. mental illness or disorder.&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Psychopathic is more interesting:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Psychopathic adj. suffering from or constituting a chronic mental disorder with abnormal or violent social behaviour&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;There is a reoccurring pattern of behaviour I have observed in corporate environments which I have taken to calling Corporate Psychopathy, maybe you’ll recognise it if I describe it.&lt;br /&gt;&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;A company brings together a team to do some work.  At some date they decide the work is “done” and disband the team.  They often call this work “a project” - projects by their definition have a start date and an end date, and involve a temporary organisation unit; i.e. a team is brought together at the start, they do some work, then the team is disbanded.&lt;/li&gt;&lt;/ul&gt;I think this state of affairs is crazy.  So crazy I believe it is abnormal social behaviour.&lt;br /&gt;&lt;br /&gt;A team is a social unit.  When was the last time you dumped all your friends and started to forma a new group?&lt;br /&gt;&lt;br /&gt;Think of the high performing teams you know: sports teams or successful political parties.  They may change players from time to time, even key players, but the winning team usually stays together from one victory to the next.&lt;br /&gt;&lt;br /&gt;By contrast think of the teams who are less successful.  How often to do they change personnel  How often do they work together?&lt;br /&gt;&lt;br /&gt;Anyone who has studies team dynamics will probably have come across Buckman’s “Storming, Forming, Norming and Performing” model.  The idea is that when you bring a team together they pass through each phase as they learn to work effectively together.&lt;br /&gt;&lt;br /&gt;If you have an effective team - one that has passed through storming, forming and norming and is now performing - why would you break them up?  Let alone break up one team and create a new team which has to pass through three phases to get to the productive fourth?&lt;br /&gt;&lt;br /&gt;It doesn’t make sense.  &lt;br /&gt;&lt;br /&gt;Just to make it worse when corporations break up teams many of the people leave for ever.  Companies which use contract staff release the contractors who will go and work somewhere else.  Even permanent staff may well find themselves release to a pool, or to previous roles and the same people are unlikely to work together again.  Knowledge evaporates in the process.&lt;br /&gt;&lt;br /&gt;If that isn’t enough think of the admin overhead in managing all this.&lt;br /&gt;&lt;br /&gt;It also makes the start of a work incredibly difficult because you don’t know how effective a team will be or when they will break through into Performing.  And if you are following a development method where you measure capacity (velocity) and benchmark against past performance you can’t use this method for the first few weeks.&lt;br /&gt;&lt;br /&gt;Its psychopathic: anti-social, performance reducing, expensive, undermines forecasting and increases risk.&lt;br /&gt;&lt;br /&gt;Put it another way: It is plain stupid.&lt;br /&gt;&lt;br /&gt;My solution is keep the performing team together as much as possible and bring the work to the team.  Have the team move from one piece of work to another together.&lt;br /&gt;&lt;br /&gt;This parallels the way we timebox work.  In timeboxing we fit the work to the time allowed - a two week sprint or a quarterly release.  Similarly we should bring the work to the team.&lt;br /&gt;&lt;br /&gt;Of course teams might not have very clear cut switch over dates.  Perhaps they have to ramp-down one stream of work while ramping up another.  More complex to manage.&lt;br /&gt;&lt;br /&gt;Or perhaps a performing team splits into two - like cell division.  One part continues working on the first piece of work while the second part starts something new.  This way the team can carry the culture from one piece of work to another.&lt;br /&gt;&lt;br /&gt;To do this is might be necessary to let the team grow organically, split the team, then grow both sides organically.&lt;br /&gt;&lt;br /&gt;The point is: there are ways of managing this.  You don’t have to split teams up and form them all anew.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-5113801300864620405?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/5113801300864620405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2012/01/corporate-psychopathy.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/5113801300864620405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/5113801300864620405'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2012/01/corporate-psychopathy.html' title='Corporate Psychopathy'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-1567317275925494280</id><published>2012-01-04T14:57:00.000Z</published><updated>2012-01-04T14:59:20.420Z</updated><title type='text'>Dialogue Sheets on show at Skills Matter - 13 February</title><content type='html'>Quick follow up to the last entry about Dialogue Sheets.  I’ll be doing a evening session at Skills Matter on the sheets next month - &lt;a href="http://skillsmatter.com/event/agile-scrum/allan-kelly-dialogue-sheets-a-new-tool-for-retrospectives-1251/mw-3308"&gt;13 February, “Dialogue Sheets a New Tool for Retrospectives”&lt;/a&gt;.  The event is free but registration is required.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-1567317275925494280?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/1567317275925494280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2012/01/dialogue-sheets-on-show-at-skills.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1567317275925494280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1567317275925494280'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2012/01/dialogue-sheets-on-show-at-skills.html' title='Dialogue Sheets on show at Skills Matter - 13 February'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-7274412990259996228</id><published>2012-01-03T13:32:00.001Z</published><updated>2012-01-03T13:32:28.615Z</updated><title type='text'>Retrospective Dialogue Sheets in InfoQ</title><content type='html'>Happy new year! - my opening missive for the new year is elsewhere...&lt;br /&gt;&lt;br /&gt;I’ve written more about &lt;a href="http://www.dialoguesheets.com"&gt;Retrospective Dialogue Sheets&lt;/a&gt; for this weeks &lt;a href="http://www.infoq.com/articles/dialogue-sheets-retrospectives"&gt;InfoQ - “Dialogue Sheets: A new tool for retrospectives.”&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This piece summarises many of the findings I discussed a few weeks ago in &lt;a href="http://allankelly.blogspot.com/2011/11/retrospective-dialogue-sheets-feedback.html"&gt;Dialogue Sheets feedback #1&lt;/a&gt; and &lt;a href="http://allankelly.blogspot.com/2011/11/retrospective-dialogue-sheets-feedback_28.html"&gt;Dialogue Sheets feedback #2&lt;/a&gt; blog entries.&lt;br /&gt; &lt;br /&gt;A footnote to a footnote, I discussed &lt;a href="http://allankelly.blogspot.com/2011/12/dialogue-sheets-more-sheets-pricing.html"&gt;dialog sheet print-on-demand&lt;/a&gt; a few weeks ago.  After that I was able to reduce the price of printed sheets.  As I suspected at the time the price reduction has made no difference to the number of people using the service.  I therefore conclude that it is not the price of the sheets but rather the fact that there is a charge at all the creates the block.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-7274412990259996228?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/7274412990259996228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2012/01/retrospective-dialogue-sheets-in-infoq.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7274412990259996228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7274412990259996228'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2012/01/retrospective-dialogue-sheets-in-infoq.html' title='Retrospective Dialogue Sheets in InfoQ'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-4566354772911720319</id><published>2011-12-18T15:46:00.000Z</published><updated>2011-12-18T16:11:02.701Z</updated><title type='text'>News from the Cornish Software Mines</title><content type='html'>My work in Cornwall, helping companies adopt Agile approaches to software development, is set to continue into the new year - so more jokey tweets about the Cornish Software Mines.  I hope to write more about this work - the benefits and what we’re learning in future.  &lt;br /&gt;&lt;br /&gt;Right now there are two pieces of news I’d like to share:&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;At the start of December the author of &lt;a href="https://github.com/sebastianbergmann/phpunit/"&gt;PHPUnit&lt;/a&gt;, &lt;a href="http://sebastian-bergmann.de/"&gt;Sebastian Bergmann&lt;/a&gt;, joined in me in Cornwall to provide training and coaching to teams using PHP.  Oxford Innovation (who run the Grow Cornwall programme) have &lt;a href="http://oxfordinnovationservices.co.uk/news?news_0=1687"&gt;put out a press release about this&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Oxford Innovation have also produced a &lt;a href="http://www.growcornwall.co.uk/case-studies/research-instruments-video.html"&gt;Video Case Study of our work with Research Instruments&lt;/a&gt; in Falmouth.  RI are a great success story and the case study is worth the two and a half minutes it takes to watch.  &lt;/li&gt;&lt;/ul&gt;I first met the team at RI in October 2010 when I provided &lt;a href="http://www.softwarestrategy.co.uk/training/agilefoundations.html"&gt;Agile foundations training&lt;/a&gt; to development team.  Since then I’ve been in many times to provide follow up coaching.  &lt;br /&gt;&lt;br /&gt;About six month after the Agile foundations course &lt;a href="http://www.jaggersoft.com/"&gt;Jon Jagger&lt;/a&gt; delivered a &lt;a href="http://www.softwarestrategy.co.uk/training/TDDCS.html"&gt;Test Driven Development (TDD) in C# course&lt;/a&gt; for the team and has also been visiting to provide follow up coaching.  All in all a great success, &lt;a href="http://www.growcornwall.co.uk/case-studies/research-instruments-video.html"&gt;as the video shows.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-4566354772911720319?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/4566354772911720319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/12/news-from-cornish-software-mines.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4566354772911720319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4566354772911720319'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/12/news-from-cornish-software-mines.html' title='News from the Cornish Software Mines'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-7167585939341685404</id><published>2011-12-14T15:27:00.000Z</published><updated>2011-12-14T15:48:40.549Z</updated><title type='text'>Xanpan, ToC, Guilt, plagiarism and sorry</title><content type='html'>When I was doing my Masters degree I had it hammered into me: credit your sources, don’t plagiarise.  To this day I take pride in trying to credit the source of my thoughts, back-up my ideas with research and apportion credit.  I won’t always succeed but I think I do a reasonable job.  Heck, I’ll go further, I think I do a better job than most.&lt;br /&gt;&lt;br /&gt;So image how I felt after my last blog post, &lt;a href="http://allankelly.blogspot.com/2011/12/xanpan-refining-process.html"&gt;about Xanpan&lt;/a&gt;, when &lt;a href="http://blog.benjaminm.net/"&gt;Benjamin Mitchell&lt;/a&gt; tweeted:&lt;br /&gt;&lt;br /&gt;“@allankellynet I'm unclear why you don't mention Theory of Constraints 5 Focussing Steps. What's your thinking on this?”&lt;br /&gt;&lt;br /&gt;I was mortified because, well, he was right.  My blog post discussing how to improve throughput on a Xanpan board was pretty much a Theory of Constraints description.&lt;br /&gt;&lt;br /&gt;I had plagiarised.  I had failed to credit.  And I had written something that other people have written before - probably better than me.&lt;br /&gt;&lt;br /&gt;I apologise, I give due credit: these ideas are inspired by the &lt;a href="http://en.wikipedia.org/wiki/Theory_of_Constraints"&gt;Theory of Constraints&lt;/a&gt; - or ToC for short.&lt;br /&gt;&lt;br /&gt;So how did I come to make this mistake?&lt;br /&gt;&lt;br /&gt;Well, I think the answer is in two parts:&lt;br /&gt;&lt;br /&gt;First, I have ToC thinking to heart and it now seems so obvious I’d forgotten it needed crediting&lt;br /&gt;&lt;br /&gt;Second, the blog entry was written a day after I’d had a similar conversation with a client.  ToC hadn’t been mentioned in that conversation so it wasn’t mentioned here.&lt;br /&gt;&lt;br /&gt;So maybe the plagiarism occurred in my conversation with the client.  Well yes, but.... my first point still applied and second I tend to avoid crediting with clients.  Now I’d better explain that second point some more.&lt;br /&gt;&lt;br /&gt;In conversation with clients I tend to avoid saying things like “This comes from....” or “I suggest you go and read....”.  Yes I do say those things but every time I say it I believe there are two ways for a client to take it: they may take it as “good, Allan is giving me the original source” or they may take it as “Hmmm, this consultant is name dropping, doesn’t have ideas himself and is very academic.” (Plus, they are paying for my time so perhaps I should just explain things to them.)&lt;br /&gt;&lt;br /&gt;In short I don’t think it always helps.&lt;br /&gt;&lt;br /&gt;I also remember all those Professors at Business School who uttered “Smith Smith &amp; Smith, 1904” (or whatever) at the end of every sentence.  And those turgid academic journal articles where every paragraph was credited and thus become very very boring to read.&lt;br /&gt;&lt;br /&gt;I could go on but you get the message.&lt;br /&gt;&lt;br /&gt;Now, one more thing, this blog entry is really really defensive.  I feel a little attacked by Benjamin - I’m sure he didn’t mean to attack me, its just in 140 characters people come to the point.  Maybe he feels attacked by this, don’t know we could get deeper and deeper.&lt;br /&gt;&lt;br /&gt;For anyone still reading, I’m sorry for droning on.  However I think this does raise an interesting point: in trying to explain things, in writing and in conversation making things accessible and easy to understand is - in my humble opinion - at odds with academic integrity and full disclosure.&lt;br /&gt;&lt;br /&gt;As someone who makes a living doing this I need to be more aware of it than most.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-7167585939341685404?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/7167585939341685404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/12/xanpan-toc-guilt-plagiarism-and-sorry.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7167585939341685404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7167585939341685404'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/12/xanpan-toc-guilt-plagiarism-and-sorry.html' title='Xanpan, ToC, Guilt, plagiarism and sorry'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-1407451795014229637</id><published>2011-12-12T15:48:00.008Z</published><updated>2011-12-12T15:54:15.741Z</updated><title type='text'>Xanpan: refining the process</title><content type='html'>In my last blog entry I discussed a &lt;a href="http://allankelly.blogspot.com/2011/12/xanpan-planned-and-unplanned-work.html"&gt;Xanpan board layout&lt;/a&gt; which allows for planned and unplanned work to co-exist in one workflow.  Here is a picture of the board I had just put together with a team in Cornwall:&lt;br /&gt;&lt;br /&gt;&lt;img src=http://www.allankelly.net/blogbits/BoardDec2011.jpg  width=300&gt;&lt;br /&gt;&lt;br /&gt;This might be the perfect board layout for the team for ever.  More likely it can be improved over time - in the words of &lt;a target=_blank href="http://www.two-sdg.demon.co.uk"&gt;Kevlin Henney&lt;/a&gt;, it is a &lt;a target=_blank href="http://www.two-sdg.demon.co.uk/curbralan/papers/europlop/StableIntermediateForms.pdf"&gt;Stable Intermediary Form&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I think of Xanpan boards like the &lt;a target=_blank href="http://www.centrepompidou.fr/"&gt;Pompido centre in Paris&lt;/a&gt;, they externalise the plumbing.  In this case the workflow and work in progress.  You can see the stuff that is normally hidden inside.&lt;br /&gt;&lt;br /&gt;My rules are quite straight forward for Xanpan boards:&lt;br /&gt;&lt;br /&gt;Stage 1: &lt;br /&gt;&lt;ol style="list-style-type: decimal"&gt;&lt;li&gt;Model the current workflow on the board: avoid changing it too much to “how it should be” but you will probably need to modify the workflow a little in order to be able to model it.&lt;/li&gt;&lt;li&gt;Make sure you talk through various scenarios for work to make sure you have a workflow that will, well, work.  As I said in the &lt;a href="http://allankelly.blogspot.com/2011/07/xanpan.html"&gt;original Xanpan blog post&lt;/a&gt; columns normally come in pairs: queue then work.&lt;/li&gt;&lt;li&gt;Operate the board for at least one iteration (several weeks) and learn from it.&lt;/li&gt;&lt;li&gt;Reflect and refine the board: in doing so you will modify the workflow, this should be an improvement.&lt;/li&gt;&lt;li&gt;Operate the board some more an start gathering data, qualitative and quantitative about the flow of work.&lt;/li&gt;&lt;/ol&gt;This alone might improve your teams performance: you have visibility of the work in progress, you can reason about it, people are better informed, you will make better decisions.  But, this will not solve or your problems, nor is it the end state, it is just the beginning.&lt;br /&gt;&lt;br /&gt;Stage 2: (Assuming you want to improve the throughput)&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Think of the board as a pipeline: there are two ways to improve throughput, make the pipe bigger or make things move through the pipe faster.&lt;/li&gt;&lt;/ul&gt;First seek to move things through the pipe faster:&lt;br /&gt;&lt;ol style="list-style-type: decimal"&gt;&lt;li&gt;Look at the blocks: why are they blocking or impeding? What can you do about removing them, not just on this occasion but permanently&lt;/li&gt;&lt;li&gt;Where are the queues building up? Can you rebalance the board, or rather how your people (and possibly other resources) are deployed to even this out&lt;/li&gt;&lt;/ol&gt;Continuing reviewing the board and looking for improvements for ever.  But if the time comes when you want a bigger pipe:&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Add people to the team gradually over time: adding people slows down the existing team, the bigger the team the smaller the proportional slow down, above all else: avoid &lt;a href="http://allankelly.blogspot.com/2009/06/time-to-end-foie-gras-recruitment.html"&gt;foie gras recruitment&lt;/a&gt;.  Again this is likely to be a long term activity.&lt;/li&gt;&lt;/ul&gt;Finally:&lt;br /&gt;&lt;ol style="list-style-type: decimal"&gt;&lt;li&gt;Look to level workflow: reduce the peaks and move work to the lows.&lt;/li&gt;&lt;li&gt;Look to increase the value of the items moving through the pipeline - more and better business analysis and product management&lt;/li&gt;&lt;/ol&gt;Those are the rules of thumb.  Of course there are exceptions, of course there are other issues, of course they don’t cover every eventuality.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-1407451795014229637?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/1407451795014229637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/12/xanpan-refining-process.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1407451795014229637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1407451795014229637'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/12/xanpan-refining-process.html' title='Xanpan: refining the process'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-4802467687790110805</id><published>2011-12-09T16:03:00.001Z</published><updated>2011-12-09T16:03:26.576Z</updated><title type='text'>Xanpan: planned and unplanned work</title><content type='html'>I’m on my way back from another visit to the Cornish Software Mines.  I’ve been with four different companies this week, laid the first plans for &lt;a href="http://www.agileonthebeach.com"&gt;Agile on the Beach 2012 conference&lt;/a&gt; and got to know &lt;a href="http://www.google.co.uk/url?sa=t&amp;rct=j&amp;q=sebastian bergmann&amp;source=web&amp;cd=1&amp;ved=0CCEQFjAA&amp;url=http://sebastian-bergmann.de/&amp;ei=bw3iTuqjMq3T4QT5m6SxBQ&amp;usg=AFQjCNGGhiFTy9P9rZ4IWnpjuYQJgYduJg"&gt;Sebastian Bergmann&lt;/a&gt; who has been visiting the mines this week working with the PHP teams.&lt;br /&gt;&lt;br /&gt;One of these companies is new to the Agile programme, we did training for the entire company last month and this week I was there to get them started for real.  This meant we had to design their board layout and talk about workflow.  Once again I found myself advocating &lt;a href="http://allankelly.blogspot.com/2011/07/xanpan.html"&gt;Xanpan, the cross between Extreme Programming and Kanban&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;The board layout - effectively workflow - is on  which reoccurs in Xanpan systems and I would like to discuss here.  (I’ll explain the layout here and in a second blog entry I’ll post a picture and talk about the future.)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The problem&lt;/strong&gt; companies/teams face is: they have planned and unplanned work to do.  Typically this is some project they are working to deliver but they need to work on support issues - bug fixes - too.  I say that, but it is not just support issues, sometimes it is clients who shouts very loud, or managers who can’t say no, or customers who refuse to wait a few days - indeed sometimes to do so would be the wrong thing to do.&lt;br /&gt;&lt;br /&gt;The Scrum answer to this is to stamp on the unplanned work.  The team are locked - remember commitment and Sprint-goal.  This unplanned work is a problem the Scrum Master should stop - or declare &lt;em&gt;Abnormal Termination of Sprint&lt;/em&gt;.  Particularly in small companies this isn’t a very useful answer, the truth is, things are more complicated than that, planet-Scrum is too simple.&lt;br /&gt;&lt;br /&gt;The ultimate solution is to look at the reason these unplanned items are arising and try to address the root course.  In time it might well be possible to do that but right now we don’t want to block the team’s transition.  Even in the long term this might be the way of the world for such a team.&lt;br /&gt;&lt;br /&gt;The Kanban answer would be to go in the other direction: run all work as “unplanned” and just restock the to-do queue as needed.  However this robs the team of the rhythmic certainty of a Sprint.  Many of the teams I see need to move away from seat-of-the-pants decision making and knee-jerk reactions.  Adopting regular iterations builds in decision making points and helps individuals understand their roles.&lt;br /&gt;&lt;br /&gt;So: Xanpan, keep iterations/sprints but allow for unplanned work.  To do this we design a board which begins with the three columns:&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Planned&lt;/li&gt;&lt;li&gt;Unplanned &lt;/li&gt;&lt;li&gt;Prioritised (usually this queue is limited)&lt;/li&gt;&lt;/ul&gt;The next column is usually something like:&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;WIP: In development (usually WIP limited)&lt;/li&gt;&lt;/ul&gt;The team start Springing as usual: they hold a planning meeting, review Blue Cards (Business requests, User Stories) and if necessary break them down to White Cards (tasks).  These then populate the &lt;strong&gt;Planned&lt;/strong&gt; column.  These blues are probably drawn from a traditional product backlog.&lt;br /&gt;&lt;br /&gt;At any time work can be added to the &lt;strong&gt;Unplanned&lt;/strong&gt; column.  The column is unlimited.&lt;br /&gt;&lt;br /&gt;A few minutes before the morning stand-up meeting around the board the person with authority populated the &lt;strong&gt;Prioritised &lt;/strong&gt;column reviews and populates it.  This could be the Project Manager, Business Analyst, Team Leader or someone else, the role and title doesn’t matter, what is important is that this person has the authority to do this.  On one team this was the joint responsibility of the Project Manager and Business Analyst.&lt;br /&gt;&lt;br /&gt;This person looks at the work still in the Prioritised queue, and they review the Planned Work and Unplanned work.  From these sources they decide the priorities for today.  When the team gather they can see what the priorities are.  For the sake of simplicity it normally makes sense for the Prioritised queue to be limited and for the priorities to be ordered: 1, 2, 3, up to the limit.&lt;br /&gt;&lt;br /&gt;If need be priorities can be changed during the day: maybe something even more urgent arrives - or goes away, maybe the prioritised queue empties, or some such.&lt;br /&gt;&lt;br /&gt;Effort estimates are normally assigned to planned work during the planning meeting.  For unplanned work some teams don’t both adding estimates, some added a quick estimate from the person who picks up the card when they pick it up and some put an effort estimate on when it is complete.&lt;br /&gt;&lt;br /&gt;Importantly, the original source (planned or unplanned) is recorded on the card - maybe a different colour card, maybe a dot, a word, whatever.  At the end of the Spring the team can review how much planned and how much unplanned work was undertaken.&lt;br /&gt;&lt;br /&gt;Thats it really: planned, unplanned and prioritised.  The first two are effectively queues for the third.  Somebody, or bodies, are responsible for balancing priorities.&lt;br /&gt;&lt;br /&gt;It is possible that this workflow/board layout is actually a transitional layout.  After running with this flow for a while there will be data on how much unplanned versus planned work actually occurs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-4802467687790110805?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/4802467687790110805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/12/xanpan-planned-and-unplanned-work.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4802467687790110805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4802467687790110805'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/12/xanpan-planned-and-unplanned-work.html' title='Xanpan: planned and unplanned work'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-3552459970573725016</id><published>2011-12-01T10:57:00.000Z</published><updated>2011-12-01T11:12:14.948Z</updated><title type='text'>Dialogue sheets: more sheets &amp; pricing</title><content type='html'>A quick follow up to my last two entries about Dialogue Sheets (&lt;a href="http://allankelly.blogspot.com/2011/11/retrospective-dialogue-sheets-feedback.html"&gt;Retrospective Dialogue Sheets: feedback &amp; updates 1 of 2&lt;/a&gt; and &lt;a href="http://allankelly.blogspot.com/2011/11/retrospective-dialogue-sheets-feedback_28.html"&gt;Retrospective Dialogue Sheets: feedback &amp; updates 2 of 2&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Several people who provided feedback said they found the cost of the sheets to be off putting.  Since the soft copies are fee the true cost of the sheets depends on where you live and what access you have to large printers, I have little control over that.  However, I did set up a &lt;a href="https://marketplace.mimeo.com/software_strategy"&gt;print-on-demand service&lt;/a&gt; for getting pre-printed sheets.&lt;br /&gt;&lt;br /&gt;I’ve looked over the settings and I’ve managed to reduce the price on most of the sheets - while I was there I’ve also uploaded some new sheets - a general discussion sheet, a Sprint level retrospective sheet and a Kick-Off sheet.&lt;br /&gt;&lt;br /&gt;The cheapest sheet is now priced at $13.75, or £8.74, €10.20.  Since the printer is based in the US the exact price depends on your currency.&lt;br /&gt;&lt;br /&gt;Unfortunately, shipping needs to be added to that.  Within the US the cheapest sheet should total about $30 -  if you order multiple sheets the shipping costs doesn’t rise proportionately so it gets cheaper per sheet.  &lt;br /&gt;&lt;br /&gt;Apologies to everyone in Europe - myself included, or Asia, or elsewhere - shipping something across the Atlantic costs more.  Again, if you buy several sheets at once its cheaper - and is what I do, I have a stack in my office.&lt;br /&gt;&lt;br /&gt;I would be interested to know from people who do find cost a barrier just how much they could pay.  If I know the restraints I can look into other options.&lt;br /&gt;&lt;br /&gt;However, the skeptic in me thinks that the actual price is not important: $13 might as well be $3, $30 or $300.  It is the fact that any money needs to be spent that is the barrier.  &lt;br /&gt;&lt;br /&gt;Which is silly really because sitting half a dozen software developers in a room for an hour isn’t cheap: say $100,000 per developer per year means $50 x 6 = $300, the cost of the sheet is trivial.  (This might be why so few teams do retrospectives in the first place.)&lt;br /&gt;&lt;br /&gt;Look at it another way: A dialogue sheet costs about $30, which means you save $50 (at least) it would have cost for a facilitator.&lt;br /&gt;&lt;br /&gt;Cost arguments always loose so look at it another way: if as a result of the exercise the team save more than one hour it has paid for itself.&lt;br /&gt;&lt;br /&gt;As I said, if you have any information that can help me find the right answer please e-mail me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-3552459970573725016?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/3552459970573725016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/12/dialogue-sheets-more-sheets-pricing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3552459970573725016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3552459970573725016'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/12/dialogue-sheets-more-sheets-pricing.html' title='Dialogue sheets: more sheets &amp;amp; pricing'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-2222647322307031808</id><published>2011-11-28T15:46:00.001Z</published><updated>2011-11-28T15:48:49.297Z</updated><title type='text'>Retrospective Dialogue Sheets: feedback &amp; updates 2 of 2</title><content type='html'>This is the second of two blog entries about the use of &lt;a href="http://www.dialoguesheets.com"&gt;dialogue sheets&lt;/a&gt;.  The &lt;a href="http://allankelly.blogspot.com/2011/11/retrospective-dialogue-sheets-feedback.html"&gt;first entry contain some simple statistics and findings&lt;/a&gt; from recent experiences and feedback from users.  This entries discusses a few findings which deserve longer comment.&lt;br /&gt;&lt;br /&gt;Those who use the sheets consistently report that they engage more team members (everyone gets to speak).  Several people report that quieter team members are more likely to contribute in a dialogue retrospective than in a regular retrospective.&lt;br /&gt;&lt;br /&gt;Another common finding is that energy levels are higher, there is more discussion and removing the facilitator changes the focus of the retrospective.&lt;br /&gt;&lt;br /&gt;These are the results I hoped for when I created the sheets.  Yet, to some degree I think these findings are simply the result of changing the format - doing something different.  Perhaps a team that uses dialogue sheets for every retrospective will find that in time some of the energy is lost.  &lt;br /&gt;&lt;br /&gt;Right now I don’t know, I don’t have enough not enough data.  However, I have always said these are one technique and I encourage you to use them as one for several retrospective approaches.&lt;br /&gt;&lt;br /&gt;A few people report that they don’t like the idea of removing the facilitator.  This dislike has stopped them from trying the dialogue sheet.  While I understand this fear I hope they will try them all the same.  After all, it is the nature of Agile to experiment.&lt;br /&gt;&lt;br /&gt;My advice: try a dialogue retrospectives and see what happens, then decide if you want to try again.&lt;br /&gt;&lt;br /&gt;One person did report that they felt that without a facilitator some issues were not explored as they might be.  I fully understand this finding although it does cause me to ask: &lt;em&gt;were some areas explored which might not have been explored?&lt;/em&gt;  Again this could be a argument for having some facilitator-less retrospectives and some with.&lt;br /&gt;&lt;br /&gt;There is a strange case reported from a company I will not name.  Here the management vetoed facilitator-less retrospective.  My correspondent doesn’t understand why and I am a little baffled.  This gets curious when you know the name of the company concerned.  Someone else from the same company replied independently (different country) and has had success with the sheets.  I’ve put them in touch and hope this will be resolved.&lt;br /&gt;&lt;br /&gt;Interesting, a previous correspondent told me that they kept a facilitator even when using the retrospective dialogue sheet.  This hybrid could address both management concerns and the fear of missing topics.  I think there is more experimentation to be done here, perhaps using the dialogue sheet to start the retrospectives and then having a facilitator follow up.  Or using a dialogue sheet retrospective to identify issues and in following retrospectives deal with them in detail.&lt;br /&gt;&lt;br /&gt;Finally, two unexpected findings which carry lessons for those doing regular retrospectives.&lt;br /&gt;&lt;br /&gt;All the retrospective sheets include Norm Kerth’s Prime Directive: &lt;br /&gt;&lt;br /&gt;“Regardless of what we discover, we must understand and truly believe that everyone did the best job he or she could, given what was known at the time, his or her skills and abilities, the resources available, and the situation at hand.”&lt;br /&gt;&lt;br /&gt;To retrospective facilitators this is a holy commandment, something we hold close to our hearts.  Yet left alone it is interesting to see how groups react to it.&lt;br /&gt;&lt;br /&gt;While one corespondent reported “Kerth's prime directive is also in our company's culture, therefore there is no need to remind people of it, it comes natural for us.”  Another reported:&lt;br /&gt;“One group poked fun at the "prime directive", but the other didn’t”.&lt;br /&gt;&lt;br /&gt;My own experience is similar.  Some teams - usually those who are familiar with the directive - just accept it.  One team commented that although they knew it they tended to forget it and it was a good reminder.  However, several teams have agonised about the directive, they stall at what should be a routine reminder.  Sometimes it is obvious that team members implicitly do blame individuals for problems they face.&lt;br /&gt;&lt;br /&gt;I think this behaviour says something about the company, the culture and the teams familiarity with conducting retrospectives.  It is, perhaps, the one place where I would like a facilitator on hand.  However intervening at such an early stage in the sheet would compromise the approach.&lt;br /&gt;&lt;br /&gt;Perhaps the lesson here is that the dialogue sheets work best when teams have trust, and accept the Prime Directive.  But then, isn’t that true for all retrospectives?&lt;br /&gt;&lt;br /&gt;The other lesson is: while retrospective facilitators hold Kerth’s directive close to their heart the same isn’t true for many others.&lt;br /&gt;&lt;br /&gt;The second unexpected finding came at a company in the North West of England.  I visited and observed a retrospective using dialogue sheets.  There were over a dozen people so we divided into two groups each with a retrospective dialogue sheet.&lt;br /&gt;&lt;br /&gt;Unusually the two teams used different sheets - I think one had a T1 and one had a T3, so a similar format but slightly different questions.  The first, finding here was that using different dialogue sheets not only does work but can help add insights.&lt;br /&gt;&lt;br /&gt;The second, much more significant and unexpected finding was a result of who joined each group.  I thought I had divided the groups randomly but as it happens the majority in one group were developers and the majority in the other group were Business Analysts.&lt;br /&gt;&lt;br /&gt;At the end of the exercise one of the Business Analysts commented: In a normal retrospective the developers dominate (there are more of them) and so the retrospective usually talks about issues of concern to developers, the issues of concern to BAs are not usually discussed.&lt;br /&gt;&lt;br /&gt;It sounds obvious once you see it: the largest group will tend to dominate a retrospective.&lt;br /&gt;&lt;br /&gt;However, separate them out, as we did here, gives both groups an opportunity to talk about their concerns.  Now the really interesting bit.&lt;br /&gt;&lt;br /&gt;The two groups were retrospecting the same time period, however they approached it from different points of view.  Some of their conclusions were different but some were the same.  To my thinking, when different people, coming from different starting points come to the same conclusions, then those conclusions have added weight.&lt;br /&gt;&lt;br /&gt;Overall then: &lt;a href="http://www.dialoguesheets.com"&gt;Retrospective Dialogue Sheets are a success.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-2222647322307031808?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/2222647322307031808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/11/retrospective-dialogue-sheets-feedback_28.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2222647322307031808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2222647322307031808'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/11/retrospective-dialogue-sheets-feedback_28.html' title='Retrospective Dialogue Sheets: feedback &amp;amp; updates 2 of 2'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-1573051656733239756</id><published>2011-11-28T15:39:00.001Z</published><updated>2011-11-28T15:55:31.409Z</updated><title type='text'>Retrospective Dialogue Sheets: feedback &amp; updates 1 of 2</title><content type='html'>Every couple of months I e-mail everyone who has downloaded one or more of my &lt;a href="http://www.dialoguesheets.com"&gt;Dialogue Sheets&lt;/a&gt; to get some feedback.  Getting feedback is why I make people register to download a Dialogue Sheet - sorry, I know some people don’t like doing this, and I know some people fake their e-mail addresses but unless I do this I get very little feedback.&lt;br /&gt;&lt;br /&gt;I’ve blogged about my Retrospective Dialogue Sheets before but I thought this would be a good opportunity to update readers with some feedback and findings.  This is the first of two posts on this subject, &lt;a href="http://allankelly.blogspot.com/2011/11/retrospective-dialogue-sheets-feedback_28.html"&gt;the second post will examine a few findings in more depth&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;First simple facts and comments:&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;40% of people who download Retrospective Dialogue Sheets do retrospectives rarely or at best every six months.  &lt;/li&gt;&lt;li&gt;Many who download them and reply to my requests for feedback say “Sorry we haven’t used them” and I guess that many of those who don’t reply haven’t used them either.  Given that I expect those who are interested in retrospectives will download, and given that downloaders are measured in hundreds, not thousands, this indicates that actually doing retrospectives is rare.&lt;/li&gt;&lt;li&gt;46% of downloaders do them once a month or more frequently, while 15% of downloaders classify themselves as Retrospective Facilitators and perform any retrospectives.&lt;/li&gt;&lt;li&gt;25% of downloaders are in the USA, 9.5% in the UK, just ahead of Germany (9.09%).  Otherwise only India (5.79%) tops 5%.  Though Holland, Canada and France all score 4.5%.  I don’t find this surprising given the spread of software development internationally and the spread of dialogue sheet publicity.&lt;/li&gt;&lt;/ul&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;A few people find the sheets too complicated, a few people find them too simple.  I had hoped that a variety of sheets would address both ends of the spectrum: the lesson for me is to create some even simpler sheets.&lt;/li&gt;&lt;li&gt;A couple of people have reported that they don’t feel their team is open enough to use the sheets.  My guess is this will present difficulties for any type of retrospective.&lt;/li&gt;&lt;li&gt;A few people say the sheets are too expensive to print: the print on demand services charges about $40 dollars, the expense is in the postage rather than the printing, if you order a lot the price per sheet is a lot lower.  (I must find a European print on demand provider.).  However 40% of people say that they have a suitable printer, this surprises me a bit, I never expected large printers were so common.&lt;/li&gt;&lt;li&gt;To my surprise a couple of people have said there is not enough space to write on the sheets!  I will create some new sheets with fewer questions and more space.&lt;/li&gt;&lt;li&gt;A few replies say that the teams are now using the sheets regularly, and in some cases they have spread from Agile to non-Agile teams.&lt;/li&gt;&lt;/ul&gt;As I said, one common response is that downloaders have “not had a chance to use the sheets yet.”  On the whole I assumed this was down simply not having a retrospective.  However a few correspondents have hinted that their company has a prescribed retrospective process.  This worries me, if the retrospective approach is prescribed in such detail I wonder how much else is prescribed and how much opportunity there is to change things.&lt;br /&gt;&lt;br /&gt;I’ve also been asked if it is possible to customise the sheets.  The short answer is No, because they are PDFs its kind of difficult - although I’m sure you could with the right tools.  Still there is no reason why not to create your own - a few correspondents say they are thinking of this.  (Anyone thinking of creating their own sheets might find this &lt;a href="http://www.teacherqualitytoolbox.eu/toolbox/dialogue_sheet"&gt;guide for teachers creating dialogue sheets&lt;/a&gt; useful.)&lt;br /&gt;&lt;br /&gt;Finally for this entry, I’m also hoping to provide translations of the sheets shortly.  I have offers of translations into Spanish, German and Finnish - plus I hope to persuade a friendly Russian to help.  Main problem at the moment is getting the raw files out of OmniGraffle into Visio.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-1573051656733239756?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/1573051656733239756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/11/retrospective-dialogue-sheets-feedback.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1573051656733239756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1573051656733239756'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/11/retrospective-dialogue-sheets-feedback.html' title='Retrospective Dialogue Sheets: feedback &amp;amp; updates 1 of 2'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-6747452664253657231</id><published>2011-11-18T17:34:00.001Z</published><updated>2011-11-18T17:34:32.259Z</updated><title type='text'>You are not Steve Jobs (and don't try to be him)</title><content type='html'>Many people better than I have commented on the passing of Steve Jobs a few weeks ago, I too was sorry to see him go.  He touched my life (indirectly): I’m writing this on a Mac, we have an iPad in the house, I might not like iPhones but my new Android phone clearly owes a lot to Jobs vision (i.e. it is a copy).&lt;br /&gt;&lt;br /&gt;Reading, watching and listening to the many obituaries about Jobs I started to get worried.  My concern is simply that Jobs was not a good role model.  His phenomenal success guarantees that more than a few people will attempt to emulate him, in so doing they will sow the seeds of their own failure and make the lives of their employees miserable in doing so.&lt;br /&gt;&lt;br /&gt;Here are a few examples.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Jobs was a perfectionist:&lt;/strong&gt; products didn’t get launched unless he approved of them.  However, being a perfectionist is something of a luxury, Apple existed, had revenue, had a brand.  If you are a start-up perfection is just too expense.&lt;br /&gt;&lt;br /&gt;Jobs started the MacIntosh project because he had Lisa taken from him: MacIntosh and Lisa could only exist because Apple had revenue from the Apple II line.&lt;br /&gt;&lt;br /&gt;The first Macs were far from perfect; the team undoubtedly learned from Lisa - what we might call a pivot in Lean Start-Up terms but not quite that clean cut.&lt;br /&gt;&lt;br /&gt;Jobs demanded the first Macs would work in 64k, the team knew it needed 128k and Jobs, late in the day gave in.  Secretly the team engineered the Mac to accept 512k which is what it really needed.&lt;br /&gt;&lt;br /&gt;The moral of the story: there is more to it than being a perfectionist.  Even perfectionists need to compromise sometimes.  Surrounding yourself with good people helps.&lt;br /&gt;&lt;br /&gt;More recently the original iPhone was launched as a 2G GSM phone, without features like cut and paste.  It seems incredible now.  Apple launched an under-spec phone and refined it in the market.  Which leads us to....&lt;br /&gt;&lt;br /&gt;Jobs would &lt;strong&gt;spurn products/employees&lt;/strong&gt; who he didn’t think were up to scratch: if employees are loyal to the company and to you, and if you have a deep talent pool, and (perhaps) the stock-options are worth a lot you might get away with this.  Otherwise its a sure fire route to staff turn-over.&lt;br /&gt;&lt;br /&gt;Jobs may have been a perfectionist but, it seems to me, he wasn’t a perfectionist about quantity of features, quite the opposite.  Apple products are simple because they lack so much, once launched they are refined and elaborated in the market.&lt;br /&gt;&lt;br /&gt;Jobs &lt;strong&gt;didn’t use customer understanding or focus groups&lt;/strong&gt; to tell him what the public needed.  He was a visionary who just knew.  This is perhaps my greatest fear: to read some of the obituaries is to condemn the whole discipline of Product Management to the dustbin in favour of senior managers who know what is right for customers - a disease too many companies suffer from.&lt;br /&gt;&lt;br /&gt;This argument doesn’t stand up.  Jobs was an, perhaps unique, visionary who did understand what customers wanted.  He had an ability to see what technology could do and how people could use it.  Few of us are blessed with this ability.  Thus we have the discipline of Product Management to help us.&lt;br /&gt;&lt;br /&gt;Jobs may have shunned market and customer research but his Product teams didn’t.  In some cases Apple conducted internal, closed, demonstrations of new products; they used their own staff for research.  And, as I just said: Apple launched products and rapidly refined them in the market.&lt;br /&gt;&lt;br /&gt;Apple also had many products which were not hits, with and without Jobs: Apple III, Lisa, Newton, Mac portable, Pippin, Apple TV, A/UX, Pink,  MobileMe - the iPod took several years to break through and even the Mac came close to failure on several occasions - and iTunes is probably the worst piece of Mac software on the market.&lt;br /&gt;&lt;br /&gt;OK, Jobs was not even at the company when several of these products launched but he sowed the seeds and above all it was his company, a culture he had created.  And while he wasn’t at Apple he founded NeXT which wasn’t exactly a success either.&lt;br /&gt;&lt;br /&gt;But look again: Apple and Jobs were prepared to try things. Some worked, some didn’t.  Some took a long time to come to success.  Some failed but somewhere, in Jobs head, deep in the bowls of Apple, lessons were learned for future products.  We will never know just how much the Mac team learned from Lisa, or how much MacOS X learned from Pink, or even how much the iPad learned from Newton.&lt;br /&gt;&lt;br /&gt;Apple and Jobs could do this because they had deep pockets, they had revenue.&lt;br /&gt;&lt;br /&gt;Lets put this simply: as much as you might like to think you can emulate Steve Jobs you probably can’t.  What worked for Jobs worked for him because he was unique in vision, timing and experience.  Just because Jobs could ignore volumes of business advice, armies of experts and accepted wisdom doesn’t mean you can.&lt;br /&gt;&lt;br /&gt;The lesson I would take from Jobs and Apple is not about perfectionism, design, arrogance, or the super-CEOs but about the willingness to try something simple, iterate and refine in the market.  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-6747452664253657231?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/6747452664253657231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/11/many-people-better-than-i-have.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/6747452664253657231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/6747452664253657231'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/11/many-people-better-than-i-have.html' title='You are not Steve Jobs (and don&amp;#39;t try to be him)'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-311507962830113040</id><published>2011-11-13T11:48:00.001Z</published><updated>2011-11-13T11:48:32.271Z</updated><title type='text'>Me @ Agile on the Beach</title><content type='html'>Many of the sessions at &lt;a href="http://www.agileonthebeach.com/"&gt;Agile on the Beach&lt;/a&gt; were recorded and are now available online.&lt;br /&gt;&lt;br /&gt;You can find my &lt;a href="http://www.agileonthebeach.com/videos/allan-kelly"&gt;“Objective Agility” presentation here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I have a bit part in the &lt;a href="http://www.agileonthebeach.com/videos/case-study-ri-sc"&gt;The Agile Cornwall case study&lt;/a&gt; which is also online.  Actually, this video, or rather these videos, are the best version of the Agile Cornwall case study.  Although myself and Mike Barritt have given versions of this presentation elsewhere (and probably will do again in time) this version is the best for two reasons.&lt;br /&gt;&lt;br /&gt;First, these videos include people on the receiving end of the programme - Research Instruments and Sullivan Cuff Software.  They tell about their experiences moving to Agile and the results they have achieved.  Second, this version of the case study goes into more depth of about the nature of the programme and how it worked.&lt;br /&gt;&lt;br /&gt;Personally I’ve come to see three audiences for the Agile Cornwall case study: anyone who wants to adopt Agile, those who want to know the lessons of our Cornish Agile Laboratory (the Cornish Software Mines), and third, Government agencies who want to see how Government support can help companies adopt Agile.&lt;br /&gt;&lt;br /&gt;Finally, I was also part of the &lt;a href="http://www.agileonthebeach.com/videos/panel-discussion"&gt;panel discussion which is online too&lt;/a&gt; - this include &lt;a href="http://www.poppendieck.com/"&gt;Mary and Tom Poppendieck&lt;/a&gt;, &lt;a href="http://www.uknetweb.com/"&gt;Toby Parkins&lt;/a&gt; and &lt;a href="http://www.codemanship.co.uk/"&gt;Jason Gorman&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-311507962830113040?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/311507962830113040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/11/me-agile-on-beach.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/311507962830113040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/311507962830113040'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/11/me-agile-on-beach.html' title='Me @ Agile on the Beach'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-614940217653990465</id><published>2011-10-19T08:34:00.001+01:00</published><updated>2011-10-19T08:34:09.927+01:00</updated><title type='text'>Agile will never work in Investment Banking</title><content type='html'>In the past I’ve worked for banks, as an employee, as a contractor and as a consultant.  And I’ve worked for companies that supply banks in one way or another.  And I have lots of friends who work for banks and tell me stories.  While I’m not an expert on banks and banking I know a little....&lt;br /&gt;&lt;br /&gt;One of the things I know is that modern banking - in all its forms - is highly dependent on IT.  Banks spend a lot of money on IT and develop a lot of their own software.  As a result they have a lot of software developers.  And I also know that quite a few of these developers and their teams have been, and are, experimenting with Agile working in one way or another.  &lt;br /&gt;&lt;br /&gt;It seems every bank has pockets of Agile, a team here, a team there.  And not very often joined up.&lt;br /&gt;&lt;br /&gt;Some of these teams are successful, some are less so.  They often find themselves battling against big company / bank culture.  The banks seem to be very good at killing their Agile teams: they get disbanded, forced bank to traditional (pseudo-Waterfall) approaches by bank procedures, or constrained by “the way we do things here.” &lt;br /&gt;&lt;br /&gt;It also seems - notice we get further and further from fact and more into conjecture as I build this argument - that many banks have cottoned on that Agile is good and can help them.  To this end many banks (and this is fact) have established Agile support programmes of one form or another.  There are people at many banks who are trying to make the bank Agile - at least in software development.  For many of them it is an uphill struggle.&lt;br /&gt;&lt;br /&gt;At this point we should differentiate between retail banking - what you do on the high street with  your bank - and investment banking - or casino banking if you prefer.  (Yes there are other divisions but lets limit ourselves to two.)&lt;br /&gt;&lt;br /&gt;In retail banking I think there are grounds to be a little optimistic.  The stories aI hear are that Agile pockets are having success and things are gradually, slowly, improving and the efforts to link things up are slowly bearing fruit.&lt;br /&gt;&lt;br /&gt;In investment banking I’m very pessimistic.  I have come to the conclusion that while individual development teams may be successful at Agile for a while inside an investment bank all such teams are ultimately doomed.  Your team might be Agile for a few weeks or months or even a year or to, but it will eventually be killed by the bank antibodies.&lt;br /&gt;&lt;br /&gt;I have come to the conclusion that investment banking culture is polar to Agile culture.  My reasoning is thus:&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Investment banks are &lt;strong&gt;extremely hierarchical&lt;/strong&gt; in nature; Agile is not.  Agile can live with some hierarchy but not investment banking extreme.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Short-term in outlook&lt;/strong&gt;: investment banks are short-term in the extreme - microseconds in some instances.  Agile teams can react in the short-term but only by taking a long term view of engineering and quality.&lt;/li&gt;&lt;li&gt;Investment bankers are not engineers and &lt;strong&gt;do not understand engineering&lt;/strong&gt;.  Nobody from IT ever got to run an investment bank, you don’t get up the ladder from a support function, you get there from selling and banking.  A large part of the Agile story is about returning to good engineering principles.  The lack of engineering skills, thinking and culture in investment banks undermines Agile.&lt;/li&gt;&lt;li&gt;Investment bankers think you can &lt;strong&gt;solve every problem with money&lt;/strong&gt;. Throwing money at Agile can work in pockets (by the best team) but doesn’t last or scale.&lt;/li&gt;&lt;li&gt;Investment banks are &lt;strong&gt;individual focused&lt;/strong&gt;: individual bonuses, the power of the one trader to make money or break the bank (from Kweku Adoboli to Nick Leeson and before.)  Agile is team focused.&lt;/li&gt;&lt;li&gt;Investment bankers &lt;strong&gt;think applying more pressure is the way to get results&lt;/strong&gt;; Agile people now that applying pressure breaks things.  A little pressure can help but apply too much and things snap, bankers don’t get engineering so don’t get this.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Risk aversion&lt;/strong&gt;: yes, investment banks are highly risk averse when it comes to IT.  Perhaps because they take so much “risk” directly with money they very risk averse in their operations.&lt;/li&gt;&lt;li&gt;Investment banks are &lt;strong&gt;contradictory&lt;/strong&gt;: they say they embrace and manage risk but actually they are risk averse (at least in operations); they say they value the team but their actions say otherwise; they call themselves “financial engineers” but they no nothing about engineering; and so on.  Agile is about honesty, facing up to truth and acting on it.  Investment banks recent track record shows that honesty is sometimes questionable, to say the least.&lt;/li&gt;&lt;/ul&gt;I’m sure many of you reading this will say “Rubbish, I know at team at ....”.  I am sure you do.  While that team might be successful for a while the investment bank culture will eventually kill the team.&lt;br /&gt;&lt;br /&gt;So how can we help investment banks overcome this problem?&lt;br /&gt;&lt;br /&gt;We can’t.  Its the way it is.  Take the money, and run, or keep you head down and hope for some more.&lt;br /&gt;&lt;br /&gt;Eventually new financial institutions will emerge which get Agile, not just at the software level but elsewhere.  These institutions - which might be banks or might take some other form - will eventually replace the investment banks.&lt;br /&gt;&lt;br /&gt;This is going to take time.  Investment banks are fundamentally a broken business model which are propped up by Government support and market failure.  This means normal economic logic does not hold for these institutions.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-614940217653990465?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/614940217653990465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/10/agile-will-never-work-in-investment.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/614940217653990465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/614940217653990465'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/10/agile-will-never-work-in-investment.html' title='Agile will never work in Investment Banking'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-7231953143272547860</id><published>2011-10-16T10:21:00.000+01:00</published><updated>2011-10-16T10:25:04.189+01:00</updated><title type='text'>Cornish Case Study</title><content type='html'>In the last few weeks Michael Barritt of Oxford Innovation and myself have presented several versions of “&lt;a href="http://www.allankelly.net/presentations/index.html"&gt;Agile in Cornwall&lt;/a&gt;” - a case study of our work introducing Agile to companies in Cornwall.&lt;br /&gt;&lt;br /&gt;All three versions of this Agile case study presentation are now on my website.  I recommend the latest two version - &lt;a href="http://www.allankelly.net/static/presentations/CornwallCaseStudyABCv2.2.pdf"&gt;Agile Business Conference&lt;/a&gt; and &lt;a href="http://www.allankelly.net/static/presentations/CornwallCaseStudy.pdf"&gt;Agile Cambridge&lt;/a&gt;.  The version from &lt;a href="http://www.allankelly.net/static/presentations/CornwallCaseStudyV1.2.pdf"&gt;Agile on the Beach in Cornwall&lt;/a&gt; was supported with presentations from two of the companies concerned - Research Instruments and Sullivan Cuff Software.  In fact, you can find my own case study of the work at &lt;a href="http://www.softwarestrategy.co.uk/clients/agilecoachingscsl.html"&gt;Sullivan Cuff on the Software Strategy&lt;/a&gt; website.  A video version of this will be available in the near future.&lt;br /&gt;&lt;br /&gt;If this interest you, or you want to hear it not read it, then I’ll be doing a revised version of the presentation at Skills Matter in a couple of weeks - “&lt;a href="http://skillsmatter.com/podcast/home/agile-cornwall-case-study/js-2792"&gt;Agile Cornwall case study: How the EU is helping Cornish companies get Agile&lt;/a&gt;” - a free event, registration required.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-7231953143272547860?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/7231953143272547860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/10/cornish-case-study.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7231953143272547860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7231953143272547860'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/10/cornish-case-study.html' title='Cornish Case Study'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-1906789363526872246</id><published>2011-10-10T16:48:00.005+01:00</published><updated>2011-10-10T16:51:06.899+01:00</updated><title type='text'>Layered burn-down charts</title><content type='html'>I’d like to conclude this Burn-down chart mini-series (&lt;a href="Burn-downs are not just for Sprints"&gt;Burn-downs are not just for Sprints&lt;/a&gt; and &lt;a href="http://allankelly.blogspot.com/2011/10/advice-for-creating-burn-down-and-other.html"&gt;Advice for creating burn-down&lt;/a&gt;) by showing a variation on the classical burn-down chart I created with one of my Cornish clients.  I’ve recently been advising an SOA project at another client to adopt a similar approach.  &lt;br /&gt;&lt;br /&gt;In fact, I’m finding this variation makes even more sense then the original, this is the Layered burn-down chart, here is an example:&lt;br /&gt;&lt;img src="http://www.allankelly.net/blogbits/LayeredBurnDown.jpg" width=384&gt;&lt;br /&gt;&lt;br /&gt;I’ve redrawn this example to remove client details.  What it shows are three things:&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;First the classic burn-down, just look at the overall line declining.&lt;/li&gt;&lt;li&gt;Second the velocity line as described in my earlier blog&lt;/li&gt;&lt;li&gt;Third the different colours layers show different releases, let me explain...&lt;/li&gt;&lt;/ul&gt;This company had taken the product backlog and divided it into monthly releases: November, December, January and so on.  By the way this was physical on cards and each month’s cards were held together with a &lt;a href="http://en.wikipedia.org/wiki/Bulldog_clip"&gt;bulldog clip&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The contents of a release can - and would - change.  But the company felt it knew what it wanted and since the team knew their velocity they could take a stab at which release it would be in.  If something new was added the question was simply: &lt;em&gt;when in which release do you want it?&lt;/em&gt;  And the related stripe on the chart would increase.&lt;br /&gt;&lt;br /&gt;That by the way is why the three strips of work yet to do are approximately equal size.  If one grew  it was obvious, work needed to be removed - either thrown away, or moved to another release, perhaps one that didn’t appear yet.&lt;br /&gt;&lt;br /&gt;This was fairly straight forward when the company (thought) it knew everything to be done and ball-pack estimates could be given.  With my SOA client they don’t know what the future holds but they can produce a striped chart for the work they do know about.  In their case I’m suggesting every stripe represents a requested service rather than a release.  &lt;br /&gt;&lt;br /&gt;As new services are requested, and estimated, extra stripes can be added to show the total work required.  Together with the velocity and slope it should be easy to see when a service will be available to their customers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-1906789363526872246?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/1906789363526872246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/10/layered-burn-down-charts.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1906789363526872246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1906789363526872246'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/10/layered-burn-down-charts.html' title='Layered burn-down charts'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-4349172922760747608</id><published>2011-10-06T09:43:00.001+01:00</published><updated>2011-10-06T09:43:41.304+01:00</updated><title type='text'>Advice for creating burn-down - and other capacity measurements</title><content type='html'>Continuing from my last blog entry (&lt;a href="http://allankelly.blogspot.com/2011/10/burn-downs-are-not-just-for-sprints.html"&gt;Burn-downs are not just for Sprints&lt;/a&gt;) I’d like to offer some advice on the subject, burn-downs, cumulative flow diagrams, velocity, etc..&lt;br /&gt;&lt;br /&gt;1) Don’t track hours.  Hours are input and its better to measure outputs.  Hours are subjective, see my &lt;a href="http://allankelly.blogspot.com/2011/03/humans-can-estimate-tasks.html"&gt;Humans can't estimate tasks&lt;/a&gt; blog.  Worse still we have too many psychological hang-ups about hours to make them usable.  Instead you want your own currency, call them story points, abstract points, nebulous units of time or what ever you like.  Having your own currency allows it to adjust to your team.&lt;br /&gt;&lt;br /&gt;Each team has its own currency.  Its like having the dollar, euro and pound.  They all float independently, there is an exchange rate but it changes.&lt;br /&gt;&lt;br /&gt;2) Draw your graphs by hand, process your data by hand.  Get a feel for your data.  Unless you have a feel for the data and an understanding of how it comes to be you can’t reason about it.  &lt;br /&gt;&lt;br /&gt;When I say “by hand” I allow you to use Excel (or similar), graph paper is better, but whatever you use don’t use a tool like Rally, Version One, etc. because you won’t have a feel.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Jack_Kilby"&gt;Jack Kilby&lt;/a&gt;, co-inventor of the silicon chip and pioneer of the electronic calculator, lamented that his invention(s) deskilled engineers.  Before the calculator engineers used a slide rule, this meant the engineers needed to know where to put the decimal point. They needed a feel for the data.  Kilby lamented that the calculator meant engineers didn’t have the same intuition because of the calculator and led them to make mistakes elsewhere.&lt;br /&gt;&lt;br /&gt;4) Use estimated data, forget actuals: estimates and actuals are apples and oranges, or rather, they are future facing estimates and retrospectives estimates. &lt;br /&gt;&lt;br /&gt;Estimate tasks just before you do them (e.g. iteration planning meeting), put ball-park estimate on stories which you aren’t going to do any time soon (i.e. later than this iteration), and use averages for really long term stuff.&lt;br /&gt;&lt;br /&gt;When you break the stories into tasks, or epics into stories, don’t expect the numbers to match.  In fact, you might want to track the variation for longer range forecasting.&lt;br /&gt;&lt;br /&gt;5) From 2 &amp; 4: if you have a time-tracking/time-sheeting system leave it to one side, let it exist in its own little fantasy bubble.  Don’t use the data, its toxic - see my entries on &lt;a href="http://allankelly.blogspot.com/2011/03/final-roundup-of-facts-from-capers.html"&gt;Capers Jones work&lt;/a&gt;.  Live by your velocity measurements and charts.&lt;br /&gt;&lt;br /&gt;Ultimately, burn-downs are about capacity measurement: John Seddon in &lt;a href="http://www.amazon.co.uk/dp/0954618300/ref=as_li_qf_sp_asin_til?tag=allankelly-21&amp;camp=1406&amp;creative=6394&amp;linkCode=as1&amp;creativeASIN=0954618300&amp;adid=1QSEXJXD79CT5V3JN4YB&amp;"&gt;Freedom from Command &amp; Control&lt;/a&gt; talks about creating capacity measurement charts within organisations.  The various graphs we use in Agile are our version of capacity measurement.  Accepting its about capacity measurement means its not about targeting.  Targeting is wrong see my entry form last year - &lt;a href="http://allankelly.blogspot.com/2010/06/velocity-targeting-and-velocity.html"&gt;Velocity targeting and velocity inflation&lt;/a&gt; - for more about this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-4349172922760747608?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/4349172922760747608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/10/advice-for-creating-burn-down-and-other.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4349172922760747608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4349172922760747608'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/10/advice-for-creating-burn-down-and-other.html' title='Advice for creating burn-down - and other capacity measurements'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-2452914608676579667</id><published>2011-10-04T17:56:00.004+01:00</published><updated>2011-10-04T17:59:31.763+01:00</updated><title type='text'>Burn-downs are not just for Sprints</title><content type='html'>One of the key tools in Agile is: make things visible.  When you can see the thing you can share the thinking and reason able it.&lt;br /&gt;&lt;br /&gt;Capacity charts - usually burn-down, burn-up or their cousins Cumulative Flow Diagrams - are amazingly useful things.  They show you the state of a development effort.  They show this in data.  Data by itself is hard to reason with but put it in a graph and wonderful things happen.&lt;br /&gt;&lt;br /&gt;It has recently come to my attention that what I thought was obvious about these charts isn’t.  So this blog entry, and maybe a few more to come, I plan to discuss charts, and specifically burn-downs, in a bit more depth,&lt;br /&gt;&lt;br /&gt;I always encourage, sometime coerce, teams into produce some graphical tracking of their work.  For someone like me who’s favourite tool is an spreadsheet this is a piece of cake.  But have to remind myself that not everyone finds this so easy.  &lt;br /&gt;&lt;br /&gt;Importantly there are two burn-down charts you might want to create: a Sprint burn-down and A Product Burn-down.  It should be immediately obvious that these correspond to the Sprint Backlog and the Product Backlog.&lt;br /&gt;&lt;br /&gt;Just to be clear:&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Sprint based burn-down chart which shows the progress in the current sprint towards completion of all scheduled work and shows work on a day-to-day basis.&lt;/li&gt;&lt;li&gt;Product based burn-down chart which shows progress through some larger quantity of work, e.g.  project, release, milestone.  These are updated on a sprint to sprint basis.&lt;/li&gt;&lt;/ul&gt;Superficially both types of chart look the same, the difference is in the X-axis - Sprint based charts have days, product based ones have iterations.  An example will help:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.allankelly.net/BlogBits/SimpleBurnDown.png" width="75%"&gt;&lt;br /&gt;&lt;br /&gt;Now I’ve never found sprint based burn-down charts very helpful.  Perhaps because my background is working on large development efforts which take months or even years to deliver I rarely see an actual delivery at the end of a sprint.  We may have something to show but its only a step on the way to something bigger.&lt;br /&gt;&lt;br /&gt;Or perhaps its the economist or statistician in me, trained never to read too much into one set of data figures, and I know we can all have bad days, so I don’t see the point of acting when yesterdays velocity falls.&lt;br /&gt;&lt;br /&gt;But I know some people do find value in sprint burn-down so I don’t object if you want one.&lt;br /&gt;&lt;br /&gt;However, I always see Product Burn-down charts as vital.  &lt;br /&gt;&lt;br /&gt;Except on the smallest pieces of work there will be something coming next and a product burn-down can give a good sense of context, overall progress and, most importantly, when you could be finished - especially important on large pieces of work.  Armed with this information you can construct sensible release plans.&lt;br /&gt;&lt;br /&gt;I recently came across two teams at different companies who had burn-down charts but the charts only covered the iteration (sprint).  This seemed wrong to me, it doesn’t tell me much.  On closer examination the explanation become clear: the product backlog for both teams wasn’t in a state you could use for a burn-down.&lt;br /&gt;&lt;br /&gt;Now if you are taking a truly evolutionary approach this isn’t a problem, you re-evaluate iteration-to-iteration. But actually, few teams take a completely evolutionary approach and these two teams where far closer to the iterative style (i.e. they had original requirements documents to work from).&lt;br /&gt;&lt;br /&gt;The lack of a longer-term burn-down was a problem and a sign of a bigger problem.&lt;br /&gt;&lt;br /&gt;One enhancement I like to make is adding velocity to the burn down chart.  Take this one for example:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.allankelly.net/BlogBits/BurnDownPlusVelocity.png" width="75%"&gt;&lt;br /&gt;&lt;br /&gt;This adds a second axis (in Excel you have to hunt around for this option) which allows you to see the team velocity sprint-on-sprint.&lt;br /&gt;&lt;br /&gt;The key thing is, without this data, velocity and burn-down - and the graphs to understand it - each sprint exists in isolation.  That might be OK if you are delivering every sprint and you don’t need to peek into the future.  But the kind of work I see does need to look forward and this information is essential.&lt;br /&gt;&lt;br /&gt;Finally, I’ve most of what I’ve said about burn-downs applies equally well to cumulative-flow-diagrams (CFDs).  In fact I prefer CfDs and readily use them over burn-downs because they help show how work increases.  However, I have also discovered that CFDs are not only harder to construct and update but also harder to explain to people.  There is something obvious about burn-downs.&lt;br /&gt;&lt;br /&gt;Anyway, you pays your money, you takes your choice.  Its up to you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-2452914608676579667?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/2452914608676579667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/10/burn-downs-are-not-just-for-sprints.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2452914608676579667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2452914608676579667'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/10/burn-downs-are-not-just-for-sprints.html' title='Burn-downs are not just for Sprints'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-4856782209394095098</id><published>2011-09-29T17:37:00.000+01:00</published><updated>2011-09-29T17:38:06.197+01:00</updated><title type='text'>Agile Cambridge: Cornwall Case Study online</title><content type='html'>The slides from my presentation at Agile Cambridge are now on my website: &lt;a href="http://www.allankelly.net/static/presentations/CornwallCaseStudy.pdf"&gt;Agile County, Making Cornwall Agile (a case study)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-4856782209394095098?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/4856782209394095098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/09/agile-cambridge-cornwall-case-study.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4856782209394095098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4856782209394095098'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/09/agile-cambridge-cornwall-case-study.html' title='Agile Cambridge: Cornwall Case Study online'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-5667981857360660180</id><published>2011-09-28T10:02:00.001+01:00</published><updated>2011-09-28T10:03:27.300+01:00</updated><title type='text'>Propogation delays</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Propogation_delay"&gt;Propagation delays&lt;/a&gt; occur when there is a chain reaction, a sequence of reactions which take time to work down the chain.  Think of a line of traffic waiting at the red light.  The light turns green: the driver of the first car doesn’t move instantaneously, it takes a moment to  registers the change, perhaps move the car into gear or take the hand break off, moment to press the accelerator and a moment for the engine to start moving the car.&lt;br /&gt;&lt;br /&gt;The second car in the line might be watching the traffic light but they are also watching the car in front.  Only when the break lights (if on) go off and the car begins to move can they move.  And so on.&lt;br /&gt;&lt;br /&gt;It takes time for the change to work its way down the line.&lt;br /&gt;&lt;br /&gt;The same thing happens in integrated circuits, silicon chips.  Even electrons take time to move.  Reducing propagation delays is one of the ways chips get to go faster.&lt;br /&gt;&lt;br /&gt;Once you know about propagation delays you start seeing them everywhere.  Increasingly I not only see them in software development teams but I talk about them.  But not everyone knows the concept, hence this blog.&lt;br /&gt;&lt;br /&gt;Propagation delays occur when one team, or one developer, changes some code, or perhaps a database schema, and it takes time for all the other team members to update their code base and make any resulting changes.&lt;br /&gt;&lt;br /&gt;Propagation delays occur when a company decides to start doing something, or stop doing something, and it takes time to work down the chain and to actually stop or start.&lt;br /&gt;&lt;br /&gt;Propagation delays cause tension because different people, or teams, are working to different assumptions.&lt;br /&gt;&lt;br /&gt;As with chips and traffic reducing propagation delays can speed things up.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-5667981857360660180?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/5667981857360660180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/09/propogation-delays.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/5667981857360660180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/5667981857360660180'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/09/propogation-delays.html' title='Propogation delays'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-3984317430389890652</id><published>2011-09-23T16:11:00.000+01:00</published><updated>2011-09-23T16:21:21.974+01:00</updated><title type='text'>Updates for Dialogue Sheets</title><content type='html'>Two &lt;a href="http://www.dialoguesheets.com"&gt;dialogue sheet&lt;/a&gt; updates today.&lt;br /&gt;&lt;br /&gt;Firstly I’ve created a mailing list to make announcements about dialogue sheets and for discussions about the use of dialogue sheets.  This &lt;a href="http://groups.google.com/group/dialogue-sheets?hl=en"&gt;list is open to all and is hosted on Google groups&lt;/a&gt; (so you need a Google account).&lt;br /&gt;&lt;br /&gt;Second, I’ve uploaded a new dialogue sheet.  Another retrospective sheet this one is designed for use at the end of training course.  I’ve used it at the end of several Software Strategy Agile training course and it has been well received.  This sheet fulfils three purposes:&lt;br /&gt;&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;It allows participants to experience a retrospective&lt;/li&gt;&lt;li&gt;It provides for a retrospective on a training course at the end of the course&lt;/li&gt;&lt;li&gt;It introduces dialogue sheets as a technique for retrospectives&lt;/li&gt;&lt;/ul&gt;Although the sheet was intended specifically for use at the end of an Agile training course there is little that is specific to Agile in it.  I’d really appreciate feedback from other trainers who try this sheet.&lt;br /&gt;&lt;br /&gt;As usual, all this is at &lt;a href="http://www.dialoguesheets.com"&gt;www.dialoguesheets.com&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-3984317430389890652?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/3984317430389890652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/09/updates-for-dialogue-sheets.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3984317430389890652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3984317430389890652'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/09/updates-for-dialogue-sheets.html' title='Updates for Dialogue Sheets'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-2454086839153718389</id><published>2011-09-23T10:59:00.008+01:00</published><updated>2011-09-23T11:15:33.705+01:00</updated><title type='text'>Cover for Business Patterns for Software</title><content type='html'>My new book, &lt;a href="http://www.amazon.co.uk/gp/product/1119999243/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=1119999243"&gt;Business Patterns for Software Developers&lt;/a&gt;, now has a cover.  Here it is:&lt;br /&gt;&lt;br /&gt;&lt;img width=256 src="http://www.allankelly.net/images/BSP_Cover_lowres.jpg"/&gt;&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.amazon.co.uk/gp/product/1119999243/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=1119999243"&gt;Business Patterns is available for pre-order&lt;/a&gt;, it will be published until early in the new year, I’m guessing February but it could move either way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-2454086839153718389?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/2454086839153718389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/09/cover-for-business-patterns-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2454086839153718389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2454086839153718389'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/09/cover-for-business-patterns-for.html' title='Cover for Business Patterns for Software'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-7903122162874376767</id><published>2011-09-20T13:24:00.000+01:00</published><updated>2011-09-20T13:27:20.107+01:00</updated><title type='text'>Dialogue Sheets in Methods &amp; Tools</title><content type='html'>The latest issue of &lt;a href="http://www.methodsandtools.com/last.php"&gt;Methods and Tool (Fall 2011)&lt;/a&gt; contains an article about &lt;a href="http://www.softwarestrategy.co.uk/dlgsheets/"&gt;Retrospective Dialogue Sheets&lt;/a&gt;.  If you are new to Dialogue Sheets it will make a good introduction, and if you’ve used them already thenI’d love to hear your feedback.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-7903122162874376767?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/7903122162874376767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/09/dialogue-sheets-in-methods-tools.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7903122162874376767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7903122162874376767'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/09/dialogue-sheets-in-methods-tools.html' title='Dialogue Sheets in Methods &amp;amp; Tools'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-418512452010277178</id><published>2011-09-15T14:19:00.001+01:00</published><updated>2011-09-15T14:19:23.811+01:00</updated><title type='text'>Dear client, the truth about software development</title><content type='html'>Dear Customer,&lt;br /&gt;I think its time we in the IT industry came clean about how we charge you and why our bills are sometimes a bit higher than you might expect.&lt;br /&gt;&lt;br /&gt;The truth is, when we start and IT project we just don’t know how much time and effort it will take.  Consequently we don’t know how much it will cost.  This isn’t a message you like to hear, particularly since you can be absolutely certain that you know what you want.&lt;br /&gt;&lt;br /&gt;Here in lies another truth, I’ll try and put it as politely as I can, you are, after all, a customer and really I shouldn’t offend you.  The thing is, you don’t know what you want.  O yerh, you know in general (usually) but the devil is in the detail.  And the more you try and give us the detail before hand the more likely it is to change.  Each time you give us more detail you are offering more hostages to fortune.&lt;br /&gt;&lt;br /&gt;Just to complicate matters the world in uncertain.  Things change, companies go out of business, customer tastes change, fashion changes, Governments change and competitors do their damnedest to make life hard.&lt;br /&gt;&lt;br /&gt;Yes it is true we can sometimes gold plate things.  Yes some of our engineers like to do more than needed, and yes we have vested interest in getting things added so we can charge you more.&lt;br /&gt;&lt;br /&gt;It is also true that you have add things: you quite legitimately think of things after we’ve begun, you quite naturally assume something is “in” when we assumed it was “out” and you also try and put one over too.&lt;br /&gt;&lt;br /&gt;(Lets not even talk about bugs right now, it just complicates everything.)&lt;br /&gt;&lt;br /&gt;Frankly, given all of this it is touching that you have so much faith in IT to deliver.  But then, when IT does deliver, boy, does it deliver big.  Look what it did for Bill Gates and Larry Page, or Jeff Bezos of Amazon, or FedEx, the list goes on.&lt;br /&gt;&lt;br /&gt;So how do we ever talk you into this?&lt;br /&gt;&lt;br /&gt;Well, we package up this unsightly mess and try and sell it to you.  To do this we have to hide all this unpleasantness.  We estimate how much time we think the work will take, actually these “estimates” are little better than guesses; &lt;a href="http://allankelly.blogspot.com/2011/03/humans-can-estimate-tasks.html"&gt;human’s can’t estimate&lt;/a&gt;, most companies don’t have historical data and for those that do have data most of it is worse than useless.&lt;br /&gt;&lt;br /&gt;So we get this guess, sorry estimate, and double it.  Well maybe we double it, we might treble it, and when we see the new number, if it looks too much we might reduce it.  And then we work out whether you will pay it.&lt;br /&gt;&lt;br /&gt;That might sound awful but remember: we could have guessed higher in the first place.&lt;br /&gt;&lt;br /&gt;Anyway, we don’t know which number is “right” but to make it acceptable to you we pretend it is certain and we take on the risk.  We can only do this if the number is sufficiently padded.  And even then we go wrong.&lt;br /&gt;&lt;br /&gt;If the risk doesn’t happen then we get a fat profit, if the risk comes to pass we don’t get any profit, maybe we make a loss, and if its really bad you don’t get anything and &lt;a href="http://www.computerweekly.com/Articles/2010/01/29/240114/BSkyB-vs-EDS-ruling-could-push-up-price-of-IT-contracts.htm"&gt;we end up in court&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Really its all a question of risk: we try to present a clean, low-risk solution to your problem, and in doing so we take on a lot of risk.  The alternative is that you take on the risk - and the mess - and do it yourself.  (Unfortunately, another sad truth, is that as far as anyone can tell in-house IT is generally not as good as specialist providers so if you do decide to take on the risk you actually increase it.)&lt;br /&gt;&lt;br /&gt;There really isn’t a nice simple solution to this, you have to work with us on this.&lt;br /&gt;&lt;br /&gt;Thats the first part of the solution: you, the customer, have to be prepared to work with us, the supplier, and work with us again and again.  This will reduce the risk.&lt;br /&gt;&lt;br /&gt;The second part of the solution is: you need to be prepared to accept the mess and share the risk with us.  If you aren’t prepared to take on any risk then we will take it on, and we will charge you for it, and since the risk is a lot we will charge you a lot.&lt;br /&gt;&lt;br /&gt;Sharing the risk also has the effect of reducing the risk.  Once you share the risk you have a motivation to reduce it.&lt;br /&gt;&lt;br /&gt;If you are prepared to accept those two suggestions then lets press reset on our relationship and talk some more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-418512452010277178?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/418512452010277178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/09/dear-client-truth-about-software.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/418512452010277178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/418512452010277178'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/09/dear-client-truth-about-software.html' title='Dear client, the truth about software development'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-5919499352965522296</id><published>2011-09-06T14:45:00.000+01:00</published><updated>2011-09-06T14:47:20.967+01:00</updated><title type='text'>Business Patterns for Software Developers on Amazon for pre-order</title><content type='html'>Milestones in the writing on Business Patterns for Software Developers are coming think and fast this week.&lt;br /&gt;&lt;br /&gt;Monday saw me reviewing book covers - the proposals look really good.  Like many other patterns books the cover will feature architecturally significant buildings.  Unlike most other patterns books these three are also a World Heritage site.&lt;br /&gt;&lt;br /&gt;Now the book is listed on &lt;a href="http://www.amazon.co.uk/gp/product/1119999243/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=1119999243"&gt;Amazon for pre-order - order now!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Which means, it also has an ISBN number - &lt;a href="http://www.amazon.co.uk/gp/product/1119999243/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=1119999243"&gt;978-1119999249 is Business Patterns for Software Developers&lt;/a&gt; - or if you like the old style number 1119999243 - spot the difference :)&lt;br /&gt;&lt;br /&gt;(Amazon are listing the release date as May but I’m pretty confident we’ll better that, I also suspect the page count and price will be higher than currently listed.)&lt;br /&gt;&lt;br /&gt;I’m pretty close to the final text, mainly images I need to fix now.&lt;br /&gt;&lt;br /&gt;The keen eyed among my readers will notice the words “Agile” and “Lean” are absent from the book title.  Indeed, the words are largely absent from the text.  They are in there, somewhere, they are difficult to ignore, but this isn’t a book about Lean or Agile.  Yes it contains lots of advice for Lean and Agile companies but it isn’t just about them.&lt;br /&gt;&lt;br /&gt;Read my lips: Its not about Agile, its about Business. Thats all it has ever been about, really.&lt;br /&gt;&lt;br /&gt;In the meantime, the &lt;a href="http://www.allankelly.net/patterns/business.html"&gt;business patterns which form the book are still available on my website&lt;/a&gt; and will continue to be so.  The versions which will appear in the book are a lot more polished and professionally edited, plus the book will have a lot of other new material.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-5919499352965522296?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/5919499352965522296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/09/business-patterns-for-software.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/5919499352965522296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/5919499352965522296'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/09/business-patterns-for-software.html' title='Business Patterns for Software Developers on Amazon for pre-order'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-4926470798309854506</id><published>2011-09-05T14:25:00.000+01:00</published><updated>2011-09-05T14:31:21.756+01:00</updated><title type='text'>'Objective Agility' &amp; 'What is Agile' presentations online now</title><content type='html'>Last week I presented a revised version of “Objective Agility: What does it take to be an Agile company?” at Skills Matter in London.  The presentation is now on my website (&lt;a href="http://www.allankelly.net/static/presentations/ObjectiveAgilityITB2011.pdf"&gt;Objective Agility: What does it take to be an Agile company?&lt;/a&gt;) and Skills Matter have a PodCast available too (&lt;a href="http://skillsmatter.com/podcast/agile-scrum/agile-companies"&gt;Objective Agility PodCast&lt;/a&gt;), so you can here my words too!&lt;br /&gt;&lt;br /&gt;By the way, I will be teaching my &lt;a href="http://skillsmatter.com/course/agile-scrum/allan-kelly-chris-matts-agile-business-analysts-scrum"&gt;Agile for Business Analysts course&lt;/a&gt; at Skills Matter in November if you like what you see and would like to see more of this.&lt;br /&gt;&lt;br /&gt;I’ll be presenting Objective Agility again at &lt;a href="http://www.agileonthebeach.com/"&gt;Agile On The Beach in Falmouth&lt;/a&gt; in a couple of weeks.  There are still a few tickets available for the conference but the early bird rate is about to expire.&lt;br /&gt;&lt;br /&gt;As part of the build up to Agile On The Beach I did a webcast a few weeks ago entitled &lt;a href="http://www.allankelly.net/static/presentations/WhatIsAgileWebinar.pdf"&gt;“What is Agile?”&lt;/a&gt;.  The slides for this are also on my website (previous link) and the AgileOTB folks hope to have a podcast available soon.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-4926470798309854506?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/4926470798309854506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/09/agility-is-agile-presentations-online.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4926470798309854506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4926470798309854506'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/09/agility-is-agile-presentations-online.html' title='&amp;#39;Objective Agility&amp;#39; &amp;amp; &amp;#39;What is Agile&amp;#39; presentations online now'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-3555187480378162914</id><published>2011-08-31T14:08:00.000+01:00</published><updated>2011-08-31T14:13:24.735+01:00</updated><title type='text'>Two more business patterns: Customisable Product, Customer Understanding</title><content type='html'>At this year’s &lt;a href="http://www.hillside.net/europlop/europlop2011/"&gt;EuroPLoP conference&lt;/a&gt; I presented two more business patterns for workshop review.  There are:&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;&lt;a href="http://www.allankelly.net/static/patterns/BusinessPatternsE2011.pdf"&gt;Customisable Product&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.allankelly.net/static/patterns/BusinessPatternsE2011.pdf"&gt;Customer Understanding&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;I have now updated the paper with the workshop comments and the &lt;a href="http://www.allankelly.net/static/patterns/BusinessPatternsE2011.pdf"&gt;patterns can now be downloaded from my website&lt;/a&gt;.  The other patterns in the &lt;a href="http://www.allankelly.net/patterns/business.html"&gt;Business Patterns series can also be downloaded&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;These are the final two patterns for my forthcoming book &lt;em&gt;Business Patterns for Software Developers&lt;/em&gt;.  The text of the book is just about finished and it will be going to the publisher soon.  It should be available early in the new year.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-3555187480378162914?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/3555187480378162914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/08/two-more-business-patterns-customisable.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3555187480378162914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3555187480378162914'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/08/two-more-business-patterns-customisable.html' title='Two more business patterns: Customisable Product, Customer Understanding'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-4529644831232823031</id><published>2011-08-17T14:31:00.001+01:00</published><updated>2011-08-17T14:31:18.664+01:00</updated><title type='text'>Is "Faster Better Cheaper" axiomatic in Agile?</title><content type='html'>“Faster Better Cheaper” - a cry heard often from management types!  &lt;br /&gt;Or at least engineers think thats the sort of thing managers say.  Personally I don’t think I’ve ever actually heard a manager say it but I have heard engineers say managers want it “Faster Better Cheaper” with scorn in their voice.&lt;br /&gt;&lt;br /&gt;The idea that you could have it (whatever &lt;em&gt;it&lt;/em&gt; is) “Faster Better Cheaper” seems to have gained popularity when &lt;a href="http://en.wikipedia.org/wiki/Daniel_Goldin"&gt;Daniel Goldin&lt;/a&gt; was the head of NASA.  As many engineers, including myself, are quick to point out the original quote was “Faster Better Cheaper, choose two”.  I say “original quote” but I have no idea who said it first, WikiQuote doesn’t help, and Google doesn’t shed much clear light.  (Anyone out there know?)&lt;br /&gt;&lt;br /&gt;Whatever, last week, I heard another engineer-type say that he believed management wanted “Agile” because it was “Faster Better Cheaper” and, not for the first time, it got me thinking.  &lt;em&gt;Is Agile Faster Better Cheaper?&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;My knee-jerk reaction is “No!” but the more I think about it the more I think it might actually be so.  &lt;br /&gt;&lt;br /&gt;Firstly, &lt;em&gt;Faster than What? Better than What?&lt;/em&gt; and &lt;em&gt;Cheaper than What?&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Presumably “Faster than traditional Waterfall development”. Or at least, what-ever-it-is-you-are-doing-now, which is probably to some degree based on waterfall.&lt;br /&gt;&lt;br /&gt;In the short run, when a team are first changing the way they work thy are quite likely to go slower than they would do otherwise simply because they are learning something new and not using a set of practiced reflexes.&lt;br /&gt;&lt;br /&gt;Agile most definitely promises to deliver something sooner - if you want it, plenty of business folk seem unhappy with getting things too soon or too often.  But Agile will NOT deliver the whole thing Faster, it can only promise to deliver a part sooner.  &lt;br /&gt;&lt;br /&gt;The logic of Agile recognises “You will change your mind when you get something”, meaning, if the business/customer sees part of the final thing they will add, remove and change the thing they originally asked for.  In some cases, and I have seen this happen, they remove work.   Lots of work.   &lt;br /&gt;&lt;br /&gt;Thus, the whole might come faster, but the whole is smaller than the thing you thought it was.&lt;br /&gt;&lt;br /&gt;So, Faster - in the short run no, in the medium run you should get something sooner, and in the long run, Yes, it will look like Faster.&lt;br /&gt;&lt;br /&gt;What about Better? - how are we to define better: better quality (fewer bugs), better suited to need, more fully filling the initial request.&lt;br /&gt;&lt;br /&gt;Yes: Agile promises better quality (fewer bugs).  Indeed if you don’t improve quality and remove bugs you are going to have problems doing Agile.  If you do improve quality - fewer bugs - then &lt;a href="http://allankelly.blogspot.com/2011/02/more-facts-and-figures-from-capers.html"&gt;the evidence suggests you will &lt;/a&gt;have shorter schedules, i.e. you will go faster.&lt;br /&gt;&lt;br /&gt;Better suited to need: again, Yes.  If those who made the requests are seeing something sooner, and having their views on functionality taken into consideration then one would expect the final product to be better suited to need.&lt;br /&gt;&lt;br /&gt;More fully filling initial request: No, complying with “better suited to need” means we are not aiming to build the thing we first thought of but rather build the thing we need to satisfy the need.&lt;br /&gt;&lt;br /&gt;So, if your criteria for success, for better, means complying with a requirements document that was frozen at some arbitrary point in time then No, Agile falls at this hurdle.&lt;br /&gt;&lt;br /&gt;Cheaper: again there is a short run and a long run dimension here.&lt;br /&gt;&lt;br /&gt;In the short run the development team need training, coaching and time to practice.  Of course you could skip the training and coaching (plenty of teams do) but that means they will need more time to practice (make more mistakes, go down a few dead ends, etc.)  Practice time costs.&lt;br /&gt;&lt;br /&gt;In the short run I don’t think Agile is cheaper.  Indeed, in the short run, if you are doing it properly you will see expenses rise as you have the likes of &lt;a href="http://www.softwarestrategy.co.uk/"&gt;me come to train and coach your teams&lt;/a&gt;.  (If you are not doing it properly you probably won’t see your costs rise but they will all the same as teams (slowly) learn by themselves.)&lt;br /&gt;&lt;br /&gt;In the longer run, when you’ve finished the training, coaching and when the team are proficient then those extra costs will be gone and you should be cost neutral as least.  But if you are not writing, finding and fixing so many bugs, and if parts of the requirements are being left undone - while satisfying your business customer - then costs should fall because you are expending less effort and doing less work.&lt;br /&gt;&lt;br /&gt;Even if you are not doing less work costs should fall because on a software project costs are dominated by the number of people you have multiplied by the time you have them.  If you are going faster then time is reduced and costs come down.&lt;br /&gt;&lt;br /&gt;Therefore the project will be cheaper. &lt;br /&gt;&lt;br /&gt;Summary: Better (fewer bugs) provides for Faster (delivery) which results in Cheaper (software).&lt;br /&gt;&lt;br /&gt;Agile is “Faster Better Cheaper”, QED.&lt;br /&gt;&lt;br /&gt;When you put it like that “Faster Better Cheaper” looks axiomatic over the long run.&lt;br /&gt;&lt;br /&gt;The engineer in me hates this conclusion, I’m not prepared to accept it but if I follow the logic it is true.  (The engineer in me would love someone to find a flaw in my logic so please go for it!  Shoot me down!)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note&lt;/strong&gt; the three assumptions in this logic:&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;The reference point is the “Waterfall” model of development&lt;/li&gt;&lt;li&gt;Your definition of better considers a low-bug count important and emphasis fitness for purpose over conformance with initial requirements&lt;/li&gt;&lt;li&gt;Your are prepared to spend in the short run for quality (defect prevention) to save in the long run&lt;/li&gt;&lt;/ul&gt;How can we explain this? (Notice the change from ‘I’ to ‘We’, I’m pulling you into the conspiracy.)&lt;br /&gt;&lt;br /&gt;Well, if this is true then its not so much that Agile is “Faster Better Cheaper” but that the model we are comparing it with - the traditional (“waterfall”) model - is so utterly broken.&lt;br /&gt;&lt;br /&gt;Waterfall breaks Faster Better Cheaper everywhere:&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Waterfall leads to large batch sizes and economies of scale thinking: in software development there are dis-economies of scale so large batch sizes makes everything slower &lt;/li&gt;&lt;li&gt;Waterfall project managers believe quality (bugs) can be traded off against time but actually the opposite is true.  Reducing quality reduces “better” and slows a work down.  The same project managers are trained to resist requirements change so almost guaranteeing business customers will be dissatisfied with what is delivered and consider it “worse.”&lt;/li&gt;&lt;li&gt;Slowing software development down makes it more expensive, remember: Cost = People x Time&lt;/li&gt;&lt;/ul&gt;Its not so much that Agile is a good model but that the competition is hopeless.  It isn’t even a fair comparison.  My belief is that Waterfall never really worked anyway, so comparing Agile to Waterfall is a false comparison - bang goes a big assumption.  &lt;br /&gt;&lt;br /&gt;In which case the, returning to the original question: “Is Agile Faster Better Cheaper?” the answer is really “Depends on what you are comparing it to.”&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-4529644831232823031?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/4529644831232823031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/08/is-better-cheaper-axiomatic-in-agile.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4529644831232823031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4529644831232823031'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/08/is-better-cheaper-axiomatic-in-agile.html' title='Is &amp;quot;Faster Better Cheaper&amp;quot; axiomatic in Agile?'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-3336284968515672720</id><published>2011-08-15T10:07:00.000+01:00</published><updated>2011-08-15T16:16:13.185+01:00</updated><title type='text'>Dialogue sheet observations</title><content type='html'>Regular readers will know I’ve been pushing &lt;a href="http://allankelly.blogspot.com/search?q=dialogue+sheets"&gt;Dialogue Sheets&lt;/a&gt; as a new retrospective technique.  I have observed a number of dialogue sheet sessions - both the &lt;a href="http://www.dialoguesheets.com"&gt;retrospective sheets I’ve made public&lt;/a&gt; plus some other sheets I’m still testing.  Someone from Motorola Mobility recently asked for my observations on using dialogue sheets and I thought it would be a good opportunity to make my observations public.&lt;br /&gt;&lt;br /&gt;As a facilitator I find there is very little for me to do, the sheets are designed to be used without a facilitator.  As an observer I have been asked to intervene occasionally.  Usually I try to say nothing, if the group is willing they can usually work out what to do themselves.  When people in the group are either suspicious (something new) or unsure about the retrospective they usually need a few words of explanation.&lt;br /&gt;&lt;br /&gt;The most common sticking point is &lt;a href="http://www.retrospectives.com/pages/retroPrimeDirective.html"&gt;Kerth's Prime Directive&lt;/a&gt;.  Some people seem unwilling to accept it for the duration of the retrospective.  They start making comments about how they don't think people did not do their best.&lt;br /&gt;&lt;br /&gt;I don't like stepping in when this happens because I think the group needs to come to an understanding themselves.  This eventually happens even if it is something like "well we kind of ignore that" but it can take a while.&lt;br /&gt;&lt;br /&gt;The second thing I have noticed is time:  It is not how many questions there are on the sheet that determine how long the retrospective will take but the number of people involved.  When there are 4 people it is quite fast, when it is 8 it takes longer.  So far I haven't found a good rule of thumb for determining just how long the sheet will take.&lt;br /&gt;&lt;br /&gt;Sometimes I intervene to just remind people of the time and move them along.&lt;br /&gt;&lt;br /&gt;The other bit which can be difficult is the end questions.  They are intended to bring the group to set of conclusions which they can act on.  Still sometimes the items are "Better communication" which while right isn't very specific or actionable.&lt;br /&gt;&lt;br /&gt;There have been plenty of dialogue sheets downloads now and I occasionally e-mail downloaders for feedback.  Of those those who have used the sheets “energized” is the most common comment.&lt;br /&gt;&lt;br /&gt;I’m planning to revamp the three existing sheets and add one for project start-up.  I’ve also had a request to translate them into other languages - specifically German.  Once the revamp is complete I’ll start on some translations.  I’m also thinking of creating a mailing list for discussion dialogue sheets.&lt;br /&gt;&lt;br /&gt;If you haven’t looked at the &lt;a href="http://www.dialoguesheets.com"&gt;dialogue sheets they are free for download&lt;/a&gt;, and you can &lt;a href="https://marketplace.mimeo.com/software_strategy#name=0&amp;c=00000000-0000-0000-0000-000000000000"&gt;buy pre-printed dialogue sheets&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-3336284968515672720?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/3336284968515672720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/08/dialogue-sheet-observations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3336284968515672720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3336284968515672720'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/08/dialogue-sheet-observations.html' title='Dialogue sheet observations'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-4441807306407109562</id><published>2011-08-10T14:43:00.000+01:00</published><updated>2011-08-10T14:46:59.260+01:00</updated><title type='text'>Skills Matter talk postponed</title><content type='html'>Apologies to anyone who was planning on attending my &lt;a href="http://skillsmatter.com/podcast/home/agile-company/js-2191"&gt;“Objective Agility: What does it take to be an Agile company?” talk at Skills Matter&lt;/a&gt; tonight.  The presentation has been postponed until 1 September.&lt;br /&gt;&lt;br /&gt;Paul from Skills Matter and myself agonised this morning about postponing the talk.  We both wanted to go ahead but with recent events in London we thought it best to postponed until things were a little quieter.&lt;br /&gt;&lt;br /&gt;Quite a few people were booked for the event, I hope you can all make it for September, and those of you who couldn’t make it, we’ll you can come too!&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-4441807306407109562?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/4441807306407109562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/08/skills-matter-talk-postponed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4441807306407109562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4441807306407109562'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/08/skills-matter-talk-postponed.html' title='Skills Matter talk postponed'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-8810770879732125805</id><published>2011-07-21T14:13:00.009+01:00</published><updated>2011-07-21T14:23:24.604+01:00</updated><title type='text'>Xanpan</title><content type='html'>For a little while now I’ve been quietly talking about my new Agile method.  The clue is in the name: Xanpan - pronounced “Zanpan”.  Most obviously Kanban and XP (Extreme Programming), its a fusion.&lt;br /&gt;&lt;br /&gt;Its not so much than Xanpan has any new radical ideas in it, its more than it is a synthesis of ideas from several Agile methods plus my own.  It contains a fair chunk of what I would call “product management ideas”.&lt;br /&gt;&lt;br /&gt;&lt;img width="60%" src="http://www.allankelly.net/blogbits/Xanpan1.jpg"/&gt;&lt;br /&gt;Xanpan is a little more than that, in takes from Scrum as well as XP, and from Lean as well as Kanban, plus there are other ideas in too.&lt;br /&gt;&lt;br /&gt;&lt;img width="60%" src="http://www.allankelly.net/blogbits/Xanpan2.jpg"/&gt;&lt;br /&gt;&lt;br /&gt;I’ll write more about Xanpan in future but for now here are the essential features, and where it steals them from.  A little rough and ready but I wanted to share this and get some feedback.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;From Extreme Programming: The technical practices&lt;br /&gt;&lt;/strong&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Test Driven Development plus Automated Test Driven Development.  If you want to adopt BDD then go right ahead&lt;/li&gt;&lt;li&gt;Lightweight, near time code review, better still pair programming if developers are happy with it&lt;/li&gt;&lt;li&gt;Continuous integration: with tests and static analysis tools as part of the build system&lt;/li&gt;&lt;li&gt;Rough up front design: no up front design is wrong, but so too is design that takes weeks or months.  If you need a design session it is probably part of the planning meeting with all the developers around the whiteboard for an hour or maybe two&lt;/li&gt;&lt;li&gt;Refactoring to keep the code soft - its &lt;strong&gt;soft&lt;/strong&gt;ware, emphasis the &lt;strong&gt;soft&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Shared code ownership&lt;/li&gt;&lt;li&gt;Minimise documentation, accept tacit knowledge as part of the development process.&lt;/li&gt;&lt;li&gt;Velocity measurement and “yesterday’s weather” approach to deciding what to put in the next iteration&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;From Kanban: Process flow&lt;br /&gt;&lt;/strong&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Have a visual board to track progress&lt;/li&gt;&lt;li&gt;Divide the board into columns which represent you process - probably more than just: Todo, In Progress and Done.  Columns are usually come in pairs: a queue then a action which draws from the queue.  Work to improve the flow and change the columns as you go&lt;/li&gt;&lt;li&gt;Work in progress limits - usually on action queues, occasionally queues may be limited too&lt;/li&gt;&lt;li&gt;Improvement comes from improving flow&lt;/li&gt;&lt;li&gt;Minimise the time spent estimating, if possible abolish estimates and use statistically derived approximations, i.e. averages&lt;/li&gt;&lt;li&gt;Cumulative flow charts&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;From XP / Scrum: Process rhythm&lt;br /&gt;&lt;/strong&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Use iterations to establish a regular rhythm to the team&lt;/li&gt;&lt;li&gt;Iterations start with closing the previous one: review work done, update statistics, conduct a retrospective.  This is followed by a planning meeting: work is presented, estimated (if need be) and scheduled&lt;/li&gt;&lt;li&gt;Stand-up meetings where appropriate&lt;/li&gt;&lt;li&gt;Burn-down/up charts where appropriate&lt;/li&gt;&lt;li&gt;User Stories are the default requirements capture tool although Use Cases, Planguage and more informal approaches are acceptable too.  If using User Stories then do not use more than three levels of division&lt;/li&gt;&lt;/ul&gt;For task management Xanpan builds on &lt;a href="http://www.allankelly.net/static/writing/overload/BlueWhiteRed.pdf"&gt;Blue-White-Red&lt;/a&gt;, which is itself a XP/Scrum fusion.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;From Lean: Culture of improvement, Kaizen and Learning&lt;br /&gt;&lt;/strong&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Retrospectives are not enough: Leaders should undertake personal reflection&lt;/li&gt;&lt;li&gt;Rehearsal: Teams should undertake formal and informal training together; &lt;a href="http://www.masteringagilepractice.com/"&gt;deliberate practice as Kevlin Henney and Jon Jagger like to say&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Team Coach: Each team should have a coach, different coaches may focus on different things so there may be more than one coach.  Except in large teams (over 12 people) and in the early days of adoption the coach is usually not full time on a team.  The team is there to help the team adopt practices, learn and reflect.&lt;/li&gt;&lt;li&gt;Individuals have multiple skills and should all muck in, but there are specialists in some areas.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Somethings Xanpan doesn’t take:&lt;br /&gt;&lt;/strong&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Kanban’s stop the line quality control: sometimes it is appropriate, sometimes it isn’t.  Keep regular retrospectives, part of your rhythm&lt;/li&gt;&lt;li&gt;Scrum Master: teams will have a Manager or Project Managers, or may be lead by an non-commissioned manager, e.g. Team Leader, Technical Lead, or similar&lt;/li&gt;&lt;li&gt;Anti-manager ethos: Management is part of the solution, not the problem.  Unfortunately the quality of IT and development managers is general is poor; good management can be really powerful&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Something Xanpan doesn’t like but doesn’t outlaw (because it can’t):&lt;br /&gt;&lt;/strong&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Matrix management&lt;/li&gt;&lt;li&gt;Distributed teams, particularly teams in different timezones&lt;/li&gt;&lt;/ul&gt;Something I find missing in all Agile methods to date is the right balance between engineering and requirements.  Therefore....&lt;br /&gt;&lt;br /&gt;Xanpan broadly follows the &lt;a href="http://www.allankelly.net/static/writing/overload/Agile10StepModel.pdf"&gt;10 Step Requirements Model&lt;/a&gt; but recognises this model is not broad enough to cope with all scenarios.  No model ever will be.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;On requirements Xanpan believes:&lt;br /&gt;&lt;/strong&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;There should be a dedicated requirements role staffed by a trained/experienced Product Manager or Business Analyst; both is probably overkill&lt;/li&gt;&lt;li&gt;There should be a clear business case setting out why a team or project exists.  The business case is not a shopping list of features, nor is it a large document but it should allow someone to decide the work is finished&lt;/li&gt;&lt;li&gt;Customers are not the only stakeholders.  Each stakeholder will make their own judgement about the success or failure of work therefore each stakeholder needs to be considered&lt;/li&gt;&lt;li&gt;Evaluating the benefits of completed work is as important as deciding what work should be undertaken next.  There is no point to developing more software if the software that has been delivered so far is not valuable.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;And some more:&lt;br /&gt;&lt;/strong&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;If the team has an architect they should also code; the architects role is to help create a shared understanding of the architecture and educate less experienced team members.&lt;/li&gt;&lt;li&gt;Teams should be kept together and not broken up when work finishes or changes; bring the work to the team, not the team to the work&lt;/li&gt;&lt;li&gt;Block and impediments should be tracked to see which ones occur repeatedly.  If a team cannot resolve an impediment themselves then the leader or manager steps in, in effect it is the start of an escalation&lt;/li&gt;&lt;li&gt;There are three version of Xanpan: &lt;em&gt;Evolutionary, Incremental &lt;/em&gt;and &lt;em&gt;Iterative &lt;/em&gt;- these build on the ideas in my &lt;a href="http://www.allankelly.net/static/writing/overload/AgileSpectrum.pdf"&gt;Agile Spectrum article&lt;/a&gt;.  Iterative is the most compatible with existing corporate culture and project management methods - salami slice requirements; Evolutionary is the extreme - goal directed working&lt;/li&gt;&lt;li&gt;Xanpan adopts the three planning layers described in my &lt;a href="http://www.requirementsnetwork.com/node/2663"&gt;Three Plans for Agile&lt;/a&gt; article and encourages &lt;a href="Time for Goal Driven Projects"&gt;Goal Driven Projects&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Xanpan believe management has an important role to play in the development process (but a lot of development managers are not up to the job)&lt;/li&gt;&lt;li&gt;Whenever possible put bug-fixing in a separate stream of work; but staff it with the same people, rotate people&lt;/li&gt;&lt;li&gt;Keep teams together: bring the work to the team, rather than the team to the work&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Underlying it the Xanpan philosophy is about:&lt;br /&gt;&lt;/strong&gt;&lt;ul style="list-style-type: disc"&gt;&lt;br /&gt;&lt;li&gt;Quality is free: automate as much testing as you can, although you probably can’t automate 100%&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Prioritisation is vital and omnipresent: there is no such thing as too little time, just mis-understood priorities&lt;/li&gt;&lt;br /&gt;&lt;li&gt;People are key to good software development but there aren’t enough good people to go around, so we need to improve the people we have and help them work more effectively.  And we need to grow more good people&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Agile is not about what you do but what you achieve; measure outputs not inputs&lt;/li&gt;&lt;br /&gt;&lt;li&gt;You can always improve&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Customer/End user involvement is key to building a successful system.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Xanpan is a pick-n-mix of bits of various development methods and adopters are encouraged to continue the approach&lt;/li&gt;&lt;br /&gt;&lt;li&gt;No process or Methodology can cope with all situations, and if it could it would be too big to write down or learn, there adaptation is always required and people need to think&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The process should be changing, if you are doing Xanpan the same in six months as you do today you aren’t doing Xanpan&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-8810770879732125805?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/8810770879732125805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/07/xanpan.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8810770879732125805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8810770879732125805'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/07/xanpan.html' title='Xanpan'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-5435881816287163334</id><published>2011-07-18T18:28:00.005+01:00</published><updated>2011-07-18T18:30:28.452+01:00</updated><title type='text'>Cornwall nominated fror Agile awards</title><content type='html'>I’ve &lt;a href="http://twitter.com/#!/allankellynet"&gt;tweeted&lt;/a&gt; and &lt;a href="http://allankelly.blogspot.com/2011/05/light-touch-agile-coaching-in-cornish.html"&gt;blogged about the Cornwall Agile Programme&lt;/a&gt; before - something I like to call the ‘Cornish Software Mines’.  So it is with great pride that I’m please to announce that the programme has been nominated for an award.&lt;br /&gt;&lt;br /&gt;The Agile awards are presented as part of the &lt;a href="http://www.agileconference.org/"&gt;Agile Business Conference&lt;/a&gt; and ‘Agile Cornwall’ has been &lt;a href="http://www.agileawards.co.uk/NominationsReceived.html"&gt;nominated under the ‘Best use of Agile in the Public Sector’&lt;/a&gt; - officially the programme is part of the ‘Convergence Programme for Cornwall &amp; Isles of Scilly’ so the nomination is under this name.&lt;br /&gt;&lt;img width="40%" src="http://www.allankelly.net/blogbits/AANominated.jpg"&gt;&lt;br /&gt;&lt;br /&gt;This autumn I’ll be delivering a couple of case studies of the programme and the companies which have benefitted.  The first of these will be, fittingly, at the &lt;a href="http://www.agileonthebeach.com/"&gt;Agile on the Beach conference&lt;/a&gt; in Falmouth.  This isn’t a coincidence, the conference is a spin-off from the programme.  This will be the most comprehensive case study as it will include presentations from several of the companies who have benefitted from the programme.&lt;br /&gt;&lt;br /&gt;A few weeks later a cut down version of the case study will be appearing at the &lt;a href="http://www.agileconference.org/"&gt;Agile Business Conference&lt;/a&gt;.  If you miss it there I’m sure it will have another outing before long.&lt;br /&gt;&lt;br /&gt;In the meantime, I’ve posted a case study of the work I’ve done with &lt;a href="http://www.softwarestrategy.co.uk/clients/agilecoachingscsl.html"&gt;Sullivan Cuff Software on the Software Strategy website&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-5435881816287163334?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/5435881816287163334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/07/cornwall-nominated-fror-agile-awards.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/5435881816287163334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/5435881816287163334'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/07/cornwall-nominated-fror-agile-awards.html' title='Cornwall nominated fror Agile awards'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-934008104338117483</id><published>2011-07-12T14:10:00.011+01:00</published><updated>2011-07-12T14:36:29.956+01:00</updated><title type='text'>Retrospectives - common or not, a small survey</title><content type='html'>I’m still experimenting with &lt;a href="http://www.dialoguesheets.com"&gt;Dialogue Sheets for Retrospectives&lt;/a&gt; (&lt;a href="http://www.dialoguesheets.com"&gt;the download page&lt;/a&gt;, and my &lt;a href="http://allankelly.blogspot.com/2011/04/retrospective-dialogue-sheets.html"&gt;earlier blog entry&lt;/a&gt;) and so are other people.  Of the feedback I’ve had so far it has been overwhelmingly positive.  Perhaps people who aren’t positive don’t bother trying them.&lt;br /&gt;&lt;br /&gt;The sheets are free to download but I do request people register.  My objective here is to obtain more feedback.  Periodically, like today, I get the e-mail addresses of those who have downloaded and I send a polite note saying “Any feedback?”.&lt;br /&gt;&lt;br /&gt;In registering  I ask a couple of other questions.  One of these questions is: “How often do you hold a retrospective?”.  I thought it would be interesting to share the results of this data so far:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How often do you do a retrospective?&lt;/strong&gt;&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;38%&lt;/td&gt;&lt;td&gt;Every two weeks or more often&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;21%&lt;/td&gt;&lt;td&gt;Never&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;16%&lt;/td&gt;&lt;td&gt;At least once a month&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;15%&lt;/td&gt;&lt;td&gt;I am a retrospective facilitator and so hold many&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;6%&lt;/td&gt;&lt;td&gt;Rarely&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3%&lt;/td&gt;&lt;td&gt;At least once a quarter&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1%&lt;/td&gt;&lt;td&gt;About every six months&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;This is good to see, about 54% of people are holding retrospectives with the frequency you would expect from a Scrum, XP or other type of Agile team.  But sadly the second biggest group is never holding retrospectives, 21% of people.  And 10% are holding them rarely or very occasionally.&lt;br /&gt;&lt;br /&gt;Now think again, this data is not representative.  15% of people are not retrospective facilitators (e.g. Scrum Masters, Agile Coach, etc.).  The people who download these sheets have an interest in retrospectives, this group is self-selecting.&lt;br /&gt;&lt;br /&gt;The implications of this are that an awful lot less than 54% of people are doing retrospectives with anything near the frequency one should expect from an Agile team.  Given that retrospectives are the primary means of learning in an Agile team I suspect that means that an awful lot of teams are are not really practicing Agile as described in the books.&lt;br /&gt;&lt;br /&gt;I have long suspected that &lt;a href="http://www.agilejournal.com/component/content/774?task=view"&gt;retrospectives are actually one of the more advanced Agile techniques&lt;/a&gt; and are far from common.  I think this data supports that argument, but at the same time I think they are more common than I tended to think, maybe thats the progress of 3 years.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-934008104338117483?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/934008104338117483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/07/retrospectives-common-or-not-small.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/934008104338117483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/934008104338117483'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/07/retrospectives-common-or-not-small.html' title='Retrospectives - common or not, a small survey'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-4694916875013071540</id><published>2011-07-05T22:01:00.001+01:00</published><updated>2011-07-05T22:02:23.689+01:00</updated><title type='text'>Abandon Hope all ye who enter Agile</title><content type='html'>Earlier this week I had a conversation with &lt;a href="http://benjaminmitchell.wordpress.com/"&gt;Benjamin Mitchell&lt;/a&gt; about an entrepreneur he’d done some work with.  Benjamin had been suggesting a lean start-up approach to the business in which the entrepreneur worked to validate his business idea early and gradually build the product one validated step at a time.&lt;br /&gt;&lt;br /&gt;Things didn’t go well, the understanding I came to from Benjamin’s story - although his might be different - was that the entrepreneur was very attached his business idea.  It was pretty well formed and he could imagine it working.  In popular culture entrepreneurs are often seen as iconoclasts who battle doubters, naysayers and banks to bring their ideas to life against the odds.  Benjamin was just another doubter.&lt;br /&gt;&lt;br /&gt;Now I tend to agree with Benjamin’s approach because it is very difficult to tell if a new business idea, indeed any project, will work until you try to build it.  But building it is expensive so I advocate a “Try, fail fast, fail cheap, move on to the next thing” approach - I don’t think this is that different to lean start-up thinking but as I’ve not read the lean start-up book I don’t really know.&lt;br /&gt;&lt;br /&gt;I don’t just advocate this approach for new businesses, I advise it for established businesses embarking on a project.  My logic is: you can’t be sure a product will work in the market till you try it, nor can you plan a project until you know how fast (velocity) the team will work.  In fact, until the team trys to work together and build something you don’t have any data on which to project plans.  Making estimates without data is little better than guessing.&lt;br /&gt;&lt;br /&gt;Thus, I advise a Mao like approach to corporate projects, “let a thousand flowers bloom” - start multiple small projects, small teams and use portfolio review to remove those that don’t seem promising and reallocate resources to those which do seem promising - or launch more experiments.&lt;br /&gt;&lt;br /&gt;Unfortunately, like the entrepreneur, people get very attached to the idea of a project so it gets momentum.  Big corporations respond by only starting projects in which they have a high degree of confidence.  That means they do a lot of pre-project work - planning, designing, etc., this in turn makes it difficult and expensive to start projects, which in turn means that any project that does get started already has momentum.  And it means that once underway the project finds it difficult to cope with change.&lt;br /&gt;&lt;br /&gt;It seems to me that successful projects in corporations are often the result of one person who wants the project to happen and does what is necessary, not unlike entrepreneurs.  In both cases  a strong willed, capable, person makes something happen.  That person needs to be motivated, they need hope, they need ambition and hope.  Such people are going to kind who ignore naysayers and doubters.&lt;br /&gt;&lt;br /&gt;The Agile approach - try, gather data, evaluate, or my “fail fast, fail cheap, retry” approach are not going to go down well with the kind of pig-headed, obstinate, passionate, do-anything-it-takes, approach which has made many successful projects a success.  Quite the opposite.&lt;br /&gt;&lt;br /&gt;Interestingly Benjamin had another example of a company which does take the “fail fast, fail cheap, try again” approach and was staffed by passionate, hopeful, people.  From what he told me these people were passionate about the process as much as they were passionate about the products they tried.  They could accept regular failure of good ideas because they saw the process working, and perhaps more importantly, could transfer their hope to the next idea.  There was always a next idea.&lt;br /&gt;&lt;br /&gt;What I am saying is: Don’t rely on hope to get your projects done, use data - be empirical not emptional.&lt;br /&gt;&lt;br /&gt;Finally, I should say, that while I talked much of this over with Benjamin he would be the first to point out unvalidated steps in my thinking, and ungrounded assumptions I’ve made.  So maybe this entire entry is really a hypotheses.  The hypothesis is: &lt;br /&gt;&lt;br /&gt;“The trial and error approach of Agile is unlikely to please those who get passionate about an idea and want to move heaven and earth to make it happen.”&lt;br /&gt;&lt;br /&gt;I’ll let you, dear reader, decide for yourself on that hypotheses.  If you have any evidence - to support or disprove - my hypothesis please add a comment below.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-4694916875013071540?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/4694916875013071540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/07/abandon-hope-all-ye-who-enter-agile.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4694916875013071540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4694916875013071540'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/07/abandon-hope-all-ye-who-enter-agile.html' title='Abandon Hope all ye who enter Agile'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-1812324524489194211</id><published>2011-06-22T17:52:00.000+01:00</published><updated>2011-06-22T21:24:38.022+01:00</updated><title type='text'>When did Scrum start loving project managers?</title><content type='html'>One of the things I’ve always found paradoxical about Scrum (specifically Scrum&lt;span style="vertical-align: super;"&gt;TM&lt;/span&gt;) is its position on management.  On the one hand, Scrum is very management friendly - see my &lt;a href="http://allankelly.blogspot.com/2011/01/scrum-has-3-advantages-over-xp-but-xp.html"&gt;Scrum has Three Advantages over XP post&lt;/a&gt;.  Basically Scrum has done a very good job of marketing itself to managers.&lt;br /&gt;&lt;br /&gt;But Scrum is a little like a &lt;a href="http://orangecow.org/pythonet/sketches/crunchy.htm"&gt;Monty Python Spring Surprise&lt;/a&gt; - “that's our speciality - covered with darkest creamy chocolate. When you pop it in your mouth steel bolts spring out and plunge straight through-both cheeks.”&lt;br /&gt;&lt;br /&gt;Hidden inside the tasty Scrum case is a sometimes evangelical dislike of managers, and in particular project managers.  Take these excerpts from the Scrum Primer (Deemer and Benefield,  some versions have Larman as a co-author too):&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;“The ScrumMaster is not the manager of the team or a project manager; instead, the ScrumMaster serves the team, protects them from outside interference, and educates and guides the Product Owner and the team in the skilful use of Scrum.” &lt;/li&gt;&lt;li&gt; “unlike a project manager, the ScrumMaster does not tell people what to do or assign tasks – they facilitate the process, supporting the team as it organizes and manages itself. If the ScrumMaster was previously in a position managing the team, they will need to significantly change their mindset and style of interaction for the team to be successful with Scrum. In the case that an ex-manager transitions to the role of ScrumMaster, it is best to serve a team other than the one that previously reported to the manager, otherwise the social or power dynamics are in potential conflict.”&lt;/li&gt;&lt;li&gt;“Note there is no role of project manager in Scrum. Sometimes an (ex-)project manager can step into the role of ScrumMaster, but this has a mixed record of success – there is a&lt;/li&gt;&lt;li&gt;fundamental difference between the two roles, both in day-to-day responsibilities and in the mindset required to be successful. ”&lt;/li&gt;&lt;/ul&gt;Indeed I once sat in on a course entitled “Agile Project Management” by a well known Scrum trainer.  In response to the a question from a project manager “What does a project manager do in Scrum?” the answer was “If you have a project manager in Scrum you aren’t doing Scrum.”&lt;br /&gt;&lt;br /&gt;Take another example, Bas Vodde’s Nokia Test, the final question asks “are project managers (or anyone else) disrupting the work of the team?” Every time I show that question to a project manager we have to discuss it, project managers don’t generally believe they disrupt the team unreasonably.  It certainly looks like Bas doesn’t like Project Managers.&lt;br /&gt;&lt;br /&gt;A few years ago when &lt;a href="http://allankelly.blogspot.com/2009/05/thoughts-after-jeff-sutherland-at-accu.html"&gt;Jeff Sutherland spoke in London&lt;/a&gt; I recall him saying there was little future for project manager.  Many needed to revert to programming (which they had done before project management), a few would become Scrum Masters, a few Product Owners and a very few could continue being project managers on the largest projects.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jeffsutherland.com/scrumhandbook.pdf"&gt;Sutherland’s own Scrum Handbook&lt;/a&gt; seems pretty clear: “there is no team manager or project manager in Scrum.” (Actually, if you read what else the handbook says about project manager it looks like the text is taken directly from the Scrum Primer, Sutherland seems to feel the same way as Deemer, Benefield and Larman.)&lt;br /&gt;&lt;br /&gt;Given all the anti-manager, specifically anti-project manager project manager noise from some in the Scrum camp I found it surprising a couple of months ago when I noticed that Scrum Master Certificate now come with the implicit endorsement of the &lt;a href="http://www.pmi.org/"&gt;Project Management Institute&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;For example, take &lt;a href="http://skillsmatter.com/course/agile-scrum/martine-devos-scrum-master"&gt;Martine Devos’ London Scrum Master Course&lt;/a&gt;, it is worth 14 PMI Professional Development units.  &lt;a href="http://scrumfoundation.com/classes/show/538"&gt;Jeff Sutherland’s own Scrum Master&lt;/a&gt; course boast 16 PDUs (one assume these are PMI units although he doesn’t state so explicitly.)&lt;br /&gt;&lt;br /&gt;So, if the PMI are now crediting Scrum Master Courses, and the Scrum folks are making their courses compliant with PMI rules then one assumes that the two are reconciled.  Why would a project manager who is intent on being a Scrum Master, and therefore no longer being a project manager, want credits?&lt;br /&gt;&lt;br /&gt;Maybe Turkey’s are voting for Christmas.  It looks odd for me.&lt;br /&gt;&lt;br /&gt;Actually, to be fair to Scrum, the situation is a little more complex than I’ve laid out here.  Looking a little bit further into Scrum history we find the following.&lt;br /&gt;&lt;br /&gt;Schwaber and Beedle in &lt;a href="http://www.amazon.co.uk/gp/product/0132074893/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0132074893"&gt;Agile Software Development with Scrum&lt;/a&gt; say “The Scrum Master is a new management role introduced by Scrum” and a little later “The team leader, project leader or project manager often assume the Scrum Master role.”  This final statement describes what I have seen happen most often in practices.&lt;br /&gt;&lt;br /&gt;In &lt;a href="http://www.amazon.co.uk/gp/product/073561993X?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=073561993X"&gt;Agile Project Management withScrum&lt;/a&gt; Schwaber says “The Scrum Master fills the position normally occupied by the project manager.  I’ve taken the liberty of redefining the role.”&lt;br /&gt;&lt;br /&gt;One explanation might be that the view of the Project Manager has changed over time.  Initially the Scrum originators saw project managers as candidates for filling the Scrum Master role - or at least not the source of problems.  As Schwaber almost says: it is the same role filled in a different way.&lt;br /&gt;&lt;br /&gt;Later Project Managers, and maybe all managers, came to be seen as a problem, and, most recently as it becomes clear that Project Managers can be Scrum Masters and can be a force for good on a project the position has returned to the original view.&lt;br /&gt;&lt;br /&gt;Alternatively it might be there are multiple opinions on how Scrum and the Scrum Master relates to the traditional Project Manager role.  It benefits some people, at some times, to claim the Scrum Master is not a Project Manager.  And it benefits some people at other times to reconcile the two roles.&lt;br /&gt;&lt;br /&gt;One of the advantages of Scrum, specifically Scrum&lt;span style="vertical-align: super;"&gt;TM&lt;/span&gt;, is that is defines what is it, and is not, much more clearly than “Agile”.  However with time this picture is becoming muddied.&lt;br /&gt;&lt;br /&gt;Finally, this entry is a bit critical of Scrum, I won’t pretend it isn’t, but really, I’d like to understand what is going on here.  If anyone can shed some light on the thinking, whether it changed or not, please add a comment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-1812324524489194211?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/1812324524489194211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/06/when-did-scrum-start-loving-project.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1812324524489194211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1812324524489194211'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/06/when-did-scrum-start-loving-project.html' title='When did Scrum start loving project managers?'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-3574805221374740469</id><published>2011-06-02T19:25:00.000+01:00</published><updated>2011-06-02T19:26:22.556+01:00</updated><title type='text'>Agile on the Beach: Falmouth, September 15-16, 2011</title><content type='html'>I’ve mentioned some of the work I’ve been doing in Cornwall over the last eight or nine months in this blog a few times, and anyone who follows me on Twitter will have seen my Tweets about the “Cornish Software Mines.”  Well, one of the spin off of this work is a Cornish Agile Conference - &lt;a href="http://www.agileonthebeach.com/"&gt;Agile on the Beach&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Agile on the Beach is happening in Falmouth on Thursday 15 and 16 September 2011.  Speakers include: Kevlin Henney, Tom and Mary Poppendieck, Rachel Davies, Steve Freeman, Jon Jagger, Jason Gorman and &lt;a href="http://www.agileonthebeach.com/programme/speakers"&gt;quite a few more - see here.&lt;/a&gt;  Some more speakers will be announced nearer to the conference.&lt;br /&gt;&lt;br /&gt;Tickets went on sale today, early bird price is £230 - if you are quick you might get one of the limited number of £195 tickets available.&lt;br /&gt;&lt;br /&gt;The organisers (and yes, I’m one) hope that people attending the conference will take the opportunity to extend their visit to Cornwall into a long weekend.  After all, Cornwall is much better know as a holiday destination than a software development centre.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.agileonthebeach.com/home"&gt;All the details on the Agile on the Beach website&lt;/a&gt;.  In addition, if you plan to attend sign on to &lt;a href="http://events.linkedin.com/Agile-Beach/pub/669312"&gt;the LinkedIn group&lt;/a&gt; and you can see who else will be there.  More details are being announced all the time so to stay up with the latest announcements follow the &lt;a href="https://twitter.com/#!/search?q=#AgileOTB"&gt;Twitter hash tag #AgileOTB&lt;/a&gt; and &lt;a href="https://twitter.com/#!/Agileonthebeach"&gt;Twitter User @Agileonthebeach&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-3574805221374740469?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/3574805221374740469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/06/agile-on-beach-falmouth-september-15-16.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3574805221374740469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3574805221374740469'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/06/agile-on-beach-falmouth-september-15-16.html' title='Agile on the Beach: Falmouth, September 15-16, 2011'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-4198139301706539393</id><published>2011-06-02T19:10:00.000+01:00</published><updated>2011-06-02T19:17:57.248+01:00</updated><title type='text'>Parrot cages, the true story</title><content type='html'>I heard this story a few months ago from &lt;a href="http://blog.benjaminm.net/"&gt;Benjamin Mitchell&lt;/a&gt;, it is good and I wanted to believe it so I did.  (Benjamin by the way tells it with a good deal more embellishment.)&lt;br /&gt;&lt;br /&gt;Anyone who has had a course from me in the last six months has probably heard me retell the story with a large health warning saying “I’ve heard this story, I believe it but I don’t have a source to prove it.”&lt;br /&gt;&lt;br /&gt;Now, &lt;a href="http://www.uknetweb.com/team/toby-parkins.php"&gt;Toby Parkins&lt;/a&gt; has tracked down the link. So here it is: &lt;a href="http://www.bbc.co.uk/news/business-11495839"&gt;Parrot cages, the true story&lt;/a&gt;, care of the BBC - so it must be true! &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-4198139301706539393?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/4198139301706539393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/06/parrot-cages-true-story.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4198139301706539393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4198139301706539393'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/06/parrot-cages-true-story.html' title='Parrot cages, the true story'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-6940065358176774627</id><published>2011-05-05T15:46:00.000+01:00</published><updated>2011-05-05T15:51:50.139+01:00</updated><title type='text'>Dialogue Sheets at Skills Matter - 19 May, 6.30pm, free</title><content type='html'>I’ve blogged before about the &lt;a href="http://www.dialoguesheets.com/"&gt;Retrospective Dialogue Sheet technique&lt;/a&gt;.  Later this month I’m doing a &lt;a href="http://skillsmatter.com/event/agile-scrum/dialogue-sheets"&gt;Skills Matter &lt;em&gt;In the Brain Session&lt;/em&gt;&lt;/a&gt; about this technique.  This will last about an hour to an hour and half and is free for all to attend, register at the Skills Matter website.&lt;br /&gt;&lt;br /&gt;I won’t actually be doing much talking, I’m bringing along some specially created dialogue sheets which will give everyone an brief experience of holding a retrospective using dialogue sheets.&lt;br /&gt;&lt;br /&gt;For more information about dialogue sheets see &lt;a href="http://allankelly.blogspot.com/2011/04/retrospective-dialogue-sheets.html"&gt;my previous blog entry&lt;/a&gt;, or the &lt;a href="http://www.dialoguesheets.com"&gt;www.dialoguesheets.com&lt;/a&gt; website.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-6940065358176774627?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/6940065358176774627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/05/dialogue-sheets-at-skills-matter-19-may.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/6940065358176774627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/6940065358176774627'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/05/dialogue-sheets-at-skills-matter-19-may.html' title='Dialogue Sheets at Skills Matter - 19 May, 6.30pm, free'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-8068176045672699660</id><published>2011-05-04T16:29:00.000+01:00</published><updated>2011-05-04T17:41:54.621+01:00</updated><title type='text'>Light Touch Agile Coaching in the Cornish Software Mines</title><content type='html'>I’m off to Cornwall again next week for my monthly visit.  Anyone who follows me on &lt;a href="http://twitter.com/#!/allankellynet"&gt;Twitter (allankellynet)&lt;/a&gt; may have noticed that every few weeks I put out a few tweets along the lines of “On my way to the Cornish Software Mines again”.  They may not actually dig source code out of the ground in Cornwall but there are some very active software companies there.&lt;br /&gt;&lt;br /&gt;Under the auspicious of &lt;a href="http://www.growcornwall.co.uk/"&gt;Grow Cornwall&lt;/a&gt; I have been in providing Agile coaching to several companies as part of an Agile programme designed to bring better development practices to multiple companies.  To date six companies have been part of the programme to some degree and next week we are adding some more. &lt;br /&gt;&lt;br /&gt;In the next few months I hope more of this work will come into the public domain as articles and case studies.  There are even plans to hold an Agile conference in Falmouth, to be named &lt;em&gt;Agile on the Beach&lt;/em&gt;.  (More to follow soon.)&lt;br /&gt;&lt;br /&gt;This engagement has really given me a chance to think about my coaching style and develop some techniques and approaches which I’ve thought about in the past but not really codified.  One of these I call &lt;em&gt;&lt;strong&gt;Light Touch Agile Coaching&lt;/strong&gt;&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Many description of Agile Coaching assume a full time coach.  Scrum specifically just about mandates a full time Scrum Master for each time.  The Scrum Master is closest Scrum gets to an Agile Coach, indeed, some people would see them as the same thing.  I don’t, and thats worth a full article in its own right but not today.&lt;br /&gt;&lt;br /&gt;In Cornwall there are three companies I’ve be working with more than others and a clear pattern to the work has emerged.  It goes something like this:&lt;br /&gt;&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Companies joining the programme receive a training course over two days, preferably offsite.  This has worked best when the net is spread wide and the whole development team and managers are involved.&lt;/li&gt;&lt;li&gt;The team are allowed a little time to digest this then asked: &lt;em&gt;do you still want to try Agile?  &lt;/em&gt;The programme is designed with the expectation that they say Yes, in which case the coaching begins.  If they say No then fair enough, its is there decision.&lt;/li&gt;&lt;li&gt;I visit once a month, I spend between half a day and two days with the team.  How much time I spend depends on the size of the team and the company, how long I have been working with them, and the particular set of problems they are faced with.&lt;/li&gt;&lt;li&gt;My visit usually starts with an inspection of the white board - call it a Kanban board or an Information Radiator if you prefer - its the board with all the work on  it.&lt;/li&gt;&lt;li&gt;I read the board, I ask question, I get asked questions, I understand the state of play and get an idea on what needs addressing.&lt;/li&gt;&lt;li&gt;Sometimes, some places, I sit down with a manager and talk about the last month.  What has happened, what progress they have made, what understandings they have reached, what has puzzled them, how the team have performed, and so on.&lt;/li&gt;&lt;li&gt;Next I sit down with the development team and conduct a similar type of exercise.  Sometimes the teams have conducted their own retrospective and I review that, other times this exercise takes on elements of a retrospective.&lt;/li&gt;&lt;li&gt;(One of my challenges is to make all the teams proficient with retrospectives so when my work is finished they can continue themselves.)&lt;/li&gt;&lt;li&gt;In some companies I sit with the marketing group for a conversation too.  All the companies I’m working with develop software for external customers and some of them have marketing teams.  As the development teams have become more effective a lot of my focus has shifted to marrying up marketing with development so the right thing gets built.&lt;/li&gt;&lt;li&gt;During the course of these meetings I start to construct a list of “Expected next time”: things they managers and teams tell me they will change, or things they will put in place for my next visit.  Naturally, as a I talk to people I’m also looking through the last “Expected next time” list and seeing how the team have done.&lt;/li&gt;&lt;li&gt;I started doing the “Next time” list for my own benefit but I’m open about it with the teams and it has become a useful little tool in both tracking whats changing and getting commitment form the teams.&lt;/li&gt;&lt;/ul&gt;I like this light touch approach.  On the whole it has worked well, I get to help the managers and teams while they keep responsibility and feel ownership.  Yes, there are cases were I wish I had been there more frequently, and there are cases where I feel I could just step in and fix it far more quickly, but that is not my role.&lt;br /&gt;&lt;br /&gt;While I’ve concentrated on Agile processes and management (both product and more company) coaching we have also introduced more technical coaching.  &lt;a href="http://www.jaggersoft.com/"&gt;Jon Jagger&lt;/a&gt; and &lt;a href="http://www.leanagilepartners.com/"&gt;Nancy Van Schooenderwoert&lt;/a&gt; have helped out here.  They have taken a similar light touch approach.  In Jon’s case he normally spends his time pairing with the developers on his visit while Nancy works remotely.&lt;br /&gt;&lt;br /&gt;There are some variations to the approach outlined above, things haven’t always gone smoothly and one company dropped out of the programme right after the training.  But, on the whole it is working and working well.&lt;br /&gt;&lt;br /&gt;Some successes to date:&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;One company develops a software product for doctors, they recently received ISO-13485 using an Agile process I helped them develop.  &lt;a href="http://www.iso.org/iso/catalogue_detail?csnumber=36786"&gt;ISO-13485&lt;/a&gt;, for those who don’t know, is a standard based on ISO-9000 which certifies a company to create medical devices.&lt;/li&gt;&lt;li&gt;The day after completing TDD training with Jon Jagger one team wrote a unit test which found a bug in their live system.&lt;/li&gt;&lt;li&gt;One manager when asked “So this estimation process and charts are more accurate than the way you used to do it?” replied “This isn’t estimation, that is Mystic Meg stuff, this is science, I know when we will deliver.”&lt;/li&gt;&lt;li&gt;By adopting Agile one company has won, and is successfully working on, a new website for one of the worlds largest telecom’s companies.  The same company has now spawned a spin-off which is born Agile and will work with the same telco in a contract worth over a quarter of a million pounds.&lt;/li&gt;&lt;li&gt;The three companies I am working with have all been strong enough to hire new staff in this year.&lt;/li&gt;&lt;/ul&gt;I’m not saying that light touch coaching will work in every case - indeed, at one of the Cornish companies we decided they needed a more intensive programme.  I do think that this is a model that can be used elsewhere.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-8068176045672699660?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/8068176045672699660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/05/light-touch-agile-coaching-in-cornish.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8068176045672699660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8068176045672699660'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/05/light-touch-agile-coaching-in-cornish.html' title='Light Touch Agile Coaching in the Cornish Software Mines'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-6585862011127227935</id><published>2011-05-03T08:19:00.000+01:00</published><updated>2011-05-03T08:23:54.501+01:00</updated><title type='text'>Public training 18-20 May</title><content type='html'>I’m giving a public training course at Skills Matter in London in a couple of weeks, 18-20 May.  This is the &lt;a href="http://skillsmatter.com/course/agile-scrum/allan-kelly-chris-matts-agile-business-analysts-scrum"&gt;Agile Foundations course specifically for Business Analysts&lt;/a&gt;.  If you are not a BA I’m sure you will find it useful and interesting; you’ll just get a bit more on the requirements and Product Owner side of things than the vanilla version.&lt;br /&gt;&lt;br /&gt;As it happens, I don’t give that many public courses, mostly they are private courses for specific companies or invited audiences - like the one I’m doing next week.  So this is one of the few occasions to just turn up.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-6585862011127227935?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/6585862011127227935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/05/public-training-18-20-may.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/6585862011127227935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/6585862011127227935'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/05/public-training-18-20-may.html' title='Public training 18-20 May'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-2445184701577846173</id><published>2011-04-28T15:28:00.000+01:00</published><updated>2011-04-28T15:34:36.047+01:00</updated><title type='text'>Quiet blog - Business Patterns for Software Developers in progress</title><content type='html'>Just a brief note to explain why this blog has been a bit quiet lately.&lt;br /&gt;&lt;br /&gt;Two reasons.&lt;br /&gt;&lt;br /&gt;Anyone who has seen me in the last 5-6 weeks will know we had a big family event four 4 weeks ago.  So a lot of my time is going in that directions.&lt;br /&gt;&lt;br /&gt;And second, about the time, I finally signed the contract to write “Business Patterns for Software Developers.”  The &lt;a href="http://www.allankelly.net/patterns/business.html"&gt;business strategy patterns&lt;/a&gt; I have been writing and bringing to conferences for the last six or seven years are finally going to be made into a book.&lt;br /&gt;&lt;br /&gt;So, most of my spare time is absorbed by getting the book project rolling.  Fortunately most of the text is written but there are still gaps.  Plus there is a lot of editing and reviewing to do.&lt;br /&gt;&lt;br /&gt;The text of the book is due to be finished in September and the book in the shops in January.  Expect to see if on Amazon long before then, once the ISBN number is issued it is in the catalogues and will be picked up by online retailers.&lt;br /&gt;&lt;br /&gt;Exciting times.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-2445184701577846173?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/2445184701577846173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/04/quiet-blog-business-patterns-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2445184701577846173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2445184701577846173'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/04/quiet-blog-business-patterns-for.html' title='Quiet blog - Business Patterns for Software Developers in progress'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-2614818451349645352</id><published>2011-04-15T19:03:00.000+01:00</published><updated>2011-04-15T19:05:35.093+01:00</updated><title type='text'>Slides from ACCU 2011 - 10 Step Model for Agile Requirements</title><content type='html'>The slides from my presentation at ACCU 2011 conference today are available online, the &lt;a href="http://www.allankelly.net/static/presentations/accu2011/10StepModel.pdf"&gt;Agile Requirements 10 Step Model&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-2614818451349645352?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/2614818451349645352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/04/slides-from-accu-2011-10-step-model-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2614818451349645352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2614818451349645352'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/04/slides-from-accu-2011-10-step-model-for.html' title='Slides from ACCU 2011 - 10 Step Model for Agile Requirements'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-1039525597365902680</id><published>2011-04-15T10:52:00.000+01:00</published><updated>2011-04-15T10:52:00.083+01:00</updated><title type='text'>Retrospective Dialogue Sheets</title><content type='html'>I’m at &lt;a href="http://accu.org/index.php/conferences"&gt;ACCU 2011&lt;/a&gt; this week, in my lightening talk I publicly unveiled, for the first time, &lt;strong&gt;Retrospective Dialogue Sheets&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;I have been experimenting with dialogue sheets at conferences for a few years now.  For a long time my aim has been to use them for team retrospectives.  I’ve now produced a few variations and tested them with some teams.  Still I need to do more tests, so I’m looking for volunteers.&lt;br /&gt;&lt;br /&gt;I’m making these dialogue sheets available as a community resource, without charge.  However, there is a catch: you need a large printer (A1 size) to print them.  So I’ve set-up a print-on-demand service where you can buy printed versions.&lt;br /&gt;&lt;br /&gt;Right now you can:&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;&lt;a href="http://www.allankelly.net/presentations/spa2008.html"&gt;See examines of previous dialogue sheets and exercises&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.dialoguesheets.com"&gt;Read more about retrospective dialogue sheets, www.dialoguesheets.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwarestrategy.co.uk/dlgsheets/download.html"&gt;Download a retrospective dialogue sheets&lt;/a&gt; to print use with you team&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwarestrategy.co.uk/dlgsheets/download.html"&gt;Buy printed dialogue sheets&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;If you do try one of these sheets please e-mail me and let me know about your experiences.&lt;br /&gt;&lt;br /&gt;Finally, I’m still looking for volunteers who will let me watch teams using these sheets.  I’m happy to give teams printed dialogue sheets for free if you will let me observe the team doing the exercise.  If you can help, &lt;a href="mailto:allan@allankelly.net"&gt;please e-mail me&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-1039525597365902680?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/1039525597365902680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/04/retrospective-dialogue-sheets.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1039525597365902680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1039525597365902680'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/04/retrospective-dialogue-sheets.html' title='Retrospective Dialogue Sheets'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-5588939217749235642</id><published>2011-03-30T18:36:00.001+01:00</published><updated>2011-03-31T19:09:26.097+01:00</updated><title type='text'>Strategic Staffing, Or, How many people should I put on this (Agile) project?</title><content type='html'>One of the questions that comes up again and again in the context of Agile work is “How do I know how many people to put on this project?”&lt;br /&gt;&lt;br /&gt;(I’m using the word ‘Project’ in the loosest sense, think “piece of work”)&lt;br /&gt;&lt;br /&gt;My usual answer is: Staff Strategically, allocate people to a piece of work in relation to how important this piece of work is relative to everything else you are trying to do.  Keep teams together for as long as possible, only make small, gradual changes to teams over time.&lt;br /&gt;&lt;br /&gt;This isn’t really a problem when work is underway, you simply sum up the ball-park estimates on the work remaining (in abstract points), measure the velocity (again in abstract points), divide total by the velocity and if you get an answer you like then all is well.  If the answer is not soon enough you can (gradually) add more people, and if the answer is very good you might even slow down.&lt;br /&gt;&lt;br /&gt;However, the problem really comes when you are starting a piece of work.  Particularly if you are bidding on a contract to do work for someone else.  The problem occurs because without any data (velocity, sum of outstanding work) you can’t estimate when you will be done, and without doing the work you can’t get any data.&lt;br /&gt;&lt;br /&gt;Rule 1: Without data you can’t forecast anything so don’t pretend you can.&lt;br /&gt;&lt;br /&gt;So, what do you do?&lt;br /&gt;&lt;br /&gt;Option 1 is to pretend you aren’t doing Agile; use whatever methods and techniques you’ve used before, get an estimate (or maybe more of a guess) on how many people you need for how long then get started with those numbers.  As soon as you start throw away the plans.  Wing it for an couple of iterations, by then you have the data and can re-plan.&lt;br /&gt;&lt;br /&gt;Not a perfect solution but one that could work.&lt;br /&gt;&lt;br /&gt;Option 2 is to just start.  Start as small as you can, I think two people is about as small as you can get - below that you are into the realm of micro-projects which have their own dynamics.&lt;br /&gt;&lt;br /&gt;Let this mini-team run for a few iterations and then, as if by magic, you have data.&lt;br /&gt;&lt;br /&gt;Once you have data you can: keep as is, grown, shrink or cancel entirely.&lt;br /&gt;&lt;br /&gt;Rule 2: Start small, get data, grow later&lt;br /&gt;&lt;br /&gt;Starting small is essential because it reduces risk and because it minimises the momentum which can make it difficult to cancel work.&lt;br /&gt;&lt;br /&gt;It also minimises the influence of &lt;a href="http://en.wikipedia.org/wiki/Conway's_Law"&gt;Conway’s Law&lt;/a&gt;: “every organization will produce systems which are a copy of the communication paths in the organization.”&lt;br /&gt;&lt;br /&gt;If you start with a big team you will get a big project - allocate a C# developer, a DBA and a UI designer and you’ll get a three-tier architecture.  If you start small you should get a small project.&lt;br /&gt;&lt;br /&gt;In the longer term how you staff a project is less a function of “How many people do I need to do this work?” and more a question of “How many people can I afford to do this work?”&lt;br /&gt;&lt;br /&gt;Projects are never really staffed on a “how many people do I need” basis, we just pretend they are.  Writing today, March 2011, you will probably put more people on a piece of work than you would 18 months ago, but fewer than you would have three years ago.&lt;br /&gt;&lt;br /&gt;Rule 3: Staff work strategically relative to the other work to be done and corporate priorities, rebalance only occasionally&lt;br /&gt;&lt;br /&gt;Strategic staffing means looking at how any one piece of work stacks up against the other pieces of work in play - or proposed - and the resources that are available to use.  It means considering: what is the benefit of a piece of work?  What is the risk?  What work absolutely must be done, and what work can be left undone?  What work is experimental?&lt;br /&gt;&lt;br /&gt;The trick is to arrange work so teams can grown, or shrink, as resources and priorities change.&lt;br /&gt;&lt;br /&gt;That is not a recipe for changing team composition every week.  Indeed, the general principle should be: keep teams together and consistent for as long as possible.  Only change teams occasionally, and only grow teams slowly.&lt;br /&gt;&lt;br /&gt;However, things do change and work needs rebalancing.  This should be an active, measured, and occasional process.  Better to change staff allocations once a quarter in a review meeting than every week as a knee-jerk reaction.&lt;br /&gt;&lt;br /&gt;That is what strategic staffing is.  If you find yourself changing staff allocations every few weeks in response to events you aren’t working strategically.&lt;br /&gt;&lt;br /&gt;As for deciding how many people to put on a piece of work when you are bidding for a contract, well, its another argument for constructing contracts as ongoing, &lt;a href="http://www.infoq.com/articles/agile-contracts"&gt;rolling contracts&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Telling your client: “We think we need six people for six months” is little better than lying if you don’t have data to back it up.  Have these six people worked together before? How productive will they be with the client’s environment?  With the clients requirements?  What work might emerge?&lt;br /&gt;&lt;br /&gt;Better to tell the client: “We propose to start with three people for three months, at the end of that time we will review progress with you and decide with you, when we have data, whether to increase or decrease staffing.  If you want to move faster than we can allocate four people and review after one month.”&lt;br /&gt;&lt;br /&gt;It might not be what your client wants to hear but it sure beats guessing, or lying. Involve your customer, give them choices.  It might not be a great sales technique but if the client won’t engage in this conversation there are probably other conversations they won’t have either.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-5588939217749235642?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/5588939217749235642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/03/strategic-staffing-or-how-many-people.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/5588939217749235642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/5588939217749235642'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/03/strategic-staffing-or-how-many-people.html' title='Strategic Staffing, Or, How many people should I put on this (Agile) project?'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-6103956373189454454</id><published>2011-03-23T10:08:00.001Z</published><updated>2011-03-23T10:08:47.987Z</updated><title type='text'>Final roundup of facts from Capers Jones</title><content type='html'>In two previous entries I’ve reported some interesting statistics and findings - possibly facts - from Capers Jones book &lt;a href="http://www.amazon.co.uk/gp/product/0071502440?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0071502440"&gt;Applied Software Measurement&lt;/a&gt; (see &lt;a href="http://allankelly.blogspot.com/2011/01/software-facts-well-numbers-at-least.html"&gt;Software Facts - well, numbers at least&lt;/a&gt; and &lt;a href="http://allankelly.blogspot.com/2011/02/more-facts-and-figures-from-capers.html"&gt;More Facts and Figures from Capers Jones&lt;/a&gt;).  I want to finish off with a few notes from the later chapters of the book.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;On packaged software&lt;br /&gt;&lt;/strong&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Modifications to existing COTS package - I assume he includes SAP and Oracle here - is high-risk with low productivity&lt;/li&gt;&lt;li&gt;When changes exceed 25% it may be cheaper to write from scratch.  (I’m not sure what it is 25% of, total size of the package, 25% of function points, 25% of features?)&lt;/li&gt;&lt;li&gt;Packages over 100,000 function points (approximately 1m lines of code) usually have poor bug removal rates, below 90%&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;On management&lt;br /&gt;&lt;/strong&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Jones supports my frequent comment that comes redundancies and downsizing Test and QA staff are among the first to be let go&lt;/li&gt;&lt;li&gt;Projects organised using matrix management have a much higher probability of being cancelled or running out of control&lt;/li&gt;&lt;li&gt;Up to 40%(even 50%) of effort is unrecorded in standard tracking systems &lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;On defects/fault&lt;/strong&gt;&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;“Defect removal for internal software is almost universally inadequate”&lt;/li&gt;&lt;li&gt;“Defect removal is often the most expensive single software activity”&lt;/li&gt;&lt;li&gt;WIthout improving software quality it is not possible to make significant improve to productivity&lt;/li&gt;&lt;li&gt;“Modifying well-structured code is more than twice as productive as modifying older unstructured software” - when he says this I assume he doesn’t mean “structured programming” but rather “well designed code”&lt;/li&gt;&lt;li&gt;Code complexity is more likely to be because of poorly trained programmers rather than problem complexity&lt;/li&gt;&lt;li&gt;Errors tend to group together, some modules will be very buggy, others relatively bug free&lt;/li&gt;&lt;li&gt;Having specialist, dedicated, maintenance developers is more productive than giving general developers maintenance tasks.  Interleaving new work and fixes slows things down&lt;/li&gt;&lt;li&gt;Each round of testing generally finds 30-35% of bugs, design and code reviews often find over 85%&lt;/li&gt;&lt;li&gt;Unit testing effectiveness is more difficult to measure than other forms of testing because developers perform this themselves before formal testing cuts in.  From the studies available it is a less effective form of testing with only about 25% of defects found this way.&lt;/li&gt;&lt;li&gt;As far as I can tell, the “unit testing” Jones has examined isn’t of the Test Driven Development type supported by continuous integration and automatic test running.  Such a low figure doesn’t seem consistent with other studies (e.g. the &lt;a href="http://allankelly.blogspot.com/2010/08/study-on-benefits-of-tdd.html"&gt;Nagappan, Maximilien, Bhat and Williams study I discussed in August last year.&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Formal design and code reviews are cheaper than testing.&lt;/li&gt;&lt;li&gt;SOA will only work if quality is high (i.e. few bugs)&lt;/li&gt;&lt;li&gt;Client-server applications have poor quality records, typically 20% more problems than mainframe applications&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Documentation&lt;br /&gt;&lt;/strong&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;For a typical in-house development project paperwork will be 25-30% of the project cost, with about 30 word of English for every line of code&lt;/li&gt;&lt;li&gt;Requirements are one of the chief sources of defects - thus measuring “quality” as conformance to requirements is illogical&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Agile/CMM/ISO&lt;br /&gt;&lt;/strong&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;There is no evidence that companies adopting ISO 9000 in software development have improved quality&lt;/li&gt;&lt;li&gt;Jones considers ISO 9000, 9001, 9002, 9003 and 9004 to be subjective and ambiguous&lt;/li&gt;&lt;li&gt;Below 1,000 function points (approximately 10,000 lines of code) Agile methods are the most productive&lt;/li&gt;&lt;li&gt;Above 10,000 function points the CMMI approach seems to be more productive&lt;/li&gt;&lt;li&gt;I wold suggest that as time goes by Agile is learning to scale and pushing that 1,000 upwards&lt;/li&gt;&lt;/ul&gt;Jones also makes this comment: “large systems tend to be decomposed into components that match the organizational structures of the developing enterprise rather than components that match the needs of the software itself.”&lt;br /&gt;&lt;br /&gt;In other words: &lt;a href="http://en.wikipedia.org/wiki/Conway's_Law"&gt;Conway’s Law&lt;/a&gt;. (See also &lt;a href="http://www.google.co.uk/url?sa=t&amp;source=web&amp;cd=1&amp;ved=0CBgQFjAA&amp;url=http://www.allankelly.net/static/presentations/EuroPLoP2005/ConwaysLawFocusGroup.pdf&amp;ei=bNOETceUEYa4hAf30_2yBA&amp;usg=AFQjCNEIiRvnqaCzSayBJ6EtGO9Y8vxakg"&gt;my own study on Conway’s Law&lt;/a&gt;.)  Its a shame Jones missed this reference, given how well the book is referenced on the whole I’m surprised.&lt;br /&gt;&lt;br /&gt;Elsewhere Jones is supportive of code reuse, he says successful companies can create software with as much as 85% reused code.  This surprises me, generally I’m a skeptical of code reuse.  I don’t disbelieve Jones, I’d like to know more about what these companies do.  As has to be more about the organisational structure than just telling developers: “write reusable code”.&lt;br /&gt;&lt;br /&gt;Overall the book is highly recommended although there are several things I would like to see improved for the next revision.&lt;br /&gt;&lt;br /&gt;First, Jones does repeat himself frequently - sometimes exactly the same text.  Removing some of the duplication would make for a shorter book.&lt;br /&gt;&lt;br /&gt;Second, as noted above, Jones has no numbers on how automated unit testing, i.e. Test Driven Development and similar, stacks up against traditional unit testing and reviews.  I’d like to see some numbers here.  Although to be fair it depends on Jone’s clients asking him to examine TDD.&lt;br /&gt;&lt;br /&gt;Finally, Jones is very very keen on function points as a measurement tool.  I agree with him, lines of code is silly, the arguments for function points are convincing.  But, I’m not convinced his definition of function points is the right one, primarily because it doesn’t account for algorithmic logic. &lt;br /&gt;&lt;br /&gt;In my own context, Agile, I’d love to be able to measure function points.  Jones rails against Agile teams for not counting function points.  However, counting function points is expensive.  Until it is cheap and fast Agile teams are unlikely to do it.  Again, there is little Jones can do directly to fix this but I’d like him to examine the argument.&lt;br /&gt;&lt;br /&gt;I want to finish my notes on Jones book with what I think is his key message:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;“Although few managers realize it, reducing the quantity of defects during development is, in fact, the best way to shorten schedules and reduce costs.”&lt;br /&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-6103956373189454454?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/6103956373189454454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/03/final-roundup-of-facts-from-capers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/6103956373189454454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/6103956373189454454'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/03/final-roundup-of-facts-from-capers.html' title='Final roundup of facts from Capers Jones'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-8417674396103435978</id><published>2011-03-17T13:27:00.001Z</published><updated>2011-03-17T13:27:53.795Z</updated><title type='text'>Humans can't estimate tasks</title><content type='html'>As I said in &lt;a href="http://allankelly.blogspot.com/2011/03/apology-correction-and-estimation.html"&gt;my last blog entry&lt;/a&gt; I’ve been looking at some of the academic research on task time estimation.  Long long ago, well 1979, two researchers, Kahneman and Tversky described “The Planning Fallacy.” &lt;br /&gt;&lt;br /&gt;The Planning Fallacy is now well established in academic literature and there is even a &lt;a href="http://en.wikipedia.org/wiki/Planning_fallacy"&gt;Planning Fallacy wikipedia&lt;/a&gt; page.  All the other literature I looked at takes this fallacy as a starting point.  What the fallacy says is two-fold:&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Humans systematically underestimate how long it will take to do a task&lt;/li&gt;&lt;li&gt;Humans are over confident in their own estimates&lt;/li&gt;&lt;/ul&gt;Breaking out of the fallacy is hard.  Simply saying “estimate better” or “remember how long previous tasks took” won’t work.  You might just succeed in increasing the estimate to something longer than it takes to do but you are still no more accurate.&lt;br /&gt;&lt;br /&gt;Curiously the literature does show that although human’s can’t estimate how long a task will take, the estimate they produce do correlate with actual time spent on a task.  In other words: any time estimate is likely to be too small but relative to other estimates the estimate is good.&lt;br /&gt;&lt;br /&gt;Second, it seems the planning fallacy holds retrospectively.  If you are asked to record how long you spend on a task you are quite likely to underestimate it.  There seems no reason to believe retrospective estimation is significantly more accurate than future estimation.&lt;br /&gt;&lt;br /&gt;Something else that comes out of the research is: psychologists and others who study this stuff still don’t completely understand what the brain is up to, some of the studies contradict each other and there are plenty of subtle differences which influence estimates.&lt;br /&gt;&lt;br /&gt;Third, although we don’t like to admit it deadlines play a big role in both estimating and doing.  If a deadline is mentioned before an estimate is given people tend to estimate within the deadline.  People are also quite good at meeting deadlines (assuming no outside blocks that is), partly this is because estimating then doing is a lot about time management. i.e. managing your time to fit within the estimate.&lt;br /&gt;&lt;br /&gt;While deadlines seem like a good way of bring work to a conclusion it doesn’t seem a particularly good idea to base deadlines on estimates.  Consider two scenarios:&lt;br /&gt;&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Simple estimate becomes a deadline: If we ask people to estimate how long a piece of work will take they will probably underestimate.  So if this estimate is then used as a deadline the deadline may well be missed.&lt;/li&gt;&lt;/ul&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Pessimistic estimate becomes deadline: If people are encouraged, coerced, or scared into giving pessimistic estimates the estimate will be too long.  If this estimate is then used as a deadline work is likely to be completed inside the time but there will be "slack" time.  The actual time spent on the task may be the same either way but the total elapsed (end-to-end) time will be longer.&lt;/li&gt;&lt;/ul&gt;I’ve written my findings down in full, albeit somewhat roughly, together with a full list of the articles I examined in depth.  &lt;a href="http://www.allankelly.net/static/writing/webonly/EstimationAndRetrospecitveEstimation.pdf"&gt;“Estimation and Retrospective Estimation”&lt;/a&gt; can be downloaded from my website.&lt;br /&gt;&lt;br /&gt;I would love to spend more time digging into this subject but I can’t.  Anyone else want to?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-8417674396103435978?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/8417674396103435978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/03/humans-can-estimate-tasks.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8417674396103435978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8417674396103435978'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/03/humans-can-estimate-tasks.html' title='Humans can&amp;#39;t estimate tasks'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-4660671806823656238</id><published>2011-03-17T09:28:00.000Z</published><updated>2011-03-17T13:21:36.901Z</updated><title type='text'>Apology, correction and the Estimation Project</title><content type='html'>Over the last few months I've been thinking about how people perform estimates when developing software.  I've take time - not enough - to look through some of the research on estimation and try and understand how we can improve estimates.  &lt;br /&gt;&lt;br /&gt;I’ve written a long (11 pages, over 6000 words), and rough, essay recording some of my findings.  You can download &lt;a href="http://www.allankelly.net/static/writing/webonly/EstimationAndRetrospecitveEstimation.pdf"&gt;“Estimation and Retrospective Estimation” from my website&lt;/a&gt;, I don’t intend to publish the essay anywhere but I expect some of the findings to be included in some future pieces.  In this blog entry and the next I want to report some of the motivation and findings.&lt;br /&gt;&lt;br /&gt;To start, a correction and an apology.&lt;br /&gt;&lt;br /&gt;In January &lt;a href="http://www.jaggersoft.com/"&gt;Jon Jagger&lt;/a&gt; sat in on one of my Agile training courses.  Jon asked me about two references I appeared to cite.  I have failed to be able to support these references with the necessary research and I must apologise to Jon and others who heard me say I could.&lt;br /&gt;&lt;br /&gt;Now if someone, me or anyone else, goes around saying “there is evidence for this” or “this is backed by research’ they should be able to back it up.  I have failed on this count. I apologise to Jon and everyone else who has heard me say these things.  I can't track down my references.  I should not have claimed there is research which I can't provide a reference for.&lt;br /&gt;&lt;br /&gt;I’m going to repeat my claims now for two reasons.  First, I’m hoping that someone out there will be able to point me at the information.  Second, if you’ve heard me say either of these things and claim there is research to back it up then, well I apologise to you too.  And if you hear anyone else say similar things, please pin them down and find the original source.&lt;br /&gt;&lt;br /&gt;The first thing Jon pulled me up on was in the context of planning poker.  I normally introduce this as part of one of my course exercises.  Jon heard me say “Make your estimates fast, there is evidence that estimates fast estimates are just as accurate as slow ones.”&lt;br /&gt;&lt;br /&gt;Does anyone have any references for this?&lt;br /&gt;&lt;br /&gt;I still believe this statement, however, I can’t find any references to it.  I thought I had read it in several places but I can’t track them down now.  I’m sorry.&lt;br /&gt;&lt;br /&gt;Thinking about it now, I think I originally heard another Agile trainer say this during a game a planning poker a few years ago.  So its possible that others have heard this statement and someone has the evidence.&lt;br /&gt;&lt;br /&gt;Turning to my second dubious claim, I said: “I once saw some research that suggests we are up to 140% in judging actuals.”  It is true that I read some research that appeared to show this - I think it was in 2003.  However, I can’t find that research so I can’t validate my memory, therefore this is not really valid.&lt;br /&gt;&lt;br /&gt;By "actuals" I mean: the actual amount of time it took to do a piece of work.&lt;br /&gt;&lt;br /&gt;Again, does anyone know the research I have lost the reference to?&lt;br /&gt;&lt;br /&gt;And again, I apologise to Jon and everyone who has heard me state this as fact.  It may well be true but I can't prove it and should not have cited it.&lt;br /&gt;&lt;br /&gt;Why did I say it?  Well, I find a lot of people get really concerned about the difference between estimates and actual, whether some task was completed in the time estimated.  To my mind this is a red herring, actuals only get in the way. &lt;br /&gt;&lt;br /&gt;This is where things start to get interesting.  I decided to look again at the research on estimation and specifically recording “actuals.”  The first thing I learned was that what we call “actuals” is better called “retrospective estimation.”&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.allankelly.net/static/writing/webonly/EstimationAndRetrospecitveEstimation.pdf"&gt;“Estimation and Retrospective Estimation”&lt;/a&gt; essay record my journey and findings in full.  In my next blog entry I’m record some of my conclusions.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-4660671806823656238?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/4660671806823656238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/03/apology-correction-and-estimation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4660671806823656238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4660671806823656238'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/03/apology-correction-and-estimation.html' title='Apology, correction and the Estimation Project'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-7117042007074511606</id><published>2011-03-10T10:02:00.000Z</published><updated>2011-03-10T10:27:29.259Z</updated><title type='text'>Why Quality Most Come First &amp; a comment on the 'System Error' report</title><content type='html'>On Monday night I presented &lt;a href="http://www.allankelly.net/static/presentations/WhyQuality1st.pdf"&gt;“Why Quality Must Come First”&lt;/a&gt; at Skills Matter in London, the slides are now online (previous link to my website) and there is a &lt;a href="http://skillsmatter.com/event/agile-scrum/why-quality-must-come-first"&gt;pod-cast on the Skills Matter website&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This was a revised and updated of my talk at the Agile Business Conference last October.  There are two key arguments:&lt;br /&gt;&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;High quality is essential to achieve Agile: if you have poor quality you can’t close an iteration, you can’t mark work done, and schedules will be unpredictable.&lt;/li&gt;&lt;li&gt;High quality (fewer bugs) is the means to achieve shorter delivery time: better and faster are not alternatives, they not even complementary, they are cause and effect.&lt;/li&gt;&lt;/ul&gt;That second point is one that I don’t think is appreciated enough, in fact I think a lot of people have a belief that you can deliver faster if you turn-down the quality.  Many years ago I worked with a great developer called Roy.  One day Roy went to our manager, the conversation went something like this:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Roy&lt;/strong&gt;: Would you rather have the software sooner with bugs or later without?&lt;br /&gt;&lt;strong&gt;Manager&lt;/strong&gt;: Sooner with bugs&lt;br /&gt;&lt;br /&gt;Both Roy and the Manager were seeing a trade-off that does not exist.&lt;br /&gt;&lt;br /&gt;Resetting this broken mental model, unlearning this trade off is one of the biggest challenges that faces out industry.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Read my lips:&lt;/strong&gt; &lt;em&gt;High quality software is faster to develop.  Invest in quality and you will finish sooner.&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;This is also one of the reasons I prefer the XP approach over the Scrum approach.  It is also one of the reasons I was disappointed with the &lt;a href="http://www.instituteforgovernment.org.uk/publications/23/"&gt;“System Error” report from the UK Institute for Government&lt;/a&gt; last week.&lt;br /&gt;&lt;br /&gt;The reason the report got so much attention was because it recommended the UK Government adopt Agile and Iterative development in IT projects.  By the way, the report is from a think tank, it is wrong to say this report means the UK Government will adopt Agile, or that the UK Government wants to adopt Agile, it just means some “thinkers” suggest it should.&lt;br /&gt;&lt;br /&gt;I haven’t had a chance to do anything more than skim the report yet but what struck me was the lack of discussion about quality.  The report continues the belief that quality is an effect not a cause.&lt;br /&gt;&lt;br /&gt;The report lays out four principles for Agile projects:&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Modularity&lt;/li&gt;&lt;li&gt;Iterative approach&lt;/li&gt;&lt;li&gt;Responsiveness to change&lt;/li&gt;&lt;li&gt;Putting users at the core&lt;/li&gt;&lt;/ul&gt;There is one big thing missing here: Quality.&lt;br /&gt;&lt;br /&gt;Without high quality you can’t take an iterative approach because nothing is ever finished.&lt;br /&gt;&lt;br /&gt;Without high quality you can’t be responsive to change because nothing is deployable and over time crud builds up which slows you down.&lt;br /&gt;&lt;br /&gt;Without quality your users will not trust you, they will not believe you have changed, and will spend a lot of their time.  Pushing bad buggy software one to users is not a sign that you have put them at the core.&lt;br /&gt;&lt;br /&gt;Leaving aside the fact that Modularity is one of the most over used and consequently meaningless words how can anything buggy be modular?  Do you want to (re)use a buggy module?  Bugs are side effects, not something you want in modular code.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-7117042007074511606?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/7117042007074511606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/03/why-quality-most-come-first-comment-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7117042007074511606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7117042007074511606'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/03/why-quality-most-come-first-comment-on.html' title='Why Quality Most Come First &amp;amp; a comment on the &amp;#39;System Error&amp;#39; report'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-2562462612714032386</id><published>2011-02-22T14:46:00.000Z</published><updated>2011-02-22T14:58:27.311Z</updated><title type='text'>The Agile 10 Step Requirements Model</title><content type='html'>I’ve been talking about the Agile 10 Step Requirements Model for a year or so now.  It has appeared in a few conference presentation and will be at the centre of my &lt;a href="http://accu.org/index.php/conferences"&gt;ACCU 2011 conference presentation&lt;/a&gt;.  But I’ve not written about it.&lt;br /&gt;&lt;br /&gt;Now I have.  This months &lt;a href="http://accu.org/index.php/journals/c293/"&gt;ACCU Overload&lt;/a&gt; has a short overview of the model.  I say short because each time I’ve sat down to write down the model it has got very long.  This was a deliberate attempt to keep it short.&lt;br /&gt;&lt;br /&gt;You can ready it for free in &lt;a href="http://accu.org/index.php/journals/c293/"&gt;Overload&lt;/a&gt;, or I’ve put the article itself on my website, &lt;a href="http://www.allankelly.net/static/writing/overload/Agile10StepModel.pdf"&gt;The Agile 10 Step Model.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Many thanks to Ric Parkin and the Overload team.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-2562462612714032386?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/2562462612714032386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/02/agile-10-step-requirements-model.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2562462612714032386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2562462612714032386'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/02/agile-10-step-requirements-model.html' title='The Agile 10 Step Requirements Model'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-8949883400773039917</id><published>2011-02-20T14:04:00.000Z</published><updated>2011-02-23T18:07:43.662Z</updated><title type='text'>How does Agile relate to CMM Level 5?</title><content type='html'>A question in my mail box: “How does Agile relate to CMM Level 5?”&lt;br /&gt;&lt;br /&gt;As I started to tap out the answer I thought: this might as well be a blog entry.  So here it is.&lt;br /&gt;&lt;br /&gt;Think of CMM, or rather CMMI which replaced CMM about 10 years ago, as a ruler.  It is a way of measuring software development effectiveness.  Is your development process 1cm good? 2cm good? or 5cm?&lt;br /&gt;&lt;br /&gt;CMMI doesn't say how you should do development, only how you should judge effectiveness.  Agile is a way of doing things - as opposed to "the state of Agile" which is a measure of effectiveness.&lt;br /&gt;&lt;br /&gt;You can use Agile to be any CMMI level you like. CMMI doesn't care how you do it.  Watts Humphrey (the father of CMM) used to say something along the lines of “Work on you quality and processes first, the levels will come by themselves.”  That statement is very Agile.  Unfortunately some organisations get it the wrong way around.  I was at Reuters when they imposed CMM and destroyed a big chunk of their development capability.&lt;br /&gt;&lt;br /&gt;The late Watts Humphrey did issue some process recommendations in the form of the &lt;a href="http://www.sei.cmu.edu/tsp/index.cfm"&gt;Personal Software Process and Team Software Process.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;That’s the easy bit.&lt;br /&gt;&lt;br /&gt;"The state of being Agile" might, or might not, conflict with Level 5 CMMI simply because different things are considered important.  You might be CMMI level 5 and decidedly unAgile.&lt;br /&gt;&lt;br /&gt;Ironically CMMI level 5 might mean you have to investigate Agile.  Because being level 5 means you are “self optimising”.  If an organisation is level 5 and hasn’t looked at Agile it should because that may help them improve.&lt;br /&gt;&lt;br /&gt;Paradoxically, being level 5 itself makes it becomes harder to improve.  The risk of change is a lot greater because the organisation has more to loWaterfallse - and probably lots of procedures to update making any change expensive.&lt;br /&gt;&lt;br /&gt;CMM(I) tends to be associated with a certain way of doing things.  Partly this is historic: when CMM(I) appeared Waterfall was the dominant model, NASA was the first organization to reach level 5 and (at the time) it was very Waterfall based, and because CMM(I) tends to be more common in military work which are also big and paper work intensive.&lt;br /&gt;&lt;br /&gt;So, some people believe that CMM(I) means following a very structured, heavy, WaterfallWaterfall process.  It doesn’t have to mean this but historically the two do tend to coincide.&lt;br /&gt;&lt;br /&gt;The Software Engineering Institute issued a report in 2008 which discussed how CMMI and Agile could work together: &lt;a href="http://www.sei.cmu.edu/library/abstracts/reports/08tn003.cfm"&gt;CMMI or Agile: Why not embrace both!&lt;/a&gt;  I don’t agree with everything in the report but I do agree with the general tone.  CMMI and Agile are not alternatives and can be complementary.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-8949883400773039917?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/8949883400773039917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/02/how-does-agile-relate-to-cmm-level-5.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8949883400773039917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8949883400773039917'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/02/how-does-agile-relate-to-cmm-level-5.html' title='How does Agile relate to CMM Level 5?'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-300416399271222306</id><published>2011-02-08T17:43:00.000Z</published><updated>2011-02-08T18:17:35.190Z</updated><title type='text'>InfoQ: Agile contact options</title><content type='html'>I have a piece on the InfoQ website today entitled &lt;a href="http://www.infoq.com/articles/agile-contracts"&gt;Agile Contracts&lt;/a&gt; (well options for really).&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-300416399271222306?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/300416399271222306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/02/infoq-agile-contact-options.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/300416399271222306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/300416399271222306'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/02/infoq-agile-contact-options.html' title='InfoQ: Agile contact options'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-338177966596985112</id><published>2011-02-04T12:36:00.001Z</published><updated>2011-02-04T12:36:51.350Z</updated><title type='text'>Offshoring: not as simple as its often reported</title><content type='html'>A couple of footnotes to my last blog post on Capers Jones book, &lt;a href="http://www.amazon.co.uk/gp/product/0071502440?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0071502440"&gt;Applied Software Measurement&lt;/a&gt;.  One of the points I noted was Jones suggestion that rising prices and costs in India and elsewhere would mean IT offshoring loose its financial benefits from about 2015 onwards.&lt;br /&gt;&lt;br /&gt;Jones, by the way, later says that Indian and Chinese outsources are aiming to compete on quality not price in the long run.  So we can expect to see the nature of offshoring change.&lt;br /&gt;&lt;br /&gt;Shortly after posting that blog entry I noticed a piece in &lt;a href="http://www.economist.com/"&gt;The Economist&lt;/a&gt; on the Indian ID programme, &lt;a href="http://www.economist.com/node/18010459?story_id=18010459&amp;CFID=161263022&amp;CFTOKEN=99167143"&gt;Identifying a billion Indians&lt;/a&gt; (27 January, subscription required.)  The Indian Government is embarked on a scheme to give unique identity numbers to the entire population.&lt;br /&gt;&lt;br /&gt;The first thing that first got my attention was not that this was an IT based scheme (no surprise there) but who was doing it.  Not Tata (TCS), not Wipro, not Infosys.  It is Accenture and L-1 of the US and Morpho of France.  I’m sure much of the work is being done in India but the Indian Government has given the work to foreign firms.  Lets give a round of applause to the Indian Government for not feeling compelled to give work to local firms.  &lt;br /&gt;&lt;br /&gt;And then lets note that offshoring/outsourcing goes both ways.  Its not all about US and Europe loosing out to India or China.  It goes the other way too.&lt;br /&gt;&lt;br /&gt;The second thing that got my interest was this: the work is split between these three firms: 50%, 30%, 20%.  Progress is reviewed regularly and work reallocated.  The most effective firm during any one period gets the bulk of the work next time.  That is a very enlightened way of working and gives real incentives the firms to do their best.  It also shows flexibility with contracts.&lt;br /&gt;&lt;br /&gt;Separately, some US readers might be please to learn that &lt;a href="http://www.ft.com"&gt;Financial Times&lt;/a&gt; reports that the big &lt;a href="http://www.ft.com/cms/s/2/144c1820-2f10-11e0-88ec-00144feabdc0.html#axzz1Ct1QCzMD"&gt;Indian outsources plan to do less work with US firms&lt;/a&gt;.  European readers won’t be so happy to learn that Europe will replace the US as their target.&lt;br /&gt;&lt;br /&gt;The reason: not competition, not prices or quality.  US Visa prices.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-338177966596985112?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/338177966596985112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/02/offshoring-not-as-simple-as-its-often.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/338177966596985112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/338177966596985112'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/02/offshoring-not-as-simple-as-its-often.html' title='Offshoring: not as simple as its often reported'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-8198660799816936597</id><published>2011-02-02T15:07:00.000Z</published><updated>2011-02-02T15:16:05.314Z</updated><title type='text'>More facts and figures from Capers Jones</title><content type='html'>I continue my reading of Capers Jones &lt;a href="http://www.amazon.co.uk/gp/product/0071502440?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0071502440"&gt;Applied Software Measurement&lt;/a&gt; as discussed a &lt;a href="http://allankelly.blogspot.com/2011/01/software-facts-well-numbers-at-least.html"&gt;few entires ago - Software Facts&lt;/a&gt; and I’d like to report some more of Jones findings.&lt;br /&gt;&lt;br /&gt;These numbers are very insightful but, and its a but Jones acknowledges, the data is very shaky.  As Jones says “software measurement resembles an archeological dig.  One shifts and examines large heaps of rubble, and from time to time finds a significant artifact.”&lt;br /&gt;&lt;br /&gt;He readily admits that there is not really enough data to make solid conclusions (less than 1% of the data needed is available) but this is where we are at.  This is as good as it gets.  Before anyone rushes to say “Capers Jones is wrong” ask yourself: “Do I have better data to make conclusions one?”&lt;br /&gt;&lt;br /&gt;I find two weaknesses in Jones work.  Firstly his reliance on Function Points.  I agree with him that lines of code is not a good measure but I have some doubts about function points for two reasons.&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;They do not incorporate algorithm complexity&lt;/li&gt;&lt;li&gt;Automating function point counting is difficult and becomes an approximation.  Thus true function point counts are expensive which makes them difficult to work to calculate often&lt;/li&gt;&lt;/ul&gt;But, function points, for all their faults seem to work.&lt;br /&gt;&lt;br /&gt;My second issue with Jones work concerns his assumption of the waterfall model. Yes he acknowledges Agile, he even says it is the most productive approach in some circumstances but all his data and assumptions are cut through with the waterfall.  I suppose this is only natural, it was (is) the dominant model in the industry for 30 years or more.&lt;br /&gt;&lt;br /&gt;OK, on with some numbers and conclusions, again these are almost entirely US based but are probably very similar elsewhere....&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Productivity&lt;/strong&gt;&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Jones repeatedly states and shows how quality and productivity are related.  The most productive teams have the lowest bug counts and shortest schedules.&lt;/li&gt;&lt;li&gt;The three biggest costs on a software project, in order: Rework (Bug fixing), paperwork and meetings &amp; communication.  Sometimes managerial costs are actually greater than coding costs.&lt;/li&gt;&lt;li&gt;Jones states as little know fact “excessive staffing may slow things down rather than speed things up”&lt;/li&gt;&lt;li&gt;Inspections (code, design, requirements) are the most efficient known ways of preventing problems.&lt;/li&gt;&lt;li&gt;Studies show that some developers are 20 times more productivity than others, and some make 10 times as many errors as others.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Costs&lt;/strong&gt;&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Paperwork (requirements, technical specs, etc.) on the largest systems can be larger than one person’s ability to read during an entire career.  (Think about that: you join a new project at 21, by the time you hit retirement you haven’t finished reading the documentation.)&lt;/li&gt;&lt;li&gt;Most corporate effort (time and money) tracking systems are incorrect and miss between 30% and 70% of the real effort.  &lt;/li&gt;&lt;li&gt;Thus this data is essentially useless for benchmarking, creates cost over runs because they are so inaccurate and is actually dangerous because it puts future projects at risk when the data is used for estimates.  (Before you question this statement go and check, does your tracking system measure unpaid overtime?)&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Projects&lt;/strong&gt;&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;“More than half of large projects are scheduled irrationally” - a delivery date is set external to the development group without reference to capabilities.&lt;/li&gt;&lt;li&gt;Over 50% of large (more than 10,000 function points) projects are cancelled and the rest are almost always late and over budget.&lt;/li&gt;&lt;li&gt;In 2008 at least 25% of new projects used some elements of Agile.&lt;/li&gt;&lt;li&gt;Maintenance is now the dominant form of software development and is likely to stay that way. &lt;/li&gt;&lt;li&gt;There are several Y2K like problems likely to occur in the next 40 years.&lt;/li&gt;&lt;li&gt;Even waterfall projects overlap phases - typically 25% of any phase is incomplete when the next starts.  This rises to 50% when the handover from design to coding is considered.&lt;/li&gt;&lt;li&gt;It is even difficult to determine when a project really starts - less than 1% have certain start dates - and 15% have ambiguous end dates.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Outsourced &amp; Offshore&lt;/strong&gt;&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Outsourced software development companies are generally better than their clients and have a better record of delivering large systems.&lt;/li&gt;&lt;li&gt;Offshore work tends to be less product than onshore work in the US - that does not mean it is not cost effective but it is less productive in terms of function points per man/time period&lt;/li&gt;&lt;li&gt;Inflation and other cost changes mean that by 2015 the economic advantages of offshoring development work are likely to be gone.  (Considering that it takes time to transfer work and offshore teams to become productive it is likely that very soon it will not make sense to send work overseas.)&lt;/li&gt;&lt;li&gt;Worryingly Jones reports that 75% of companies have deficient requirements practices.  Since offshore work is particularly dependent on good requirements I would expect offshore projects to be more troublesome in this regard.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Standards and Quality&lt;/strong&gt;&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Jones finds no solid evidence that ISO 9000 improves quality or the ability to deliver; almost the opposite it does increase the cost of projects because it increases the amount of paperwork.  Ironically some ISO 9000 advocates have defended the approach to him on the grounds that ISO 9000 is not designed to improve quality! (Sounds like many people have been misled over the years)&lt;/li&gt;&lt;li&gt;Military systems are the largest systems in the world, some over 350,000 function points.  They are also the most expensive and usually paperwork driven.&lt;/li&gt;&lt;/ul&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Department of Defense (US) standards do not seem to improve software quality, they have sometimes been impediments and have certainly raised costs.&lt;/li&gt;&lt;li&gt;Microsoft, Oracle and SAP are singled out as having very poor quality control.&lt;/li&gt;&lt;li&gt;Interestingly he also suggests that once 25% of a large COTS application needs to be customised it is less expensive to build the same application from scratch.&lt;/li&gt;&lt;/ul&gt;Jones says that as of 2008 there were 700 known programming languages with one a month appearing.  The average life of a language is 15 years but the average life of a major software system is 20 years.  These figures might be a little misleading, C is now nearly 40 years old, other languages survive only a few.  But the point is clear: there are lots of dead languages and orphaned languages out there (over 500 Jones thinks.)&lt;br /&gt;&lt;br /&gt;As noted before, most schedules are planned with an externally determined date. Jones gives this as the number one reason for project failure - number two is excessive schedule pressure which is very similar.  Later he proposed schedules are so bad as to constitute professional malpractice.&lt;br /&gt;&lt;br /&gt;This is interesting.  One the one hand businesses need those deadlines.  On the other, if projects were left to run their natural duration would the failure rate be so high?&lt;br /&gt;&lt;br /&gt;He also comments that US development teams tend to be strong on technical skills but are let down by weak management and organisational issues.  Later in the book he attributes much of this down to western managements pre-occupation with cost control which he contrasts with eastern concern with quality.&lt;br /&gt;&lt;br /&gt;This argument seems reasonable but I’m not sure it stands up to analysis.  Although it might explain why Scrum can be “successful” even when technical practices are ignored.&lt;br /&gt;&lt;br /&gt;In my experience US and European teams don’t always have the technical skills they should have - certainly talk to &lt;a href="http://www.m3p.co.uk/"&gt;Steve Freeman&lt;/a&gt; or &lt;a href="http://www.parlezuml.com/"&gt;Jason Gorman&lt;/a&gt; and you will hear some horror stories.  While India has more CMM certified organisations than anywhere else my personal experience is, while India has some very good developers the IT bubble has attracted in not just second rate developers but third rate ones as well.  Its also worth pointing out that Japan isn’t a software powerhouse, Toyota even struggle to apply Lean thinking to software.&lt;br /&gt;&lt;br /&gt;Jones believes, from his studies, that management is the greatest contributor to success and failure at the project and company level.  In some ways that is reassuring, it shows that there might be something in good management.&lt;br /&gt;&lt;br /&gt;Interestingly Jones also supports one observation I have frequently made myself: when redundancies occur Test and QA staff are usually the first to be let go, and this is counter productive in anything except the very short tun.&lt;br /&gt;&lt;br /&gt;I’ll continue reading and maybe blog some more data.  In general, the &lt;a href="http://www.amazon.co.uk/gp/product/0071502440?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0071502440"&gt;Applied Software Measurement&lt;/a&gt; has a tendency to repeat itself and I wish he used more graphs for his data but I still think it is worth reading and I recommend it.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-8198660799816936597?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/8198660799816936597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/02/more-facts-and-figures-from-capers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8198660799816936597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8198660799816936597'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/02/more-facts-and-figures-from-capers.html' title='More facts and figures from Capers Jones'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-1680520169438926104</id><published>2011-01-25T08:54:00.001Z</published><updated>2011-01-25T08:54:57.887Z</updated><title type='text'>Scrum + Technical practices = XP ?</title><content type='html'>My last blog post (&lt;a href="http://allankelly.blogspot.com/2011/01/scrum-has-3-advantages-over-xp-but-xp.html"&gt;Scrum has 3 Advantages Over XP&lt;/a&gt;) attracted a couple of interesting comments - certainly getting comments from &lt;a href="http://blog.objectmentor.com/articles/category/uncle-bobs-blatherings"&gt;Uncle Bob Martin&lt;/a&gt; and &lt;a href="http://www.gilb.com/"&gt;Tom Gilb&lt;/a&gt; shows people are listening.  And it’s Tom’s comment I want to address.&lt;br /&gt;&lt;br /&gt;But before I do, lest this come across as Scrum bashing I should say that I think Scrum has done a lot of good in the software industry.  Yes I had my tongue-in-my-cheek when wrote “Scrum has 3 advantages over XP” but if Scrum hadn’t made “Agile” acceptable to management it is unlikely that XP ever would have take Agile this far.&lt;br /&gt;&lt;br /&gt;I suppose I’m a little like &lt;a href="http://blog.objectmentor.com/articles/2010/04/27/certification-dont-waste-your-time"&gt;Uncle Bob, its a bit of a surprise to me that Scrum Certification&lt;/a&gt; has come to mean so much to the industry when really it means so little.  I’m also worried that brands poor people “certified”, good people “uncertified” and stifles innovation.&lt;br /&gt;&lt;br /&gt;Second the ideas of the Scrum originators are good.  And lets not forget that while Schwaber and Sutherland have become celebrities in the community there were five authors of the original “&lt;a href="http://www.smallmemory.com/almanac/BeedleEtc99.html"&gt;Scrum: A Pattern Language for Hyperproductive Software Development&lt;/a&gt;”, &lt;a href="http://www.amazon.co.uk/gp/product/0132074893?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0132074893"&gt;Beedle&lt;/a&gt; also co-authors one of the early Scrum books, &lt;a href="http://skillsmatter.com/course/agile-scrum/martine-devos-scrum-master"&gt;Devos&lt;/a&gt; still works as a Scrum Trainer, while Sharon seems to Scrum’s Fifth Beatle - &lt;em&gt;where are they now?&lt;/em&gt;)&lt;br /&gt;&lt;br /&gt;Getting back to the point.  Tom Gilb commented: “Sutherland did say in a speech that Scrum works best with XP”.  &lt;a href="http://chrisoldwood.blogspot.com/"&gt;Chris Oldwood&lt;/a&gt; also says he’s heard Jeff say this.&lt;br /&gt;&lt;br /&gt;In fact, I think I’ve heard Jeff Sutherland say something similar, heck, not similar, the same and &lt;a href="http://allankelly.blogspot.com/2009/05/thoughts-after-jeff-sutherland-at-accu.html"&gt;reported it in this blog&lt;/a&gt;.  And Jeff’s not alone, I’ve heard the same thing from other Scrum advocates, trainers, and cheer-leaders.&lt;br /&gt;&lt;br /&gt;But, this view is not universal.  There are Scrum trainers who don’t.  Specifically there are those who train Scrum and specifically say XP practices like TDD and on-site customer should not be used.  And as I sarcastically commented previously, part of the attraction of Scrum to management types is that it doesn’t delve into the messy world of coding.&lt;br /&gt;&lt;br /&gt;Lets just note: there are multiple interpretation of what is, and is not Scrum.  Nothing wrong with that, it just complicates matters.&lt;br /&gt;&lt;br /&gt;Back to XP though....&lt;br /&gt;&lt;br /&gt;There are, broadly speaking, two parts to Extreme Programming (XP).  The technical practices (Test Driven Development, Continuous Integration, Refactoring, Pair Programming, Simple Design, etc.) and the process management side (Iteration, Boards, Planning Meetings, etc.)&lt;br /&gt;&lt;br /&gt;It is these technical practices that Jeff, and others, are saying Scrum software development teams should use.  Fine, I agree.&lt;br /&gt;&lt;br /&gt;Look at the other side of XP, the process side.  This is mostly the same as Scrum.  Do a little translation, things like &lt;em&gt;Iteration&lt;/em&gt; to &lt;em&gt;Sprint&lt;/em&gt; and it is the same.&lt;br /&gt;&lt;br /&gt;(OK there are a few small differences.  I just checked my copy of &lt;a href="http://www.amazon.co.uk/gp/product/0321278658?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0321278658"&gt;Extreme Programming (old testament)&lt;/a&gt; and to my surprise stand-up meetings aren’t there.  I think many XP teams do stand-up but it isn’t originally part.  The book does include “40 Hour Work week” which isn’t present in The Scrum Pattern Language, or &lt;a href="Agile Project Management with SCRUM"&gt;Agile Project Management with SCRUM&lt;/a&gt; but I’ve heard Scrum advocates talk about sustainable pace.  I’m still not sure how you marry this with commitment but &lt;a href="http://allankelly.blogspot.com/2010/06/two-ways-to-fill-iterations.html"&gt;I’ve written about that before&lt;/a&gt;.  However these points are knit picking.)&lt;br /&gt;&lt;br /&gt;Essentially Project Management XP style is Scrum.&lt;br /&gt;&lt;br /&gt;This shouldn’t be a surprise.  In the mid-90’s when Scrum and XP were being formed and codified many of these people knew one another.  If nothing else they saw each other’s papers at PLoP conferences.  The Scrum Pattern language was presented at PLoP 1998, &lt;a href="http://c2.com/ppr/episodes.html"&gt;Episodes&lt;/a&gt; (the basis for XP) was at PLoP 1995, and both draw on the work of &lt;a href="https://sites.google.com/a/gertrudandcope.com/www/jimcoplien"&gt;Jim Coplien&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I have every reason to believe that XP and Scrum didn’t appear in insolation.  There was cross-fertilisation.  I have also been told there was competition.&lt;br /&gt;&lt;br /&gt;If you accept that Scrum and XP project management are close enough to be the same thing, and you accept Jeff Sutherland’s recommendation (namely do XP technical practices with Scrum) then what do you have?&lt;br /&gt;&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;XP = Technical Practices + Scrum Style Project Management&lt;/li&gt;&lt;li&gt;Jeff Sutherland says effective development teams = Scrum + Technical Practices from XP&lt;/li&gt;&lt;/ul&gt;Think about that.  Even talk about it, but don’t say it too loudly.  For all the reasons I outlined before, XP isn’t acceptable in the corporation.  Scrum is.  Therefore, we must all keep this little secret to ourselves.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-1680520169438926104?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/1680520169438926104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/01/scrum-technical-practices-xp.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1680520169438926104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1680520169438926104'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/01/scrum-technical-practices-xp.html' title='Scrum + Technical practices = XP ?'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-3475345377002889476</id><published>2011-01-21T15:40:00.000Z</published><updated>2011-01-21T15:49:52.690Z</updated><title type='text'>Scrum has 3 advantages over XP (but XP is better)</title><content type='html'>For corporations Scrum offers three advantages over Extreme Programming:&lt;br /&gt;&lt;br /&gt;1) It offers certification - corporates can hire people who are “certified” and have their own people certified.&lt;br /&gt;2) Scrum traces its roots back to the Harvard Business Review - so it must be serious&lt;br /&gt;3) Scrum does not contain the words “extreme” or “programming”.  No need to dirty our hands with messy code, keep that stuff as far away as possible (the further the cheaper, right?)&lt;br /&gt;&lt;br /&gt;On the other hand, XP has two advantages over Scrum:&lt;br /&gt;&lt;br /&gt;1) It actively seeks to address the quality problems most software development teams suffer from and which cripple productivity&lt;br /&gt;2) It excites the people who actually do the work - dispensing with “resistance to change” in one fell swoop&lt;br /&gt;&lt;br /&gt;At Agile Cambridge last year I saw a really good presentation from people at GE Energy about their Agile adoption.  Frankly I’m sceptical about the ability of any large organisation to adopt Agile but these guys had some real success to show.&lt;br /&gt;&lt;br /&gt;Two things stuck in my mind.  When summing up the presenter said:&lt;br /&gt;&lt;br /&gt;“If I was doing the same thing again I would start with the XP technical practices not the Scrum process” and he went on “We have adopted Scrum, we are now advancing to XP.”&lt;br /&gt;&lt;br /&gt;XP and Scrum date from about the same time (mid-90’s).  Perhaps because XP become popular first and Scrum later succeeded it as the Agile-poster-child many people seem to think Scrum is superior, or at least a superset of XP.  Actually, the reverse is true.&lt;br /&gt;&lt;br /&gt;XP is a superset of Scrum, and, in my humble opinion, superior.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-3475345377002889476?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/3475345377002889476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/01/scrum-has-3-advantages-over-xp-but-xp.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3475345377002889476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3475345377002889476'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/01/scrum-has-3-advantages-over-xp-but-xp.html' title='Scrum has 3 advantages over XP (but XP is better)'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-3650855654671980993</id><published>2011-01-14T18:02:00.000Z</published><updated>2011-01-14T18:56:26.329Z</updated><title type='text'>Software Facts - well, numbers at least</title><content type='html'>About a year ago I needed some numbers about software development - industry norms really: effectiveness, productivity, bug counts etc. etc.  Its actually pretty hard to get these numbers and after hunting around I found myself with a copy of &lt;a href="http://www.amazon.co.uk/gp/product/0071502440?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0071502440"&gt;Capers Jones Applied Software Measurement&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Jones, for those who don’t know, has made a career out of analysing software and software teams numbers.  Applied Software Measurement is his latest work on the subject - although its nearly three years out of date.&lt;br /&gt;&lt;br /&gt;Unfortunately, for me, Jones didn’t have the numbers I wanted - I forget what I wanted now.  But he does have lots of interesting facts and numbers.  You can dispute some of these numbers, you can argue with him but on the whole he knows more about this subject than you or me so he’s probably right.  That said, there are a few points where I disagree with him and I might blog about these in future.&lt;br /&gt;&lt;br /&gt;For now, I’d like to share some of the number in &lt;a href="http://www.amazon.co.uk/gp/product/0071502440?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0071502440"&gt;Applied Software Measurement&lt;/a&gt;.  Overwhelmingly Jones researched American companies and American teams.  I expect most of these numbers will be broadly the same in Europe and elsewhere.  All figures are for 2008 unless specified.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Productivity&lt;/strong&gt;&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Broadly speaking, in the USA, software productivity rates were the same in 2008 as they were in 1988&lt;/li&gt;&lt;li&gt;The best US companies in terms of productivity and quality are about three times better than average (US)&lt;/li&gt;&lt;li&gt;The worst US companies for productivity and quality are about 50% worse than average&lt;/li&gt;&lt;li&gt;Only about 15% of companies are improving productivity and quality&lt;/li&gt;&lt;li&gt;Similarly, about 15% of companies are getting worse in these terms&lt;/li&gt;&lt;li&gt;About 70% of companies are neither improving or getting worse&lt;/li&gt;&lt;li&gt;Where productivity is improving it is usually teams developing web applications who use Agile methods.  Some benefits also accrue from use of Team Software Process and Personal Software Process&lt;/li&gt;&lt;li&gt;Claims by tool vendors of 10-to-1 or 20-to-1 displacement of human activity are generally not justified.  It is counter productivity to invest in tools before resolving organisational and methodology issues. i.e. save the tools until you’ve improved things (John Seddon should be happy with this finding.)&lt;/li&gt;&lt;li&gt;Office environments can have as much of an impact on productivity as tools and methods&lt;/li&gt;&lt;li&gt;Looking after employees well increases productivity and reduces turn-over&lt;/li&gt;&lt;li&gt;Companies providing 10 day or more of training per employee per year have higher productivity rates than similar companies who do not&lt;/li&gt;&lt;li&gt;Accounting errors (and use of unpaid overtime) can hide the true cost of software production by 100%, i.e. the work costs twice as much as the accountants say&lt;/li&gt;&lt;li&gt;Formal design reviews and code inspections are effective but can fall into disuse because (new) managers do not understand this. (Tom Gilb is right!)&lt;/li&gt;&lt;li&gt;“Software does not age gracefully, and tends to become increasingly unstable and difficult to modify safely.  The Unites States and indeed much of the world are facing some huge geriatric problems with their inventories of ageing and decaying applications” - maintenance, renovation and enhancement are now the dominant activities in the industry and it is likely to stay that way&lt;/li&gt;&lt;li&gt;On average military software is 25 times larger than end-user software, and the specifications and other documentation 200 times larger.&lt;/li&gt;&lt;li&gt;Productivity and quality seem to be better in object oriented languages&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Documentation &amp; Bugs&lt;/strong&gt;&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Producing paper documents for software development is more expensive than producing software itself&lt;/li&gt;&lt;li&gt;Up to 400 words may be written in specification for every line of code in large systems. &lt;/li&gt;&lt;li&gt;In a large software project requirements change and increase at the rate of 2% per month&lt;/li&gt;&lt;li&gt;Repairing defects in software is more expensive than coding and producing documentation&lt;/li&gt;&lt;li&gt;The finding and fixing software defects (bugs) is historically the most expensive activity and will account for 50% of total costs over the product life time&lt;/li&gt;&lt;li&gt;Approximately 7% of changes and fixes contain new defects&lt;/li&gt;&lt;li&gt;Most forms of testing finding fewer than 30% of all bugs&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Projects&lt;br /&gt;&lt;/strong&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;Over 50% of all software projects are one-man projects&lt;/li&gt;&lt;li&gt;Productivity and quality are directly coupled: projects with high quality have high productivity and vice versa&lt;/li&gt;&lt;li&gt;IBM was the first company to discover the link between quality and productivity.  They made the information public in 1975 but it is still not widely know.&lt;/li&gt;&lt;li&gt;User satisfaction and defect counts are also directly correlated&lt;/li&gt;&lt;/ul&gt;I’ve mined these numbers out of &lt;a href="http://www.amazon.co.uk/gp/product/0071502440?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0071502440"&gt;Applied Software Measurement&lt;/a&gt;, I might mine some more and blog again.  But really, it isn’t a book of numbers.  Its a discussion of how to measure software and software teams.&lt;br /&gt;&lt;br /&gt;Finally for now, I’m only at chapter 3, Jones says that currently available data on software production is less than 1% of what is needed.  He also says that most databases of such data are privately held and not accessible by most of use.  Well, I guess that explains why I couldn’t find the numbers I wanted when I wanted them.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-3650855654671980993?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/3650855654671980993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/01/software-facts-well-numbers-at-least.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3650855654671980993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3650855654671980993'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/01/software-facts-well-numbers-at-least.html' title='Software Facts - well, numbers at least'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-7202435453017433681</id><published>2011-01-07T14:29:00.000Z</published><updated>2011-01-07T14:36:49.730Z</updated><title type='text'>Announcing EuroPLoP 2009 Proceedings in print</title><content type='html'>A long long time ago, well summer 2009 I was Programme Chair of the &lt;a href="http://www.hillside.net/europlop"&gt;EuroPLoP conference&lt;/a&gt;.  One of my responsibilities was to produce the conference proceedings.  For the first time we published these proceedings online using the &lt;a href="http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-566/"&gt;CEUR repository&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now another first.  I am pleased to report we - well me actually - have made the proceedings available in print using the &lt;a href="http://www.lulu.com/content/paperback-book/europlop-2009-proceedings/9233818"&gt;Lulu system&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So, roll up, roll up, get your &lt;a href="http://www.lulu.com/content/paperback-book/europlop-2009-proceedings/9233818"&gt;EuroPLoP 2009 Patterns Conference Proceedings&lt;/a&gt; for just £13.54 in print, or free as a PDF.&lt;br /&gt;&lt;br /&gt;This is something of an experiment.  In the past EuroPLoP had printed proceedings but these were only available if you actually attended the conference or knew someone who did.  This limited their circulation.&lt;br /&gt;&lt;br /&gt;Secondly, the proceedings were paid for out of the conference budget which added something like €100 to the price of attending.&lt;br /&gt;&lt;br /&gt;Whether future EuroPLoP conferences continue to publish on Lulu, or CEUR, is a matter for debate.  If you have a view let me know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-7202435453017433681?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/7202435453017433681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2011/01/announcing-europlop-2009-proceedings-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7202435453017433681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7202435453017433681'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2011/01/announcing-europlop-2009-proceedings-in.html' title='Announcing EuroPLoP 2009 Proceedings in print'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-3614017807200672310</id><published>2010-12-28T12:05:00.000Z</published><updated>2010-12-28T12:20:45.450Z</updated><title type='text'>Inbound &amp; Outbound marketing</title><content type='html'>Its nearly the end of the year, I’m about to close one Blog archive and start another - don’t worry, this means nothing for readers, its part of my admin.  But it does mean that I put behind me all those half written blog posts, and single line ideas, that have been building up during the year.&lt;br /&gt;&lt;br /&gt;Before I do so though, there are a couple of days to quickly get important backlogged entries out!&lt;br /&gt;&lt;br /&gt;Two weeks I blogged, not for the first time, about Product Manager (&lt;a href="http://allankelly.blogspot.com/2010/12/product-management-open-secret.html"&gt;Product Management an open secret, a differentiator&lt;/a&gt;).  When I talk to people about Product Managers I often find myself in a conversation about marketing.  Clued up people realise that good Product Management is, in part, a marketing function, others are surprised.  They think marketing is about advertising and sales.&lt;br /&gt;&lt;br /&gt;It is important, &lt;strong&gt;very important&lt;/strong&gt;, to differentiate between the two sides of marketing: Inbound and outbound.  So, for the record, I want to record it:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Outbound marketing&lt;/strong&gt;: is the marketing most people think of when someone days “marketing.”  This is about letting people know you, and your product, are here.  Its advertising.  Its public relations.  It is generating sales leads.  It is improving awareness.  You get the picture?&lt;br /&gt;&lt;br /&gt;It is called outbound because it is from you and your organisation to the wider world.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Inbound marketing:&lt;/strong&gt; is from the wider world (customer, potential customer, competitors) to your company.  It is about bringing that information inside and then acting on it.  It is about building the products your customers want to buy.  Get it right and sales should be like a knife through butter, people want your products.&lt;br /&gt;&lt;br /&gt;In software companies, and other tech companies inbound is largely the role of Product Management.  Product Marketing is about outbound.  Although Product Manager is the usual job title some places call this role an Architect, others Programme Manager, and occasionally Project Manager.  More often or not it is just absent.&lt;br /&gt;&lt;br /&gt;Most companies realise, sooner or later, that outbound marketing is needed.  Unfortunately, in all too many companies inbound marketing does not exist.  Or inbound is “what the sales guy says the customer wants.”&lt;br /&gt;&lt;br /&gt;As much as we love sales people (after all, they bring in the stuff that pays us) they are not the best people to decide what goes into a product.  The reason why they are good at selling is that they get over customer objections and sell the product.  This means the customer, the next customer, the next sale, is king.  What the next customer wants isn’t what every customer wants.&lt;br /&gt;&lt;br /&gt;Lets make this simple: if you are running a software product company and you don’t have a Product Manager then get one.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-3614017807200672310?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/3614017807200672310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/12/inbound-outbound-marketing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3614017807200672310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3614017807200672310'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/12/inbound-outbound-marketing.html' title='Inbound &amp;amp; Outbound marketing'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-7249013281594187596</id><published>2010-12-23T10:02:00.000Z</published><updated>2010-12-23T10:07:06.619Z</updated><title type='text'>ACCU 2011 Conference registration open - beat the VAT rise</title><content type='html'>Just in time for Christmas, that special present for someone you love...&lt;br /&gt;&lt;br /&gt;Buy them a place at the &lt;a href="http://accu.org/index.php/conferences"&gt;ACCU Conference in April&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you live in the EU you have an very special reason to buy in the next few days: the UK is increasing the VAT rate so the price is going up on 1 January.&lt;br /&gt;&lt;br /&gt;If you really want to save money, and you are not already an ACCU member then join the ACCU now, and immediately book the conference.  It is cheaper, honest; no, its not an accident, it is meant to be like this.&lt;br /&gt;&lt;br /&gt;I’ll be there, in fact I’m speaking, I have two sessions, one on requirements and one on patterns.&lt;br /&gt;&lt;br /&gt;(&lt;a href="http://twitter.com/#!/search?q=#accu2011"&gt;Twitter tag for this is #accu2011&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-7249013281594187596?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/7249013281594187596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/12/accu-2011-conference-registration-open.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7249013281594187596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7249013281594187596'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/12/accu-2011-conference-registration-open.html' title='ACCU 2011 Conference registration open - beat the VAT rise'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-1283188598496930988</id><published>2010-12-22T11:40:00.000Z</published><updated>2010-12-22T12:02:33.472Z</updated><title type='text'>Dialogue sheets, retrospectives and quotes (Send me your quotes)</title><content type='html'>Know any good quote about software development? Agile? Lean? Teams? Code? or anything else in this space?&lt;br /&gt;&lt;br /&gt;I’m working on a little project and I need some though provoking quotes so please send them over - leave a comment here, e-mail me (allan at &lt;a href="http://allankelly.net"&gt;allankelly.net&lt;/a&gt;) or Twitter me (allankellynet).&lt;br /&gt;&lt;br /&gt;Why?&lt;br /&gt;&lt;br /&gt;Well, I’m working on a little project for retrospectives I’ve been dreaming of for a few year and I need some thought provoking quotes.&lt;br /&gt;&lt;br /&gt;There are two problem I see with retrospectives - OK, there are other problems but there are two I think I can do something about. (And none of these problems undermine the reason for doing retrospectives or the value, just fly-in-the-ointment stuff.)&lt;br /&gt;&lt;br /&gt;Firstly, retrospectives need a facilitator.  That might not sound like a problem but ideally you want the facilitator to be a) experienced, b) impartial, c) available.  Sometimes its not easy to find that person.  &lt;br /&gt;&lt;br /&gt;Second, I hear of teams who hold regular retrospectives but the retrospectives because boring, they go over the same ground again and again.  To be effective, to get new insights they need jazzing up once in a while.&lt;br /&gt;&lt;br /&gt;One way to resolve both problems is to use an outside facilitator once in a while but that needs organization and, most likely, money.&lt;br /&gt;&lt;br /&gt;So, what if you could have a retrospective without a facilitator?&lt;br /&gt;&lt;br /&gt;Over the last few years I’ve been experimenting with a technique called a Dialogue Sheet.  Both in training and conference sessions I’ve used this to facilitate discussion.  For more about dialogue sheets see my website with examples from &lt;a href="http://www.allankelly.net/presentations/xpday2008.html"&gt;XP Day&lt;/a&gt;, &lt;a href="http://www.allankelly.net/presentations/spa2008.html"&gt;SPA&lt;/a&gt; and &lt;a href="http://www.allankelly.net/presentations/index.html"&gt;“Lean into Action”&lt;/a&gt; at the  Agile Lean Exchange last month.&lt;br /&gt;&lt;br /&gt;Now I’m working on a Retrospective Dialogue sheet.  The idea is a team us this for a facilitator-less retrospective.&lt;br /&gt;&lt;br /&gt;I hope to have the sheet ready by New Year and then I’ll be looking for some guinea pigs...&lt;br /&gt;&lt;br /&gt;And the quotes: these get placed around the dialogue sheet to provoke thought and reflection. &lt;br /&gt;&lt;br /&gt;When I’ve got this working I hope to allow you to download these sheets from my website or order printed versions directly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-1283188598496930988?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/1283188598496930988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/12/dialogue-sheets-retrospectives-and.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1283188598496930988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1283188598496930988'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/12/dialogue-sheets-retrospectives-and.html' title='Dialogue sheets, retrospectives and quotes (Send me your quotes)'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-4049990774708191079</id><published>2010-12-14T20:48:00.000Z</published><updated>2010-12-28T12:08:49.162Z</updated><title type='text'>Product Management an open secret, a differentiator</title><content type='html'>At the &lt;a href="http://www.skillsmatter.com/"&gt;Skills Matter Agile Lean Kanban exchange&lt;/a&gt; the other week someone - sorry I missed you name - told me about a report from the BBC on Product Management.  It turns out the report is from a branch of the BBC I didn’t know about, &lt;a href="http://www.bbctraining.com/documents/product_mgt_report.pdf"&gt;“BBC Academy” and it entitled “The State of Product Management 2010.”&lt;/a&gt;  Its well worth reading if you have an interest in Product Management or the UK software development scene.&lt;br /&gt;&lt;br /&gt;Although I’ve not blogged about it for a while Product Management is one of my passions.  &lt;br /&gt;&lt;br /&gt;Think of the development team as the beating heart of the work effort.  Someone has to keep the blood flowing, someone has to keep the arteries clear and make sure the right requests for work can channelled to the development team.&lt;br /&gt;&lt;br /&gt;This is a role.  Someone needs to do this.  Someone needs to understand customers and be in a position to prioritise. And someone needs to be able to have ongoing conversations with customers, developers and everyone else.&lt;br /&gt;&lt;br /&gt;This is not a document, attempts to do this with a document makes things worse.  Documents don’t have conversations.  Documents are static.&lt;br /&gt;&lt;br /&gt;One of the reason why Silicon Valley companies are so successful is that they understand this.  In Silicon Valley there is a well developed role called the Product Manager.  This is the person who looks at the customers, understands their problems and needs, looks at the market and a whole bunch of other stuff, and this person decides what is needed for a successful software product.&lt;br /&gt;&lt;br /&gt;I point to Silicon Valley because certainly in Europe, and I suspect in much of the rest of the USA, this role isn’t so widely recognised.&lt;br /&gt;&lt;br /&gt;This role doesn’t exist in corporate IT.  Here the Product Manager’s cousin the Business Analyst fills a similar role but in a very different way.  However, there is change afoot here, stay with me.&lt;br /&gt;&lt;br /&gt;Here in the UK I find I have to explain this role to clients again and again.  They make four common mistakes:&lt;br /&gt;&lt;br /&gt;&lt;ol style="list-style-type: decimal"&gt;&lt;li&gt;They assume the development team just know what is needed.  Sometimes they do, sometimes they don’t. They may get luck once but can you rely on luck the second time? Third time?&lt;/li&gt;&lt;li&gt;They assume that the Project Manager knows.  Again this is wrong, Project Manager training is about delivering a defined project to a date within constraints.  It is not about understanding customers. (True there is overlap but Project Managers training is different.)&lt;/li&gt;&lt;li&gt;Experience IT Managers see the need and appoint a Business Analysts.  This is the right thing to do when you are a corporate IT department, or if you are writing bespoke software for one customer but, if you are trying to create a product to sell to many customers it is the wrong choice.&lt;/li&gt;&lt;li&gt;Managers assume it is obvious, or that they, the “managers” know. If they are Product Managers or have been Product Manager they might be right.  Even if they do know what the customers want someone has to explain it to developers and be on hand to answer their questions.  Senior Managers just don’t have the time.&lt;/li&gt;&lt;/ol&gt;So its good to see the BBC highlighting this role.  The description in this report is very media centric but it is recognisably the Silicon Valley Product Manager role. There are some good case studies in the report.&lt;br /&gt;&lt;br /&gt;As I said, over in the corporate IT world this role doesn’t exist because customers are captive.  One of the key aspects of the Product Manager role is understanding what customers (who have a choice) will pay for.  In the corporate IT world this doesn’t exist: you get what you are given.  So the BA role is similar but different. (There are other difference but they are for another day.)&lt;br /&gt;&lt;br /&gt;(Interestingly several of the Product Managers quotes in the BBC report state they have Business Analysis backgrounds.)&lt;br /&gt;&lt;br /&gt;The thing is: Business Analysts need to become more like Product Managers because more and more corporate IT departments are creating systems for external customers who do have a choice.&lt;br /&gt;&lt;br /&gt;For example, 15 years ago just about all the IT created by travel companies was for their own use.  Today travel companies have customer facing IT systems which can both win and loose the company sales.  Online offerings are part of the buying experience, part of the customer experience and a potential product differentiator.&lt;br /&gt;&lt;br /&gt;Even though the Product Manager role is not as well understood as it should be it is becoming more important.  For those who get it Product Management is a potential differentiator.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-4049990774708191079?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/4049990774708191079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/12/product-management-open-secret.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4049990774708191079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4049990774708191079'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/12/product-management-open-secret.html' title='Product Management an open secret, a differentiator'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-8095143647961912681</id><published>2010-12-12T14:55:00.000Z</published><updated>2010-12-12T14:57:47.028Z</updated><title type='text'>Return to Requirements @ Skills Matter</title><content type='html'>I’m presenting a &lt;a href="http://skillsmatter.com/"&gt;Skills Matter&lt;/a&gt; &lt;em&gt;In the Brain Session&lt;/em&gt; this week, entitled “Return to Requirements.”&lt;br /&gt;&lt;br /&gt;The key thing about this presentation is that it give a very very brief overview of the “Agile 10 Step” which is the model I use to discuss requirements in Agile work.&lt;br /&gt;&lt;br /&gt;It is Tuesday 14 December, 6.30pm to be exact.  Its free but you need to &lt;a href="http://skillsmatter.com/event/agile-scrum/return-to-requirements-in-an-agile-way"&gt;registration is required&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-8095143647961912681?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/8095143647961912681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/12/return-to-requirements-skills-matter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8095143647961912681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8095143647961912681'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/12/return-to-requirements-skills-matter.html' title='Return to Requirements @ Skills Matter'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-8085272118001985068</id><published>2010-12-01T09:29:00.010Z</published><updated>2010-12-01T09:40:59.282Z</updated><title type='text'>Salami Agile</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/1/18/Salami_aka.jpg"&gt;&lt;br /&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:right;cursor:pointer; cursor:hand;width: 30%; height: 30%;" src="http://upload.wikimedia.org/wikipedia/commons/1/18/Salami_aka.jpg" border="0" alt=""/&gt;&lt;/a&gt;&lt;br /&gt;More than one software development team has encountered the situation when the team want to be more “Agile”, the organization and management might even be asking them to be more “Agile” but, there are still many “requirements” in a big requirements document and the expectation is that all these will be “delivered.”&lt;br /&gt;&lt;br /&gt;Ideally I would not set up and Agile development like this.  Yes I’d set a few requirements to seed the first iteration but I would take a more goal directed approach.  I’ve written about this elsewhere - see &lt;a href="http://www.requirementsnetwork.com/node/2597"&gt;Time for Goal Directed Projects.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Basically Goal Directed means: the team have a goal, the team will determine what needs doing (requirements) and do it (implementation) as part of the same project.  The team will be staffed with everyone they need to do both sides of the work (BAs, Developers, Testers, etc.) and will be judged by their success on reaching the goal.  They will not be judged on how many features they implemented from some big initial set.&lt;br /&gt;&lt;br /&gt;But, as I started by saying, some teams do have a shopping list of things they are expected to deliver and they will be judged on how many of those items are delivered and when.&lt;br /&gt;&lt;br /&gt;So what do they do?&lt;br /&gt;&lt;br /&gt;This is where &lt;strong&gt;Salami Agile&lt;/strong&gt; comes along.&lt;br /&gt;&lt;br /&gt;Think of the Big Requirements Document as an uncut piece of Salami.  Someone on the team - preferably someone with Business Analysis skills but it could be a developer, project manager, or someone else - needs to slice the requirements into thin pieces of salami (story) for development.&lt;br /&gt;&lt;br /&gt;There is no point in slicing the whole salami in one go.  That would just turn a big requirements document into a big stack of development stories.  The skill lies in determining which bits of the document are ready (ripe) for development, which bits are valuable, and which bits can be delivered independently.  &lt;br /&gt;&lt;br /&gt;Some slices of salami will need to be thicker than others but thats just the nature of the world. Over time, with more skill at slicing salami it will improve.&lt;br /&gt;&lt;br /&gt;Ideally, the pieces of salami are delivered to the customer early, and over time they start to realise they don’t need some parts of the requirements document, some salami can be left unsliced and simply thrown away.  Other pieces of salami will be cut and then thrown away.  Thats not failure that’s reducing the work and is good.&lt;br /&gt;&lt;br /&gt;And some requirements which were not though of can be easily incorporated.  To stretch the analogy, you switch from German Salami to Danish Salami and back again if you so choose.&lt;br /&gt;&lt;br /&gt;I imagine some readers will recognise this development approach, good.  Now we have a name for it: &lt;strong&gt;Salami Agile&lt;/strong&gt;.&lt;br /&gt;(Picture from &lt;a href="http://commons.wikimedia.org/wiki/File:Salami_aka.jpg"&gt;André Karwath on WikiCommons&lt;/a&gt; under Creative Commons Attribution-Share Alike 2.5 Generic license.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-8085272118001985068?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/8085272118001985068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/12/salami-agile.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8085272118001985068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8085272118001985068'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/12/salami-agile.html' title='Salami Agile'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-8912552927921957743</id><published>2010-12-01T08:59:00.000Z</published><updated>2010-12-01T09:02:53.215Z</updated><title type='text'>Agile in Cornwall</title><content type='html'>As I’ve mentioned before, one of my current projects is to help companies in Cornwall adopt Agile software development.  The programme is bring run under the &lt;a href="http://www.growcornwall.co.uk/"&gt;Grow Cornwall&lt;/a&gt; umbrella by &lt;a href="http://www.oxfordinnovation.co.uk/"&gt;Oxford Innovation&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Next Thursday there are two open to everyone sessions to introduce Agile to companies in the Cornwall area and talk about the work we are doing.&lt;br /&gt;&lt;br /&gt;If your interested you need to register at &lt;a href="http://www.cornwalldigital.co.uk/calendar/15524098/?from=list&amp;offset=0"&gt;MeetUp - “Agile in Cornwall - Meet the Experts.”&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-8912552927921957743?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/8912552927921957743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/12/agile-in-cornwall.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8912552927921957743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8912552927921957743'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/12/agile-in-cornwall.html' title='Agile in Cornwall'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-2366978351876249274</id><published>2010-11-25T17:40:00.000Z</published><updated>2010-11-25T17:42:29.943Z</updated><title type='text'>Three plans for Agile (long version)</title><content type='html'>As noted in my last blog entry RQNG has published my description of Agile planning using Iteration plans, Release Plans and Roadmaps.  I’ve added a little bit to this an produced a longer version of the same piece - it only adds about a page.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.allankelly.net/static/writing/webonly/ThreePlansForAgile_long.pdf"&gt;Three Plans for Agile (long version)&lt;/a&gt; is now available on my website.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-2366978351876249274?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/2366978351876249274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/11/three-plans-for-agile-long-version.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2366978351876249274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2366978351876249274'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/11/three-plans-for-agile-long-version.html' title='Three plans for Agile (long version)'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-2618688213727876122</id><published>2010-11-17T17:07:00.000Z</published><updated>2010-11-17T17:12:46.767Z</updated><title type='text'>Three Plans for Agile on RQNG</title><content type='html'>&lt;a href="http://www.requirementsnetwork.com"&gt;RQNG&lt;/a&gt; has published one of my articles entitled &lt;a href="http://www.requirementsnetwork.com/node/2663"&gt;“Three Plans for Agile”.&lt;/a&gt;  This looks at the role of iteration plans, release plans and roadmaps, and how the three fit together.&lt;br /&gt;&lt;br /&gt;I have to say thanks to Jon Harley, we had an e-mail discussion months ago which was the seed of this article.&lt;br /&gt;&lt;br /&gt;After writing this I discovered (I’d like to say remembered but truly, I’d forgotten) that I actually blogged about this early last year as part of my &lt;a href="http://allankelly.blogspot.com/2009/01/project-plans-part-3-of-3-planning.html"&gt;Project Plans mini-series&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-2618688213727876122?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/2618688213727876122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/11/three-plans-for-agile-on-rqng.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2618688213727876122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2618688213727876122'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/11/three-plans-for-agile-on-rqng.html' title='Three Plans for Agile on RQNG'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-9031570331885220867</id><published>2010-11-08T17:16:00.000Z</published><updated>2010-11-08T17:18:01.831Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='corporate'/><category scheme='http://www.blogger.com/atom/ns#' term='Reverse-Tolstoy'/><title type='text'>Reverse-Tolstoy continued - from Agile EE</title><content type='html'>In my &lt;a href="http://allankelly.blogspot.com/2010/11/reverse-tolstoy-or-tolstoy-reconsidered.html"&gt;last posting I suggested that&lt;/a&gt;if &lt;a href="http://allankelly.blogspot.com/2010/11/reverse-tolstoy-or-tolstoy-reconsidered.html"&gt;Leo Tolstoy&lt;/a&gt; worked in a corporate IT department the opening lines of &lt;a href="http://en.wikipedia.org/wiki/Anna_Karenina"&gt;Anna Korenina&lt;/a&gt; might have read:&lt;br /&gt;&lt;br /&gt;“Unhappy corporate IT departments are all alike in the same unhappy way; all happy departments are happy in their own way.”&lt;br /&gt;&lt;br /&gt;I call it &lt;a href="http://allankelly.blogspot.com/2010/11/reverse-tolstoy-or-tolstoy-reconsidered.html"&gt;Reverse-Tolstoy&lt;/a&gt; (because he actually wrote the reverse, well kind of).  I want to continue that rant with some other ways corporate IT departments repeatedly mess up.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Belief that process change is it&lt;/strong&gt;&lt;br /&gt;I wrote in my previous entry that corporate IT departments do not focus enough on the technical side of Agile, specifically they don’t think about code quality and technical practices.  Part of this is caused by a belief that process change is the change they require.  That is to say, that changing the process they use, whether that means “Agile” rather than “Waterfall”, or Scrum over ISO-9000, or Kanban over ad hoc, or what ever, well, thats the change they need.&lt;br /&gt;&lt;br /&gt;Such a view ignores the technical side of change required.  As I’ve said before, and I’ll say again, I don’t believe you can be Agile if you don’t address the quality issue.  I also believe that the best place to start your Agile change is with the quality improvement (thats a TQM, ISO9000 or Six Sigma quality programme by the way).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;No customer involvement&lt;br /&gt;&lt;/strong&gt;For these IT departments actual, paying, customers are a long long way away.  This is changing a little but most of the customer they have are internal, i.e. other parts of the business.  These customers have little involvement in the development of IT system.  Indeed, you will frequently be told that they want minimal involvement.&lt;br /&gt;&lt;br /&gt;The internal customers have an image that they can hand over and idea, sign a requirements document, and leave IT to get on with it.  They might get involved in some acceptance testing but they don’t want to hear about it before then.&lt;br /&gt;&lt;br /&gt;I think this view has been encouraged by corporate IT.  I think IT as an industry has trained customer very well, customer now believe if they just write it down, hand it over then it will be.  Kind of double-think really because most customers have also seen IT failure.  However, they think its “IT failure”.  The idea that they, the “customers”, might be part of the solution is strange to them.  &lt;br /&gt;&lt;br /&gt;Instead they cling to....&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;“Long” UAT cycles that are separate from development&lt;br /&gt;&lt;/strong&gt;UAT, User Acceptance Test, the thing that the “business side”, the people who want the software do to ensure you deliver what they originally asked for.  Having thrown it over the wall, having waited, having complained the “customer” wants make sure you deliver what they asked for.  So the have a user acceptance test cycle.&lt;br /&gt;&lt;br /&gt;Unfortunately this normally comes too late in the day to make a real difference, and, real “users” don’t actually want to be involved.  So you often find UAT is carried out by dedicated UAT testers who don’t actually do the customers job.&lt;br /&gt;&lt;br /&gt;UAT ends up being just another test cycle.  All too often it is where real testing takes place, by the time the software reaches UAT it is still buggy.  Rather than being about seeing if the users like the software UAT is about finding bugs.&lt;br /&gt;&lt;br /&gt;UAT is normally one of those “no go” areas when you start talking Agile.  Frankly, the business doesn’t trust IT enough to believe they will deliver anything, let alone that it is of high enough quality or actually meet customer needs.&lt;br /&gt;&lt;br /&gt;Personally, I think you can abolish UAT, but I don’t want to try until I’ve fixed the quality problems in the team and got the basics of Agile up and running.  But during this time people keep waving big red UAT flags warning you not to mess with UAT.&lt;br /&gt;&lt;br /&gt;This is another example of....&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Adherence to existing processes and constraints&lt;br /&gt;&lt;/strong&gt;All the companies have existing processes in place.  Many of them are simply “off limits.”  You get looked at as if you are mad when you suggest they annual planning cycles aren’t Agile, or time tracking systems are pointless.&lt;br /&gt;&lt;br /&gt;The trouble is, too many of these “off limits” areas and you end up with no change.  One big off limits process is the time tracking system....&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Time tracking systems - measuring inputs not outputs&lt;br /&gt;&lt;/strong&gt;Nether mind that time tracking is an act of fantasy on a par with Arthur Conan Doyle, or that it wastes a lot of people time and even more energy one thing that is never on the agenda for change is time tracking.&lt;br /&gt;&lt;br /&gt;All these big companies seem addicted to measuring inputs rather than outputs.  They know the cost of everything and the value of nothing.  Or rather, they think they know costs but really the time tracking systems are so hopelessly inaccurate they don’t reflect what is actually happening.&lt;br /&gt;&lt;br /&gt;Time tracking gets really dirty when resources are not visible, that is, when they are offshore.  Manager worry that their teams aren’t working hard enough but my experience is the teams are working to hard and just not logging all the hours - the late nights, weekends.  The offshore staff thing they are “doing whats needed.”  Unfortunately when this short term fix gets ingrained into regular practice its a big problem.  It is also a sign, and the cause of, a lack of trust.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SWAGs “High level estimates” &lt;br /&gt;&lt;/strong&gt;Large companies like to get early “high level” estimates, sometimes called “Seriously Wild Assed Guess”.  The idea is to get a ball park number for initial planning and refine it later one.&lt;br /&gt;&lt;br /&gt;Trouble is, they don’t.  The SWAG is it.  It is treated as commitment and people are expected to honour it.  In the worst cases the SWAGs appear to work, but thats really because the time tracking system is such a fantasy-land.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Quick Test Pro and Quality Center&lt;br /&gt;&lt;/strong&gt;All these big messed up IT departments use Quick Test Pro and Quality Center.  I’ve looked at these tools, albeit a little, and my conclusion: &lt;em&gt;Emperor’s New Clothes.&lt;/em&gt; There is nothing there.&lt;br /&gt;&lt;br /&gt;So why so many test groups are stuck on an old version I don’t know.&lt;br /&gt;&lt;br /&gt;Message: Save money, throw them out, get FIT, Selenium, JUnit, etc.  The best things in life are free.&lt;br /&gt;&lt;br /&gt;I look forward to the day when writing a test script in a natural language like English is a criminal offence you can be sent to jail for.  If you are going to write a test script then automate it.  Precise English takes just as long to write as code.  (Even then it isn’t so precise.)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Not really knowing why they are doing “Agile” - seems to be the fashion of the day&lt;br /&gt;&lt;/strong&gt;At the end of the day most of these corporate IT departments don’t actually know why they are trying to be Agile.  I think if they were to really think hard the answer would be Fashion.  Yes it sounds good but so did Business Process Re-egineering, ISO-9000 and offshore outsourcing.&lt;br /&gt;&lt;br /&gt;Most of the staff inside the companies regard Agile as just the latest change programme.  They know it will pass in time.  Yes there are some very enthusiastic people in the company, and some highly paid consultants too but that was the case with BPR, ISO-9000, and every other change initiative.&lt;br /&gt;&lt;br /&gt;The trick is: keep you head down, look like your going along with it and wait for the next fashion to replace this one.  In other words: &lt;strong&gt;Don’t want to rock the boat too far.&lt;/strong&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-9031570331885220867?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/9031570331885220867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/11/reverse-tolstoy-continued-from-agile-ee.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/9031570331885220867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/9031570331885220867'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/11/reverse-tolstoy-continued-from-agile-ee.html' title='Reverse-Tolstoy continued - from Agile EE'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-2892196045954363260</id><published>2010-11-05T14:42:00.001Z</published><updated>2010-11-05T14:42:50.158Z</updated><title type='text'>Reverse-Tolstoy, or Tolstoy reconsidered</title><content type='html'>Rather famously &lt;a href="http://en.wikipedia.org/wiki/Tolstoy"&gt;Tolstoy&lt;/a&gt; started &lt;a href="http://en.wikipedia.org/wiki/Anna_Karenina"&gt;Anna Korenina&lt;/a&gt; with the words:&lt;br /&gt;&lt;br /&gt;“Happy families are all alike; every unhappy family is unhappy in its own way.”&lt;br /&gt;&lt;br /&gt;I like many others have repeated this quote, and even applied it to business and, in particular the act of creating software.  I think, although I dread to check now, that I even open one of the chapters of Changing Software Development with the quote.&lt;br /&gt;&lt;br /&gt;I dread because I have come to the conclusion that it it the wrong way around - at least for companies, and specifically the bits of corporations which produce software but which sell something else (i.e. Corporate IT departments) the quote should be:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;“Unhappy companies are all alike; every happy company is happy in its own way.”&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Blame (credit?) &lt;a href="http://jchyip.blogspot.com"&gt;Jason Yip&lt;/a&gt; and his &lt;a href="http://jchyip.blogspot.com/2009/10/problems-i-know-you-have.html"&gt;“Problems I know you have”&lt;/a&gt; blog post that sowed the seeds.  But after a series of corporate clients in the last couple of years I’d like to offer my own list.&lt;br /&gt;&lt;br /&gt;Here is a quick list of the mistakes I see big corporate IT departments making in the development of software.  Actually, there are too many points here, there will have to be a part 2 to this post...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Too much Work in progress&lt;br /&gt;&lt;/strong&gt;Companies ask so much of their software development groups and these groups don’t say No.  As a result they have far more projects in the pipe than they can ever hope to deliver in the supposed timeframe.  Earlier this year I met a manager who had about 10 or 12 people reporting to him, he was trying to schedule them to about 17 projects.  Any attempts to do anything other than run all 17 at once were an anathema to him and his managers.&lt;br /&gt;&lt;br /&gt;This leads to....&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Resource foobar&lt;/strong&gt;&lt;br /&gt;For “resources” read people.  There are only so many people in the corporate IT department and in an effort to do work people are assigned to work on multiple projects.  So #1 their productivity drops because they are now task switching, #2 quality drops because they are thinking of so many different things, #3 predictability falls because you don’t know when they’ll be working on which project, #4 arguments follow over who should be working on what.&lt;br /&gt;&lt;br /&gt;At one client I analysed the (highly inaccurate) time tracking system and found some people worked on 14 projects in one week.  Although about 54% of employees only worked on one project a week those who worked on more than one averaged 2.7 projects per week each.&lt;br /&gt;&lt;br /&gt;Part of the problem is...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Resource (people) pools&lt;br /&gt;&lt;/strong&gt;People aren’t allowed to stay with the same piece of code for very long.  Which means those who manage them must argue over what project they are assigned to and when.  And when they aren’t assigned to a piece of work, but they are the only person who can fix a problem, then all hell breaks loose which destroys the predictability of the project they should be on.&lt;br /&gt;&lt;br /&gt;Successful sports teams (think Manchester United) don’t break the team up at the end of the season.  Could you imagine the manager saying: “Well the season is over, I don’t need you for a few months so I’ll assemble a new team then, goodbye.”&lt;br /&gt;&lt;br /&gt;Unsuccessful sports teams (think Everton, I know I do) usually sell the best players at the end of the season and need to rebuild the team at the start of the next.&lt;br /&gt;&lt;br /&gt;Sometime they are pulled off work because of....&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Year long portfolio planning&lt;br /&gt;&lt;/strong&gt;Which means the company decides on some arbitrary date what it will work on for the next year.  Which supposes #1 the company has perfect foresight, #2 nothing will change, #3 all projects will run as planned.&lt;br /&gt;&lt;br /&gt;Question: How can you be Agile if you decide at the start of the year what you will be doing at the end?&lt;br /&gt;Question: Did your company have a year long plan on Friday 12 September 2008?  Was the plan still valid on &lt;a href="http://en.wikipedia.org/wiki/Lehman_Brothers"&gt;Monday 15 September 2008&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;One side effect of this is: demand for “architects”, “designers” and such is very high at the start of the year, while at the end nobody wants an “architect” but everyone wants Testers.  So you create your own resource crush.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Too many Chiefs, not enough....&lt;/strong&gt;&lt;br /&gt;Big companies don’t like coding, its dirty “engineer” work.  So that is all sent offshore or hidden somewhere.  Which means they need people to manage it: Development Managers, Project Managers, Programme Managers, Work Package Managers, Test Managers, Development Leads, Test Leads, and their friends the: Architects, SMEs, Business Analysts, etc. etc.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Rule of thumb #1&lt;/strong&gt;: if the number of coders and testers working on a project is less than than half you have a problem.&lt;br /&gt;&lt;strong&gt;Rule of thumb #2&lt;/strong&gt;: if you find yourself sitting in a room with other (none coders or testers) discussing the work of coders and testers with none of them present then you have a problem&lt;br /&gt;&lt;br /&gt;Of course, that assume you have a room....&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Too many meetings; too few rooms (projectors, teleconferences, etc.)&lt;br /&gt;&lt;/strong&gt;When you can’t have a meeting because you can’t get a room its a sign that either you have too many meetings, or.... no, its just a sign that you have too many meetings.&lt;br /&gt;&lt;br /&gt;When a company saves money on projectors, teleconferences kit, video conference kit, etc. it saves money on the bottom line but people waste far more value faffing around with making do with inadequate resources.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;No quality practices at the code face&lt;br /&gt;&lt;/strong&gt;And when you have too many chiefs you are likely to find that all talk about “Agile” is about Iterations, Stand-up meetings, User Stories and so on.  &lt;br /&gt;&lt;br /&gt;&lt;em&gt;Wake up and smell the coffee&lt;/em&gt;: if you can’t get quality code done Agile isn’t going to save the day.  Invest in TDD, CI, Refectoring, etc. etc.  While some big companies do this many don’t - many small ones don’t either but they are not the subject of this post.&lt;br /&gt;&lt;br /&gt;There are assumptions at work here: quality is expensive, quality isn’t achievable (all software has bugs doesn’t it?), quality is something developers do, or should do, either way, its something people with dirty under their finger nails are involved with. (I talked about this at the Agile Business Conference last month, &lt;a href="Quality – How much quality can we afford?"&gt;Quality – How much quality can we afford?&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Even raising the quality question can lead to accusations that the questioner doesn’t “see the bigger picture.”&lt;br /&gt;&lt;br /&gt;(Sometime when you dig into things developers are already moving in this direction but they are doing so without making a song and dance about it.)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Hierarchy&lt;br /&gt;&lt;/strong&gt;This deserve a blog entry on its own.  Inherent in Agile as a whole, but not spelt out explicitly, there is an assumption of a equality.  That we are all in this together, we all have a common goal, and we aren’t going to let job titles, length of service, age or other stuff get in the way.&lt;br /&gt;&lt;br /&gt;Unfortunately most of the corporate IT groups I’ve seen in the last few years have various people who do stand on hierarchy.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Functional silos&lt;br /&gt;&lt;/strong&gt;Why, o why, do companies organise themselves as: Test group, Development Group, Analysis Group, and so on?&lt;br /&gt;No one group can deliver a product on its own.&lt;br /&gt;&lt;br /&gt;Once you have silos you have people (managers) who need to justify and protect their silo. Solutions which mean people are more integrated worry them.&lt;br /&gt; &lt;br /&gt;&lt;strong&gt;Lack of knowledge / Knowledgeable people&lt;br /&gt;&lt;/strong&gt;Another reoccurring bottleneck is the lack of people who actually understand the systems and code base.  This is sometime made worse by earlier redundancy programmes.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Kelly’s Knowledge Law #1:&lt;/strong&gt; It takes time for people to become expert on a software code base and system&lt;br /&gt;&lt;strong&gt;Kelly’s Knowledge Law #2:&lt;/strong&gt; Knowledge transfer programmes don’t fix this any time soon&lt;br /&gt;&lt;strong&gt;Kelly’s Knowledge Law #3:&lt;/strong&gt; You are where you are because of earlier decisions not to recruit more people, not to train more people and to fire people&lt;br /&gt;&lt;br /&gt;Don’t believe me? Check out &lt;a href="http://en.wikipedia.org/wiki/Brooks_Law"&gt;Brook’s Law&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And to make things worse....&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Knowledge doesn’t accrue in offshore partners&lt;br /&gt;&lt;/strong&gt;The likes of Wipro, TCS, InfoSys and so on rotate their people every few years.  So just as Sid is getting to be proficient in your code base he is moved to another client.&lt;br /&gt;&lt;br /&gt;That is, of course, assuming Sid stayed with your supplier long enough to get knowledge of your systems.  &lt;br /&gt;Assuming he did: remember he works for your supplier not you&lt;br /&gt;&lt;br /&gt;Which leads to....&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Hollowing out your knowledge pool&lt;br /&gt;&lt;/strong&gt;In the early days of outsourcing some really stupid companies gave their staff to the new supplier.  When they tried to take IT back they found the people and knowledge stayed with the supplier.&lt;br /&gt;&lt;br /&gt;So today most (clever) companies keep the key people - people with experience, “architects” and the like.  But, these people are growing older, and sometimes they leave of their own accord.  Which begs the question:  Are you creating the next generation?&lt;br /&gt;&lt;br /&gt;How does someone get to be an Architect? (i.e. a developer who might code)&lt;br /&gt;Or an Subject Matter Expert? (e.g. a system analyst who doesn’t code)&lt;br /&gt;&lt;br /&gt;Answer: they get to know this stuff because they once cut code.&lt;br /&gt;These people became Architect and exports because you decided their knowledge was too valuable to have leave the company or do dirty things like coding.&lt;br /&gt;&lt;br /&gt;So what are you going to do when they move on?  Or retire?&lt;br /&gt;&lt;br /&gt;Remember: the thing that makes them valuable is a) they work for you, b) they worked for you for so long they know how it works.&lt;br /&gt;Outsource the doing today and you loose you knowledge tomorrow.&lt;br /&gt;&lt;br /&gt;I see these issues repeated over an over again.  Now I’ve told you it isn’t rocket science so why do companies do to themselves?&lt;br /&gt;&lt;br /&gt;As Tolstoy might have said: “Unhappy companies are all alike; every happy company is happy in its own way.”&lt;br /&gt;&lt;br /&gt;I’ll continue this rant in another blog posting soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-2892196045954363260?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/2892196045954363260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/11/reverse-tolstoy-or-tolstoy-reconsidered.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2892196045954363260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2892196045954363260'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/11/reverse-tolstoy-or-tolstoy-reconsidered.html' title='Reverse-Tolstoy, or Tolstoy reconsidered'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-2956650662877552684</id><published>2010-11-02T17:05:00.001Z</published><updated>2010-11-02T17:06:54.468Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Cornwall'/><title type='text'>Agile elevator pitch</title><content type='html'>My (our) entry in the Agile elevator pitch competition:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;“[Agile] Provides philosophy, techniques and tools to alleviate the pain of traditional development and make teams more effective thus increase your profit.&lt;br /&gt;&lt;br /&gt;Companies such as the BBC, GE Energy, Yahoo, the Financial Times, The Guardian and others have already adopted the approached.”&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;As some people know, I’ve been doing a lot of work in &lt;a href="http://maps.google.co.uk/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=cornwall&amp;sll=53.800651,-4.064941&amp;sspn=12.948388,31.68457&amp;ie=UTF8&amp;hq=&amp;hnear=Cornwall,+United+Kingdom&amp;z=8"&gt;Cornwall&lt;/a&gt; recently.  This involves working with a variety of companies all involved in software development - from online e-commerce website builders to companies creating embedded software for medical devices.&lt;br /&gt;&lt;br /&gt;My partner in this endeavour, Michael Barritt of Oxford Innovation and &lt;a href="http://www.growcornwall.co.uk/"&gt;Grow Cornwall&lt;/a&gt;, suggested we really need an elevator pitch statement for what all this Agile is about.  The above is our result.&lt;br /&gt;&lt;br /&gt;Of course this is context specific.  Too many senior managers this is irrelevant because they don’t know anything about software development.  At that kind of level Agile itself becomes meaningless because it is a solution to a problem which they know nothing about.  And actually, they don’t want to know about.&lt;br /&gt;&lt;br /&gt;There is always a danger with Agile elevator pitches, or any other type of elevator pitch, that it just becomes “Will increase your return on investment.”  At some point such pitches become meaningless, you don’t know if the product will fix your software development issues, cure cancer or make you tea in the morning.&lt;br /&gt;&lt;br /&gt;So what do you think? &lt;br /&gt; Good?&lt;br /&gt; Bad?&lt;br /&gt; Indifferent?&lt;br /&gt; Got a better one?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-2956650662877552684?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/2956650662877552684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/11/agile-elevator-pitch.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2956650662877552684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2956650662877552684'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/11/agile-elevator-pitch.html' title='Agile elevator pitch'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-3222515088879810867</id><published>2010-10-27T16:29:00.000+01:00</published><updated>2010-10-27T16:31:11.013+01:00</updated><title type='text'>Red, Green, Kaizen</title><content type='html'>Back at the beginning of September &lt;a href="http://www.kevinrutherford.co.uk/"&gt;Kevin Rutherford&lt;/a&gt; tweeted:&lt;br /&gt;&lt;br /&gt;‘Anyone know the Japanese for "red, green, refactor” ?’&lt;br /&gt;&lt;br /&gt;Now as it happens I know a Japanese speaker very well.  Red was easy “akai”.  Green was a little tricky because the Japanese actually have two words for Green, “aoi” and “midori.”  We went with midori.&lt;br /&gt;&lt;br /&gt;Refactor was a little bit tricky.  After all, there was no such word in the English language until Martin Fowler published Refactoring.  Indeed, “refactor” still haven’t made it into my English dictionary.&lt;br /&gt;&lt;br /&gt;My translator suggested the Japanese would probably stick with the English  term so we got  “akai, midori, Refactor.”&lt;br /&gt;&lt;br /&gt;At which point Kevin asked: “akai, midori, kaizen?”&lt;br /&gt;&lt;br /&gt;Its taken me a few weeks to have an in-depth conversation about this with my translator but it seems Kevlin is right.&lt;br /&gt;&lt;br /&gt;Kaizen is actually two Japanese words:&lt;br /&gt;Kai: change&lt;br /&gt;Zen: good &lt;br /&gt;&lt;br /&gt;So the net effect is: “to change [improve] for the good”&lt;br /&gt;&lt;br /&gt;Which seems to sum up refactoring perfectly.&lt;br /&gt;&lt;br /&gt;Now, any other Japanese speakers out there like to refactor?&lt;br /&gt;&lt;br /&gt;And just a gentle reminder that &lt;a href="http://www.allankelly.net/writing/“http://www.amazon.co.jp/gp/switch-language/product/4320097599/ref=dp_change_lang?ie=UTF8&amp;language=en_JP”"&gt;Changing Software Development is now available in Japanese.&lt;/a&gt; My personal Japanese translator didn’t do this translation, it was handled by the &lt;a href="http://www.kyoritsu-pub.co.jp/bookhtml/0313/003412.html"&gt;Japanese publisher&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-3222515088879810867?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/3222515088879810867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/10/red-green-kaizen.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3222515088879810867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3222515088879810867'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/10/red-green-kaizen.html' title='Red, Green, Kaizen'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-916103122960039420</id><published>2010-10-24T21:41:00.002+01:00</published><updated>2010-10-24T21:41:00.475+01:00</updated><title type='text'>An Agile Reader - buy it now!</title><content type='html'>When I deliver training courses I like to give participants something to take away to read, something that is more readable than PowerPoint slides.  Sometimes participants get a copy of my book, &lt;a href="http://www.amazon.co.uk/gp/product/047051504X?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=047051504X"&gt;Changing Software Development&lt;/a&gt;, but that is expensive to me and not always appropriate. (These days I tend to tell people &lt;a href="http://www.amazon.co.uk/gp/product/047051504X?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=047051504X"&gt;CSD&lt;/a&gt; (as I call it in private) is an advanced Agile text, not an introductory one.)&lt;br /&gt;&lt;br /&gt;A few months ago I decided to put together &lt;a href="http://www.lulu.com/product/paperback/an-agile-reader/12977048"&gt;“An Agile Reader.”&lt;/a&gt;  This is a mini-book, its a collection of articles which are interesting for someone new to Agile and decidedly shorter to read than Changing Software Development.&lt;br /&gt;&lt;br /&gt;Anyone who’s been on a course with me in the last couple of months will probably have seen a copy of this.  The feedback on the mini-book has been good and at recent conferences I’ve given away some spare copies.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.lulu.com/product/paperback/an-agile-reader/12977048"&gt;So I’ve decided to make it public.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.lulu.com/commerce/index.php?fBuyContent=9211285"&gt;&lt;img src="http://static.lulu.com/images/services/buy_now_buttons/gb/book_blue.gif?20101019131253" border="0" alt="Support independent publishing: Buy this book on Lulu."&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you’d like a copy you can buy a physical copy here, or download the complete PDF.  Price is £4.99 for the physical copy, currently discounted to £3.99 or £1 for the electronic.&lt;br /&gt;&lt;br /&gt;I don’t see this as a new book, I prefer to call it a mini-book.  Its a collection of essays, most of which you can get for free from &lt;a href="http://www.allankelly.net/writing/agile.html"&gt;my website&lt;/a&gt; or this &lt;a href="http://allankelly.blogspot.com/"&gt;blog&lt;/a&gt;.  Its self-published using Lulu, its not been professionally copy edited and its not got an ISBN number.&lt;br /&gt;&lt;br /&gt;Let me know what you think.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.lulu.com/commerce/index.php?fBuyContent=9211285"&gt;&lt;img src="http://static.lulu.com/images/services/buy_now_buttons/gb/blue.gif?20101019131253" border="0" alt="Support independent publishing: Buy this book on Lulu."&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-916103122960039420?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/916103122960039420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/10/agile-reader-buy-it-now.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/916103122960039420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/916103122960039420'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/10/agile-reader-buy-it-now.html' title='An Agile Reader - buy it now!'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-8057376995659336843</id><published>2010-10-21T17:05:00.001+01:00</published><updated>2010-10-21T17:05:30.319+01:00</updated><title type='text'>Cranfield study Supporting the alignment trap</title><content type='html'>I’ve blogged before about “The Alignment Trap” (Originally in &lt;a href="http://allankelly.blogspot.com/2007/12/it-better-to-be-effective-or-aligned.html"&gt;December 2007&lt;/a&gt; and after my piece in &lt;a href="http://www.agilejournal.com/articles/columns/column-articles/1223-requirements-come-second"&gt;The Agile Journal&lt;/a&gt; in &lt;a href="http://allankelly.blogspot.com/2009/02/requirements-better-off-being-generally.html"&gt;February 2009&lt;/a&gt;).  This is the counter-intuitive evidence that sometimes doing things right is more beneficial than doing the right think.  I often discuss this in my presentations and there are two standard reactions: for some this research rings true while others question it.&lt;br /&gt;&lt;br /&gt;Those who question it often ask: &lt;em&gt;is there any other evidence?&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Well, there just might be.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.som.cranfield.ac.uk/som/dinamic-content/research/documents/deliveringvaluereport.pdf"&gt;Delivering Value from Information Systems and Technology Investments: Learning from success&lt;/a&gt; is a survey report from Cranfield School of Management in the UK.  I only heard about this report a few months ago and its is now four years old but I see little reason to suspect things have changed since 2006.&lt;br /&gt;&lt;br /&gt;The researchers define four levels of maturity in organisations developing systems.  The first level is project delivery with the focus on the supply side.  In order to reach the higher levels organisations must first be able to successfully deliver the IT projects they undertake.&lt;br /&gt;&lt;br /&gt;In other words: doing things right is a prerequisite to success.&lt;br /&gt;&lt;br /&gt;(I should point out that this report has nothing to do with Agile, Waterfall or any other method.  Its about the ability to realise benefits from IS/IT projects whatever the approach.)&lt;br /&gt;&lt;br /&gt;The second level of maturity concerns realising the expected benefits from projects.  Here attention expands from the supply side to look more at the demand side and whether the business cases proposed are realistic.  It is here that “doing the right thing” starts to be the issue.&lt;br /&gt;&lt;br /&gt;Levels 3 and 4 concern realising benefits consistently across the whole portfolio.&lt;br /&gt;&lt;br /&gt;The report contains some other nuggets of information which are with reporting:&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;73% of survey respondents said significant improvements were needed to get satisfactory value from IS/IT.  (This 73% is curiously close to the 71% of companies in the “Maintenance zone” in the Alignment trap report.)&lt;/li&gt;&lt;li&gt;38% of businesses openly admit benefits are overstates in business cases in order to obtain project funding&lt;/li&gt;&lt;li&gt;80% report that review of work against the original objectives is inadequate&lt;/li&gt;&lt;/ul&gt;Finally, the other statement is worth analysing from this report is:&lt;br /&gt;&lt;br /&gt;“The data also indicates that organisations have undue faith in business cases and that the deployment of formal methodologies gives managers a false sense of security, perhaps an excuse for not becoming sufficiently involved.”&lt;br /&gt;&lt;br /&gt;If we take that statement apart it supports the Agile approach:&lt;br /&gt;&lt;ul style="list-style-type: disc"&gt;&lt;br /&gt;&lt;li&gt;“Undue faith in business cases”: Implies more tools are needed to tackle value.  Agile would suggest a try, experiment, fail-fast, fail-cheap approach&lt;/li&gt;&lt;br /&gt;&lt;li&gt;“Formal methodologies ... false sense of security”: That could be PRINCE2, Scrum or something else.  The methodology doesn’t have the answers.  You need to be pro-active and think for yourself.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;“Not becoming sufficiently involved”: Yet again we hear that lack of customer/user/manager involvement is a cause for failure.  We have a few tools for working around these problems but nothing beats having actual involvement.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-8057376995659336843?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/8057376995659336843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/10/cranfield-study-supporting-alignment.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8057376995659336843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8057376995659336843'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/10/cranfield-study-supporting-alignment.html' title='Cranfield study Supporting the alignment trap'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-3798535172340107635</id><published>2010-10-14T12:01:00.000+01:00</published><updated>2010-10-14T12:03:40.103+01:00</updated><title type='text'>Cambridge edition of Objective Agility now online</title><content type='html'>Slides from my Agile Cambridge 2010 &lt;a href="http://www.allankelly.net/static/presentations/Cambridge10ObjectiveAgility.pdf"&gt;Objective Agility: What does it take to be an Agile company?&lt;/a&gt; online now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-3798535172340107635?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/3798535172340107635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/10/cambridge-edition-of-objective-agility.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3798535172340107635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3798535172340107635'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/10/cambridge-edition-of-objective-agility.html' title='Cambridge edition of Objective Agility now online'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-5069057356712350290</id><published>2010-10-12T21:16:00.001+01:00</published><updated>2010-11-07T11:57:37.437Z</updated><title type='text'>Reuse Myth - can you afford reusable code?</title><content type='html'>In my Agile Business Conference present (“&lt;a href="http://www.allankelly.net/static/presentations/ABC2010_HowMuchQuality.pdf"&gt;How much quality can we afford?&lt;/a&gt;”) I talked about the &lt;strong&gt;Reuse Myth&lt;/strong&gt;, this is something always touch on when I deliver a training course but I’ve never taken time to write it down.  Until now.&lt;br /&gt;&lt;br /&gt;Lets take as our starting point &lt;a href="http://www.curbralan.com/"&gt;Kevlin Henney’s&lt;/a&gt; observation that “&lt;a href="http://www.two-sdg.demon.co.uk/curbralan/papers/minimalism/TheImperialClothingCrisis.html"&gt;there is no such thing as reusable code, only code that is reused.&lt;/a&gt;”  Kevlin (given the opportunity!) goes on to examine what constitutes “reuse” over simple “use.”  A good discussion itself but right now the I want to suggest that an awful lot of code which is “designed for reuse” is never actually re-used.&lt;br /&gt;&lt;br /&gt;In effect that design effort is over engineering, waste in other words.  One of the reasons developers want to “design for reuse” is not so much because the code will be reused but rather because they desire a set of properties (modularity, high cohesion, low coupling, etc.) which are desirable engineering properties but sound a bit abstract.  &lt;br /&gt;&lt;br /&gt;In other words, striving for “re-usability” is a developers way of striving for well engineered code.  Unfortunately in striving for re-usability we loose focus which brings us to the second consideration.... cost of re-usability.&lt;br /&gt;&lt;br /&gt;In &lt;a href="http://www.amazon.co.uk/gp/product/0201835959?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0201835959"&gt;Mythical Man Month&lt;/a&gt; (1974) Fred Brooks suggests that re-usable code costs three times as much to develop as single use code.  I haven’t seen any better estimates so I tend to go with this one.  (If anyone has any better estimates please send them over.)&lt;br /&gt;&lt;br /&gt;Think about this.  This means that you have to use your “reusable” code three times before you break even.  And it means you only see a profit (saving) on the fourth reuse.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;How much code which is built for reuse is reused four times?  &lt;br /&gt;&lt;/em&gt;&lt;br /&gt;I would suggest the answer to this question is: &lt;em&gt;very little.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Consequently development teams which write a lot of reusable code are costing their organisations a lot of time and money.  Waste.&lt;br /&gt;&lt;br /&gt;Reusable code is not the solution to any of our IT problems.  It is a supply side only solution and not a very good one at that.  While it may reduce the amount of code that is written it reduces it by artificially constructing supply rather.&lt;br /&gt;&lt;br /&gt;Thus, reuse, as a solution to software supply problems, is a myth.&lt;br /&gt;&lt;br /&gt;This leave two questions we need to answer.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;First:&lt;/strong&gt; &lt;em&gt;how are we to get those desirably engineering properties if we can’t/don’t push reuse?&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;The good news here is that Test Driven Development, i.e. writing code that can be automatically tested with other code we write, also has the effect of promoting modularity, high cohesion, low coupling, etc.  Thus the answer to this question is: Make your code testable.&lt;br /&gt;&lt;br /&gt;This approach will retain focus and deliver worthwhile benefits.&lt;br /&gt;&lt;br /&gt;The &lt;strong&gt;second question:&lt;/strong&gt; &lt;em&gt;How should we manage reuse? &lt;/em&gt; After all, there are some genuine situations were reuse is the right answer.&lt;br /&gt;&lt;br /&gt;Here there are two answers, a micro and a macro answer.&lt;br /&gt;&lt;br /&gt;The micro answer, when your working in a development team is: look for emergent reuse.&lt;br /&gt;&lt;br /&gt;Don’t plan for reuse but look for opportunities to reuse something that has gone before.  When you see the opportunity take the previous work and enhance it just enough to reuse it in your case.  This way you only pay the price for what you actually need when you need it.&lt;br /&gt;&lt;br /&gt;If you later find the same code is useful again then repeat the process.  Improve it just enough to use it a third time.&lt;br /&gt;&lt;br /&gt;Remember: you have the tests from the earlier answer to make it safe to do this.  Without the tests things get difficult.&lt;br /&gt;&lt;br /&gt;Now you’ve reused your code three times, you’ve pay the price a bit every time, and you have the tests to show it still works.  By now the code is going to be getting pretty close to generically reusable.  &lt;br /&gt;&lt;br /&gt;Still, maybe you go round this look a third or fourth time.  It doesn’t matter is making one piece of code reusable costs more in the long run than it would have done if you did it the first time because... You haven’t spent money making a lot more code reusable that never needed it.&lt;br /&gt;&lt;br /&gt;Telling the future is hard.  It is difficult to know whether code will be reused or not, so default to Not and save the money.  Occasionally you will be wrong and it will cost more, but overall you will be right and you will save money.&lt;br /&gt;&lt;br /&gt;The macro answer: if this code really is widely reusable by many people then, go into business.  Market this as a library, a plug in, an application what ever.  Let the market decide the economics of reusability.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-5069057356712350290?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/5069057356712350290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/10/reuse-myth-can-you-afford-reusable-code.html#comment-form' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/5069057356712350290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/5069057356712350290'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/10/reuse-myth-can-you-afford-reusable-code.html' title='Reuse Myth - can you afford reusable code?'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-7511769348497315280</id><published>2010-10-09T14:48:00.000+01:00</published><updated>2010-10-09T14:55:23.587+01:00</updated><title type='text'>Agile Eastern Europe slides online</title><content type='html'>&lt;p&gt;My conference overdose continues with Agile Eastern Europe in Kiev this week.  This was going to be a simple repeat of my Business Analyst in Agile talk which I’ve given a few times before.&lt;/p&gt;&lt;p&gt;But somewhere over Germany I started playing with the slides.  I pulled in a bit of “Objective Agility”, took a bit out, changed other bits.  So the slides are different: &lt;a href="http://www.allankelly.net/static/presentations/AgileEE2010.pdf"&gt;The BA role in Agile Development (Kiev edition.)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;If I’m being honest, I don’t feel this presentation worked as well as I’d like.  Maybe because I changed it, maybe because I’ve delivered it too many times before, maybe because it was 3pm.&lt;/p&gt;&lt;p&gt;Time for reflection.  Sorry Kiev, will try harder next time.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-7511769348497315280?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/7511769348497315280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/10/agile-eastern-europe-slides-online.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7511769348497315280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7511769348497315280'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/10/agile-eastern-europe-slides-online.html' title='Agile Eastern Europe slides online'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-7810658853388231464</id><published>2010-10-06T14:18:00.000+01:00</published><updated>2010-10-06T14:19:44.482+01:00</updated><title type='text'>Quality - How much can we afford?</title><content type='html'>&lt;p&gt;My presentation from the Agile Business Conference (ABC) 2010 is now online: &lt;a href="http://www.allankelly.net/static/presentations/ABC2010_HowMuchQuality.pdf"&gt;Quality - How much can we afford?&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-7810658853388231464?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/7810658853388231464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/10/quality-how-much-can-we-afford.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7810658853388231464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7810658853388231464'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/10/quality-how-much-can-we-afford.html' title='Quality - How much can we afford?'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-8077198392945419970</id><published>2010-09-29T08:08:00.000+01:00</published><updated>2010-09-29T08:08:00.456+01:00</updated><title type='text'>Goal driven projects</title><content type='html'>&lt;p&gt;With great timing (coinciding with my presentation to the BA conference and Jax London) the &lt;a href="http://www.requirementsnetwork.com/"&gt;RQNG (Requirements Network Group)&lt;/a&gt; newsletter has published a little piece by me entitled: &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.requirementsnetwork.com/node/2597"&gt;Time for Goal Driven Projects&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-8077198392945419970?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/8077198392945419970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/09/goal-driven-projects.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8077198392945419970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8077198392945419970'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/09/goal-driven-projects.html' title='Goal driven projects'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-3831626824203593494</id><published>2010-09-28T14:06:00.000+01:00</published><updated>2010-09-28T14:07:01.402+01:00</updated><title type='text'>Jax and BA conference presentations</title><content type='html'>&lt;p&gt;Two new presentations from the two conferences I’ve been to this week.&lt;/p&gt;&lt;p&gt;From Jax London, &lt;a href="http://www.allankelly.net/static/presentations/Jax0910ReturnToReq.pdf"&gt;Return to Requirements&lt;/a&gt;, this includes my “Agile 10 Step” requirements model.  This is something I’m increasingly using and I’ll be writing (and presenting) more about in the near future.&lt;/p&gt;&lt;p&gt;And from the IIBA Business Analysis conference: &lt;a href="http://www.allankelly.net/static/presentations/BA2010ObjectiveAgility.pdf"&gt;Objective Agility - what does it take to be an Agile company?&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Let me know what you think.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-3831626824203593494?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/3831626824203593494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/09/jax-and-ba-conference-presentations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3831626824203593494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3831626824203593494'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/09/jax-and-ba-conference-presentations.html' title='Jax and BA conference presentations'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-8309256737861030441</id><published>2010-09-23T21:51:00.000+01:00</published><updated>2010-09-23T22:02:37.815+01:00</updated><title type='text'>Moving pictures (of me!)</title><content type='html'>&lt;p&gt;The next few weeks contains more conference for me than is healthy.  While most of these are in London (&lt;a href="http://jaxlondon.com/"&gt;Jax&lt;/a&gt; and &lt;a href="http://www.irmuk.co.uk/ba2010/"&gt;IIBA BA&lt;/a&gt; conferences next week and &lt;a href="http://www.google.co.uk/url?sa=t&amp;source=web&amp;cd=1&amp;ved=0CBgQFjAA&amp;url=http://www.agileconference.org/&amp;ei=Gb-bTO6tHpG84AbT7cifAQ&amp;usg=AFQjCNHvkRSTK7Qz8CmSjTK2D8g2MzRnwg"&gt;Agile Business Conference&lt;/a&gt; the week after), or just up the road (&lt;a href="http://www.agilecambridge.net/ac2010/index.php"&gt;Agile Cambridge&lt;/a&gt;), the interesting one is &lt;a href="http://www.agileee.com/"&gt;Agile Eastern Europe in Kiev&lt;/a&gt; the week after next.&lt;/p&gt;&lt;p&gt;Alexey and the other cunning minds in Kiev have decided to put the speakers on video.  He’s my bit, explaining why you should come to &lt;a href="http://agileee.org/2010/09/23/allan-kelly-talking-about-role-of-business-analyst-agile/"&gt;my talk on the role of the Business Analyst&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;This is going to be fun, while I’ve been to Russia and Moscow a few times, this will be the first time I’ve been to Ukraine and Kiev.  Should be interesting. Interestna, as they say.&lt;/p&gt;&lt;p&gt;Unfortunately, in this blaze of conferences I’m not going to get to go to &lt;a href="http://less2010.leanssc.org/"&gt;LESS 2010&lt;/a&gt; (Lean Enterprise Software and Systems) in Helsinki.  Which is a shame, not just because it promises to be an interesting conference but because I quite like Helsinki.&lt;/p&gt;&lt;p&gt;Now, can someone explain why there are so many conferences in the late-September early-October period?&lt;/p&gt;&lt;p&gt;For a bonus point, please explain why this period is also extremely busy with work for me: Agile coaching in Cornwall this week, several training days between the conferences and then back to Cornwall to give more coaching before the month ends?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-8309256737861030441?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/8309256737861030441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/09/moving-pictures-of-me.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8309256737861030441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8309256737861030441'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/09/moving-pictures-of-me.html' title='Moving pictures (of me!)'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-4199251200386142724</id><published>2010-09-19T13:04:00.000+01:00</published><updated>2010-09-19T13:07:35.323+01:00</updated><title type='text'>Factory Physics and software factories</title><content type='html'>&lt;p&gt;For the last few months I’ve been wading through &lt;a href="http://rcm-uk.amazon.co.uk/e/cm?t=allankelly-21&amp;o=2&amp;p=8&amp;l=as1&amp;asins=007123246X&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr"&gt;Factory Physics&lt;/a&gt;.  That might sound very negative but actually this book is highly recommended.  The reason its difficult to read is nothing to do with the writing - which is actually quite easy going - but more down to the size and the maths.  It is over 600 pages long and was originally written as a text book so can be a little tedious at times.  Add in a bunch of mathematical proofs - essential - which even if you skim can be hard going and you get the picture.&lt;/p&gt;&lt;p&gt;That said its a great book to read with lots of important facts and implications.  I have been reading it because I had some loose ends.  The operations management module in my MBA all those years gave lots of suggestions and advice but left me wanting to know more.  I finally found what I was looking for in &lt;a href="http://rcm-uk.amazon.co.uk/e/cm?t=allankelly-21&amp;o=2&amp;p=8&amp;l=as1&amp;asins=007123246X&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr"&gt;Factory Physics&lt;/a&gt;.  (Specifically queuing, variation and optimisation, but that will wait for another post.)&lt;/p&gt;&lt;p&gt;Now, to get back to the title of this blog post.&lt;/p&gt;&lt;p&gt;Every so often I come across managers who liken their software development teams to factories.  They talk about the “software factory” or what happens “in the engine room.”  &lt;/p&gt;&lt;p&gt;I think this analogy shows a fundamental misunderstanding of what goes on in software development groups.  The idea that you can liken the development of software to a factory line process, with repeatable inputs, defined outputs, known processes, and repeatable activities just isn’t the case.&lt;/p&gt;&lt;p&gt;The difference shouldn’t need pointing but I will: as commonly understood the factory production line repeats again and again, it constructs one (or a limited number of) product(s) many times.  There is little innovation or problem solving in the process (as commonly understood).&lt;/p&gt;&lt;p&gt;Whereas, software development constructs one product, for the first time ever; entailing a lot of innovation and problem solving in the first place; and never constructs it again.  (After the first time a simply digital copy suffices.)&lt;/p&gt;&lt;p&gt;Now, having digested a lot of &lt;a href="http://rcm-uk.amazon.co.uk/e/cm?t=allankelly-21&amp;o=2&amp;p=8&amp;l=as1&amp;asins=007123246X&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr"&gt;Factory Physics&lt;/a&gt; there is another reason I dislike this metaphor.  Now I have a better understanding of the complications of making a factory efficient it is clear to me that making a factory effective is damn hard work.&lt;/p&gt;&lt;p&gt;Software managers who like to think of their development group as a “software factory” not only have no real understanding of the development process, neither do they have an understanding of how to organise and manage a real factory producing physical things.&lt;/p&gt;&lt;p&gt;In fact, one of the arguments in Factory Physics is that most factory managers don’t have such an understanding either.  The authors argue, convincingly, that a lot of factory organisation and management is fashion, or fad driven and not based on a good understanding or science principles.&lt;/p&gt;&lt;p&gt;So I suppose in that way it is like managing software development.&lt;/p&gt;&lt;p&gt;Now before anyone rushes recommend, or attack, Fredrick Taylor and the ideas of Scientific Management the authors of Factory Physics are clear.  Yes we should apply scientific thinking to management but, they point out, Fredrick Taylor was not scientific.  His studies - from a scientific point of view - do not stand up.  They are full of holes.&lt;/p&gt;&lt;p&gt;Just in case I’ve not been clear, lets repeat:&lt;/p&gt;&lt;ol style="list-style-type: decimal"&gt;&lt;li&gt;It is a mistake to think of software development as a factory line process.&lt;/li&gt;&lt;li&gt;Anyone who insists on using the metaphor should find out what is actually involved in running a factory.&lt;/li&gt;&lt;li&gt;There are insights from running a factory - to be found in Factory Physics - which apply to software development and many people will benefit from learning them.  That doesn’t mean you should run your software development process like a factory though.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-4199251200386142724?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/4199251200386142724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/09/factory-physics-and-software-factories.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4199251200386142724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4199251200386142724'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/09/factory-physics-and-software-factories.html' title='Factory Physics and software factories'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-8386265521894478374</id><published>2010-09-08T14:26:00.003+01:00</published><updated>2010-10-02T12:22:26.545+01:00</updated><title type='text'>Japanese translation of Changing Software Development out now</title><content type='html'>&lt;p&gt;The &lt;a href="http://www.amazon.co.jp/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA%E3%82%92%E5%A4%89%E9%9D%A9%E3%81%99%E3%82%8B-%EF%BC%8D%E3%82%82%E3%81%A3%E3%81%A8%E4%BF%8A%E6%95%8F%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%EF%BC%8D-Allan-Kelly/dp/4320097599/ref=sr_1_4?ie=UTF8&amp;s=books&amp;qid=1286018426&amp;sr=8-4"&gt;Japanese translation of “Changing Software Development: Learning to be Agile”&lt;/a&gt; is now out and you can buy it from Amazon Japan right now.&lt;/p&gt;&lt;p&gt;And just in case you don’t believe me here is the cover:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.softwarestrategy.co.uk/images/CSDJapanese.jpg"&gt;&lt;br /&gt;&lt;img src="http://www.allankelly.net/images/CSDJapanese.jpg"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-8386265521894478374?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/8386265521894478374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/09/japanese-translation-of-changing.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8386265521894478374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8386265521894478374'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/09/japanese-translation-of-changing.html' title='Japanese translation of Changing Software Development out now'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-7485662845491431602</id><published>2010-09-07T09:45:00.001+01:00</published><updated>2010-09-07T09:45:58.471+01:00</updated><title type='text'>Agile is like...</title><content type='html'>&lt;p&gt;In the software development world there are, broadly speaking, two groups of people: those who create the software (coders, testers, etc.) and those who manage the process (project managers, development managers, etc.).  When discussing “Agile” I find that both sides think the problem is with the other.&lt;/p&gt;&lt;p&gt;To put it another way, if I’m talking to developers they think its managers who are the block to adopting more Agile techniques.  But when I’m talking to managers they say its the developers who resist Agile.&lt;/p&gt;&lt;p&gt;This always reminds me of the old &lt;a href="http://en.wikipedia.org/wiki/Philip_B._Crosby"&gt;Philip Crosby&lt;/a&gt; quote:&lt;/p&gt;&lt;p&gt;“Quality has much in common with sex. Everyone is for it. (Under certain conditions of, course.) Everyone feels they understand it. (Even though they wouldn't want to explain it.) Everyone thinks execution is only a matter of following natural inclinations. (After all, we do get along somehow.) And, of course, most people feel that all problems in these areas are caused by other people.”&lt;/p&gt;&lt;p&gt;(OK, so this blog just got filtered out of lots of feeds and stopped by lots of firewalls but lets continue.)&lt;/p&gt;&lt;p&gt;Lets bring it up to date and make it Agile specific, substitute the work ‘Agile’ for ‘Quality’:&lt;/p&gt;&lt;p&gt;“Agile has much in common with sex. Everyone is for it. (Under certain conditions of, course.) Everyone feels they understand it. (Even though they wouldn't want to explain it.) Everyone thinks execution is only a matter of following natural inclinations. (After all, we do get along somehow.) And, of course, most people feel that all problems in these areas are caused by other people.”&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-7485662845491431602?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/7485662845491431602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/09/agile-is-like.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7485662845491431602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7485662845491431602'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/09/agile-is-like.html' title='Agile is like...'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-3338528403601454593</id><published>2010-08-30T10:17:00.000+01:00</published><updated>2010-08-30T10:18:04.654+01:00</updated><title type='text'>Study on benefits of TDD</title><content type='html'>&lt;p&gt;OK, this isn’t news, this study came out a couple of years ago and was covered by many people then.  But, I find myself regularly referring to it trying to find the link.  So I’m going to blog about it then I’ll always be able to find the link.&lt;/p&gt;&lt;p&gt;The study is by Nagappan, Maximilien, Bhat and Williams and is entitled: &lt;a href="http://research.microsoft.com/en-us/projects/esm/nagappan_tdd.pdf"&gt;Realizing quality improvement through test driven&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://research.microsoft.com/en-us/projects/esm/nagappan_tdd.pdf"&gt;development: results and experiences of four industrial&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://research.microsoft.com/en-us/projects/esm/nagappan_tdd.pdf"&gt;teams&lt;/a&gt; and is freely downloadable from Microsoft.&lt;/p&gt;&lt;p&gt;This is the key findings are summarised in this table:&lt;/p&gt;&lt;table style="empty-cells: show;border-collapse: collapse;"&gt;&lt;tr&gt;&lt;td style="width: 116px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;Team / &lt;/p&gt;&lt;p&gt;Metric&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 52px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;IBM drivers&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 56px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;Microsoft Windows&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 33px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;MS MSN&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 35px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;MS Visual Studio&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 116px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;Defect density of comparable team not using TDD&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 52px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;W&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 56px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;X&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 33px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;Y&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 35px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;Z&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 116px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;Defect density of team using TDD&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 52px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;0.61W&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 56px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;0.38X&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 33px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;0.24Y&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 35px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;0.09Z&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 116px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;Increase in time taken because of TDD&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 52px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;15-20%&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 56px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;25-25%&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 33px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;15%&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 35px;padding: 0px,5px,0px,5px;border: 1px solid rgb(191,191,191);margin: 0px,0px,0px,0px;"&gt;&lt;p&gt;25-20%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;The way to read this is: the researches looked at two Microsoft MSN teams, one team did not use TDD and had a defect density of Y.  The second MSN team had a defect density less than a quarter of Y but took 15% longer.&lt;/p&gt;&lt;p&gt;To my mind that proves that which was to be proven, i.e. TDD reduced bugs.  But, I’m also aware that other writers have disputed this and I’ve heard of studies which disprove it.  (Anyone got a link? Thanks)&lt;/p&gt;&lt;p&gt;Most people who I’ve met, and who have practices, or understand TDD agree it is effective.  However there are those who don’t believe it.  It reminds me of &lt;a href="http://en.wikipedia.org/wiki/Potato_(Blackadder)"&gt;the episode of Black Adder&lt;/a&gt; where Rowan Atkinson’s Black Adder hires a ship Captained by Tom Baker.  When there is a problem it plays out like this:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Black Adder: &lt;/strong&gt;“Someone in the crew will know... you do have a crew don’t you?”&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Captain:&lt;/strong&gt; “Arh, opinion is divided on the subject... all the other captains say you need a crew, and I say You Don’t”&lt;/p&gt;&lt;p&gt;At the end of the day &lt;a href="http://en.wikipedia.org/wiki/Confirmation_bias"&gt;Confirmation Bias&lt;/a&gt; will probably decide which set of results you choose to believe.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-3338528403601454593?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/3338528403601454593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/08/study-on-benefits-of-tdd.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3338528403601454593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3338528403601454593'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/08/study-on-benefits-of-tdd.html' title='Study on benefits of TDD'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-5853234744207847827</id><published>2010-08-26T09:21:00.001+01:00</published><updated>2010-08-26T09:21:37.923+01:00</updated><title type='text'>Ed Yourdon on Agile</title><content type='html'>&lt;p&gt;Ed Yourdon seems to have fallen off my radar so far this century.  Last century I read a lot of his stuff and came to respect him as a man who knows what he’s talking about when it comes to IT and software development.&lt;/p&gt;&lt;p&gt;(If you haven’t heard of him, or don’t believe me just look at the &lt;a href="http://www.amazon.co.uk/s/ref=nb_sb_ss_c_1_7?url=search-alias=stripbooks&amp;field-keywords=yourdon&amp;x=0&amp;y=0&amp;sprefix=Yourdon"&gt;list of books he’s written&lt;/a&gt;.)&lt;/p&gt;&lt;p&gt;I recently discovered that &lt;a href="http://yourdon.com/blog"&gt;he has a blog&lt;/a&gt;, and from there that he &lt;a href="http://yourdon.com/blog/agile-2010-retrospective/"&gt;has recently been to the Agile 2010 conference&lt;/a&gt;.  In fact it appears that the whole Agile thing has, to a large part, passed him by.&lt;/p&gt;&lt;p&gt;The really interesting thing are some of his comments on Agile from this blog posting:&lt;/p&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;‘My overall impression is that “agile” (and its variations, such as scrum and XP) are now entering the “mainstream” of computer systems development’&lt;/li&gt;&lt;li&gt;‘there’s still a lot of hype and exaggeration, along with a non-trivial amount of myth and folklore and general silliness. But when you strip away all of this, there is a very solid, and extremely well-documented, core of practical system development guidelines, concepts, strategies, and hard-won lessons that every practitioner in our field needs to know about.’&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I’m happy to find myself agreeing with Ed, and even happier that the voice more experience sees it the same way I do!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-5853234744207847827?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/5853234744207847827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/08/ed-yourdon-on-agile.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/5853234744207847827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/5853234744207847827'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/08/ed-yourdon-on-agile.html' title='Ed Yourdon on Agile'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-2636936546334555885</id><published>2010-08-25T09:41:00.000+01:00</published><updated>2010-08-25T16:58:41.870+01:00</updated><title type='text'>Objective Agility - what does it take to be an Agile company?</title><content type='html'>&lt;p&gt;&lt;a href="http://www.modernanalyst.com"&gt;Modern Analyst&lt;/a&gt; has published my latest piece about Agile at the company level: &lt;a href="http://www.modernanalyst.com/Resources/Articles/tabid/115/articleType/ArticleView/articleId/1502/Objective-Agility-what-does-it-take-to-be-an-Agile-company.aspx"&gt;Objective Agility - what does it take to be an Agile company?&lt;/a&gt;&lt;/p&gt;&lt;p&gt;This is actually a bit of a taster for a presentation of with the same title I’ll be doing at the &lt;a href="http://www.irmuk.co.uk/ba2010/"&gt;IIBA Business Analysis conference&lt;/a&gt; in a few weeks.  &lt;/p&gt;&lt;p&gt;And talking of businesses analysis... I am running an &lt;a href="http://skillsmatter.com/course/agile-scrum/allan-kelly-chris-matts-agile-business-analysts-scrum"&gt;‘Essential Agile for Business Analysts’ at  Skills Matter&lt;/a&gt; in a few weeks.  Many of these themes come up in that course.  I believe there is still space available.&lt;/p&gt;&lt;p&gt;And if you miss all that, I’ll be sticking with this theme for the &lt;a href="http://www.agilecambridge.net/ac2010/"&gt;Agile Cambridge conference in October&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-2636936546334555885?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/2636936546334555885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/08/objective-agility-what-does-it-take-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2636936546334555885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2636936546334555885'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/08/objective-agility-what-does-it-take-to.html' title='Objective Agility - what does it take to be an Agile company?'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-3004205592292631072</id><published>2010-08-16T19:48:00.001+01:00</published><updated>2010-08-16T19:48:41.612+01:00</updated><title type='text'>The No Business Case Myth</title><content type='html'>&lt;p&gt;Once in a while I run across individuals, or even teams, who still think Agile is about just getting on and doing it.  Well it is, good for them, but, that doesn’t mean there isn’t a reason for doing it.  &lt;/p&gt;&lt;p&gt;There seems to be a myth in some circles that work done using Agile techniques doesn’t require a business case.  Lets get this clear: Agile does not excuse you from having a business case for your work.&lt;/p&gt;&lt;p&gt;Of course there are instances were a business case might not exist.  Some companies, for better or worse, work without them; those companies aiming at innovation may allow work to proceed to a more advanced stage before asking for some rationale; and products which are in a steady state may just tick over without too much attention to a business case.&lt;/p&gt;&lt;p&gt;But in each one of these cases the lack of a business case has nothing to do with Agile.  (Actually, each of the cases does have a business case, its either a tacit business case or a part of a much bigger business case.)&lt;/p&gt;&lt;p&gt;Many development efforts which lack a visible business case can benefit from demanding a business case.  If you are not sure why your company is doing some piece of work then maybe the company needs to be clearer about the reasoning.&lt;/p&gt;&lt;p&gt;However, a business case might look a little different on a Agile project.  It may well be shorter than a traditional business case, it may lack some of the detail traditionally found in a business case, and it may describe much more a trial-and-error approach.&lt;/p&gt;&lt;p&gt;What Agile projects don’t need are in-depth business plans. Here its a question of detail, a strategic business plan makes plenty of sense.  But a business plan which lists many many features to be build and a detailed schedule of when they will be built is little more than an illusion.  Such plans give the appearance of certainty but certainly don’t provide it.  Indeed, too many plans can actively hinder a project - plans are not benign, they are dangerous. (See &lt;a href="http://www.allankelly.net/static/writing/overload/Learning/SoftwarePlanning.pdf"&gt;An alternative view of design (and planning)&lt;/a&gt; for more discussion here.)&lt;/p&gt;&lt;p&gt;That said, there is a very good case for writing a business plan - indeed most forms of plans actually: they are rehearsal time for the real thing.  They help you explore and learn about the thing you want to build.&lt;/p&gt;&lt;p&gt;Still, sometime you might skip the business plan.  Maybe there isn’t time for a rehearsal, and sometimes learning can be maximised but just getting stuck in .&lt;/p&gt;&lt;p&gt;But, if you do write one, then once that exercise is over, once you start doing it for real, don’t try and hold yourself to a plan.  Put the plan in the draw and don’t look at it.  The value of planning is not the plan you produce at the end of planning; the value it is the knowledge you acquire in your head.&lt;/p&gt;&lt;p&gt;For that reason you want to maximise the number of people involved in the planning rehearsal so you can maximise the learning.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-3004205592292631072?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/3004205592292631072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/08/no-business-case-myth.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3004205592292631072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3004205592292631072'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/08/no-business-case-myth.html' title='The No Business Case Myth'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-4151301480904162602</id><published>2010-08-10T15:56:00.002+01:00</published><updated>2010-08-11T09:20:38.011+01:00</updated><title type='text'>Off topic moan - Price Promise that isn't</title><content type='html'>&lt;p&gt;Although I try to keep this blog within its very loose boundary of software and business there are times when you want to say something that doesn’t fit.&lt;/p&gt;&lt;p&gt;I could try and justify the following story on the basis that it concerns my upcoming trip to &lt;a href="http://www.agileee.com/"&gt;Agile Eastern Europe&lt;/a&gt;.  Or I could justify it as an example of poor system thinking, but I think it is really a moan.&lt;/p&gt;&lt;p&gt;It also shows how I was fooled.  I’m not as bright as I like to think I am, for once I believed what the corporation told me despite my natural cynicism.&lt;/p&gt;&lt;p&gt;It all began when I set out to book my flights to &lt;a href="http://www.agileee.com/"&gt;Agile Eastern Europe&lt;/a&gt; in October.  As usual I did a quick check on &lt;a href="http://www.opodo.co.uk"&gt;Opodo&lt;/a&gt; to see what the market fare was and who had flight.  Turns out &lt;a href="http://www.britishairways.com"&gt;British Airways&lt;/a&gt; had a direct flight, was fairly competitive and since they are my usual airline I decided to book with them.&lt;/p&gt;&lt;p&gt;As usual I then went to the BA website to see if it was any cheaper.  It wasn’t indeed it was more expensive, but since I was now logged into the BA system and all my details were on file I decided to finish the booking there.&lt;/p&gt;&lt;p&gt;However, BA was more expensive.  That’s OK I thought, BA make a big thing of their &lt;a href="http://www.britishairways.com/travel/pricepromise/public/en_gb"&gt;“Price Promise.”&lt;/a&gt;  I’ll just keep a record of what Opodo offer and they’ll give me the money back, about £25.&lt;/p&gt;&lt;p&gt;Wrong.&lt;/p&gt;&lt;p&gt;British Airways won’t pay up.  Despite sending them the PDF I took of the Opodo offer they say its a different itineracy.  Erh?  Same flight out, same slight back.  But it seems, Opodo was offering me two single tickets and BA were offering a return ticket.&lt;/p&gt;&lt;p&gt;Wonderful.  British Airways are hiding behind word play.  I want a flight to Kiev and a flight back.  Do I care about the niceties of ticketing? No.  The difference is lost on me.&lt;/p&gt;&lt;p&gt;So there you have it.  BA have made an extra £25 out of me.  Clever, pat yourself on the back guys.&lt;/p&gt;&lt;p&gt;Except, I’ll never book with &lt;a href="http://BA.com"&gt;BA.com&lt;/a&gt; direct again.  That means 20%-30% of all the ticket revenue will go to Opodo in future.&lt;/p&gt;&lt;p&gt;I’ve been avoiding BA for much of this year because of the strikes.  This means I’ve rediscovered Heathrow Terminal 1 and flying with &lt;a href="http://www.flybmi.com"&gt;BMI&lt;/a&gt; and &lt;a href="http://www.lufthansa.com"&gt;Lufthansa&lt;/a&gt;.  Looks like I’ll be using them more.&lt;/p&gt;&lt;p&gt;Advice to companies: if you are going to make these kind of price or quality promises don’t hide behind word play when people try to claim.  It annoys them even more.&lt;/p&gt;&lt;p&gt;I have only myself to blame, a quick bit of Googling shows other people with similar complaints - &lt;a href="http://forums.moneysavingexpert.com/showthread.php?t=989517"&gt;here&lt;/a&gt; and &lt;a href="http://www.dooyoo.co.uk/employment/british-airways/1009037/"&gt;here&lt;/a&gt;.  &lt;/p&gt;&lt;p&gt;Sorry to my regular readers for a well off topic piece.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-4151301480904162602?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/4151301480904162602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/08/off-topic-moan-price-promise-that-isn.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4151301480904162602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4151301480904162602'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/08/off-topic-moan-price-promise-that-isn.html' title='Off topic moan - Price Promise that isn&amp;#39;t'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-1535586974631466592</id><published>2010-08-10T15:56:00.001+01:00</published><updated>2010-08-10T15:56:24.583+01:00</updated><title type='text'>I'm a BA get me out of here! - the BA role on an Agile Team</title><content type='html'>&lt;p&gt;In the last couple of years I’ve given my &lt;a href="http://www.allankelly.net/static/presentations/BAsAgileRoleNottingham.pdf"&gt;“BA role in Agile”&lt;/a&gt; (PDF of the Nottingham version, or &lt;a href="http://www.slideshare.net/allankellynet/the-business-analysts-role-in-agile-software-development"&gt;Slideshare&lt;/a&gt; of the Skills Matter version) talk a number of times at a number of different venues.  A couple of months ago I got around to writing up the talk and it has now been published in ACCU Overload.  &lt;/p&gt;&lt;p&gt;If you’d like to read this you can read it in &lt;a href="http://accu.org/index.php/articles/1674"&gt;Overload 98&lt;/a&gt;, or take the PDF from my website, &lt;a href="http://www.allankelly.net/static/writing/overload/BAAgileRole.pdf"&gt;“The BA role on Agile teams”&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Shorter versions of this piece have, and probably will be again, published elsewhere.  The Overload piece is the full version.  Thats the nice thing about Overload, it has the space to explore a topic more fully.&lt;/p&gt;&lt;p&gt;I’m just now putting the finishing touches to the 3-day training course that grew out of this talk and which will be running in &lt;a href="http://skillsmatter.com/course/agile-scrum/allan-kelly-chris-matts-agile-business-analysts-scrum/ps-1082http://skillsmatter.com/course/agile-scrum/allan-kelly-chris-matts-agile-business-analysts-scrum/ps-1082"&gt;September at Skills Matter&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-1535586974631466592?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/1535586974631466592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/08/i-ba-get-me-out-of-here-ba-role-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1535586974631466592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1535586974631466592'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/08/i-ba-get-me-out-of-here-ba-role-on.html' title='I&amp;#39;m a BA get me out of here! - the BA role on an Agile Team'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-7526071859535648027</id><published>2010-08-08T11:45:00.002+01:00</published><updated>2010-08-08T12:12:55.617+01:00</updated><title type='text'>Conferences, Conferences, Training - a busy autumn</title><content type='html'>&lt;p&gt;I’m speaking at a bunch of conferences this autumn so if any reader out there would like to hear me speak, or ask a questions you might get yourself a ticket to one of these:&lt;/p&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;&lt;a href="http://jaxlondon.com/"&gt;Jax London&lt;/a&gt; / &lt;a href="http://devconlondon.com/"&gt;DevCon&lt;/a&gt;, 27-29 September, London: Return to Requirements, 27 September&lt;/li&gt;&lt;li&gt;IRM &lt;a href="http://www.irmuk.co.uk/ba2010/"&gt;IIBA Business Analysis Conference&lt;/a&gt;, 27-29 September, London: Objective Agility, what does it take to be an Agile Company?, 28 September&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.agileconference.org/"&gt;Agile Business Conference&lt;/a&gt;, 5-6 October, London: “Quality – How much quality can we afford?”, 6 October&lt;/li&gt;&lt;li&gt;&lt;a href="http://agileee.org/"&gt;Agile Eastern Europe&lt;/a&gt;, 8-9 October, Kiev, “The role of the BA in Agile teams”, 9 October &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.agilecambridge.net/ac2010/"&gt;Agile Cambridge&lt;/a&gt;, 14-15 October, Cambridge: “What does it take to be an Agile company?”, 14 October&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;In between times, I’m also delivering several public training courses - not to mention private ones but there is no point in me telling you about those.&lt;/p&gt;&lt;p&gt;What’s particularly interesting here is the new “Agile for BAs” courses that I’ve put together with Chris Matts.  The first of these ran last week in association with &lt;a href="http://www.ba-solutions.co.uk/"&gt;BA Solutions&lt;/a&gt; and was well received.  A different, longer, version of this, is running in association with &lt;a href="http://skillsmatter.com/"&gt;Skills Matter&lt;/a&gt; twice this autumn:&lt;/p&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;13-15 September, &lt;a href="http://skillsmatter.com"&gt;Skills Matter&lt;/a&gt;, &lt;a href="http://skillsmatter.com/course-details/agile-scrum/allan-kelly-chris-matts-agile-business-analysts-scrum"&gt;Essential Agile for Business Analysis&lt;/a&gt;, London&lt;/li&gt;&lt;li&gt;18-20 October, DevelopMentor, &lt;a href="http://www.develop.com/training-courses/agile"&gt;Foundations of Agile Development using Scrum Training and User Stories&lt;/a&gt;, London&lt;/li&gt;&lt;li&gt;1-3 November, &lt;a href="http://www.programutvikling.no/"&gt;ProgramUtVikling&lt;/a&gt;, &lt;a href="http://www.programutvikling.no/kurskalenderoversikt.aspx?id=715662"&gt;Applying Lean Thinking for Software Development&lt;/a&gt;, Oslo&lt;/li&gt;&lt;li&gt;24-26 November,  &lt;a href="http://skillsmatter.com"&gt;Skills Matter&lt;/a&gt;, &lt;a href="http://skillsmatter.com/course-details/agile-scrum/allan-kelly-chris-matts-agile-business-analysts-scrum"&gt;Essential Agile for Business Analysis&lt;/a&gt;, London&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;img src="http://www.allankelly.net/blogbits/speak-agileee2010.png"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-7526071859535648027?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/7526071859535648027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/08/conferences-conferences-training-busy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7526071859535648027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7526071859535648027'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/08/conferences-conferences-training-busy.html' title='Conferences, Conferences, Training - a busy autumn'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-5815245146753757275</id><published>2010-07-28T18:18:00.001+01:00</published><updated>2010-07-28T18:18:46.301+01:00</updated><title type='text'>The train metaphor of software development</title><content type='html'>&lt;p&gt;I’m sitting on a train from York so it seems a good time to share my train-leaving-the-station metaphor with the world.  In truth, if you’ve worked with me in the last few years, or heard me speak at a conference I may already have shared it with you.  But for the rest of the world, and with full embellishments....&lt;/p&gt;&lt;p&gt;Traditional software projects are like a train leaving the station.  There is a big train sitting at Platform 9, we know its due to leave soon, but, well, you know what big long distance trains are like, it may well leave a little bit late.  Still, to get a seat we need to be early so we are all rushing to the train.&lt;/p&gt;&lt;p&gt;Since we don’t know when the next train to this destination will go - actually, it is far from certain there will ever be another train - we want to be sure everything we need is on board.  So we make sure we put everything we might need on the train. (Think of our requirements document.)&lt;/p&gt;&lt;p&gt;Eventually the train lumbers out of the station, overloaded.  Quite possibly it leaves late because we were so busy loading the train, maybe one or two people even argued with the guard to delay departure a little bit so we could get more people and things on the train.&lt;/p&gt;&lt;p&gt;The train - our project - is like one of those trains you see in pictures of the Indian rail network with people crowded on and hanging out of the doors.&lt;/p&gt;&lt;p&gt;We all know the train is overloaded, we all know its going to arrive late, we even think it might miss the destination and arrive someplace else.  But nobody wants to admit this.&lt;/p&gt;&lt;p&gt;(Particularly true if you have American management and British engineers because the Yanks view the Brits as being overly negative.)&lt;/p&gt;&lt;p&gt;At some point, beyond the half way mark it can no longer be denied that the train will arrive late.  So action is taken.  Things are thrown off the train to make it go faster.&lt;/p&gt;&lt;p&gt;By throwing things off the train we hope the train will arrive closer to the scheduled arrival time and the intended destination.  However, in so much as there was rationale for putting all the things on the train there is less rationale applied to removing them.  Things are thrown off the moving train because we can.  (Somethings we can’t throw off because they are too connected to other things.)&lt;/p&gt;&lt;p&gt;In the extreme, those who put things on the train, and really know what is needed for the destination (BAs, Product Managers, etc.) never actually got on the train.  Once they put the bits on the train they handed over responsibility to Project Managers to get it delivered.  These guys are primarily concerned with dates and since they charged with delivering everything they don’t want to throw anything off.&lt;/p&gt;&lt;p&gt;Eventually, the train lumbers into the final stop - which may, or may not, be the intended destinations - with some random collection of things on board.  Everyone gets off and breaths a big sigh of relief.  Thank God that is over.&lt;/p&gt;&lt;p&gt;Then the news comes: there will be another train.  We begin again.&lt;/p&gt;&lt;p&gt;This time though, we have all been burnt.  We are going to make sure we have everything we need on the train, plus all the things we threw off the last train, and some more besides because we now understand the need for bargaining and we need levers.&lt;/p&gt;&lt;p&gt;Thats the traditional view.  Now for the Agile view.&lt;/p&gt;&lt;p&gt;Instead of big trains we have a metro system - think of London tube, or better still &lt;a href="http://en.wikipedia.org/wiki/Glasgow_Subway"&gt;Glasgow’s Clockwork Orange&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;I leave the office at 6pm, go to the tube station and wait for a train.  The sign tells me there will be one in 2 minutes, and another 2 minutes after that, and so on.  &lt;/p&gt;&lt;p&gt;The train arrives and it is full.  I have an option: Do I get on the packed, sweaty train and have an uncomfortable journey?  Or do I wait 2 minutes for the next one?&lt;/p&gt;&lt;p&gt;I choose to wait.  And while I’m waiting my phone rings.  Some friends are in a pub nearby and ask if I would like a drink.  I have an option: do I go and have a nice beer (valuable) with friends? Or do I value getting home more?&lt;/p&gt;&lt;p&gt;I go for the beer, something I would never do if there was only one train today.  But knowing there will be another train, and another train, and another, means that I can go to the pub safe in the knowledge that I will still get home.&lt;/p&gt;&lt;p&gt;Need I say is?  We need software development to be like the metro/tube system and not like the big occasional train.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-5815245146753757275?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/5815245146753757275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/07/train-metaphor-of-software-development.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/5815245146753757275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/5815245146753757275'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/07/train-metaphor-of-software-development.html' title='The train metaphor of software development'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-8821556175874504879</id><published>2010-07-23T12:50:00.000+01:00</published><updated>2010-07-23T13:14:06.452+01:00</updated><title type='text'>Slides from Skills Matter - BA Role in Agile Software Development</title><content type='html'>&lt;p&gt;I presented my &lt;a href="http://www.slideshare.net/allankellynet/the-business-analysts-role-in-agile-software-development"&gt;“BA Role in Agile Software Development”&lt;/a&gt; talk at Skills Matter last night.  There was a good turnout and the folks who came to the pub afterwards were all very positive about the talk.&lt;/p&gt;&lt;p&gt;The talk had a few small updates from its previous deliveries so if you’ve heard or seen it before there won’t be anything new for you.&lt;/p&gt;&lt;p&gt;Slides are now online on &lt;a href="http://www.slideshare.net/allankellynet/the-business-analysts-role-in-agile-software-development"&gt;SlideShare&lt;/a&gt; and Skills Matter have a &lt;a href="http://bit.ly/aPjpqz"&gt;video of the event online too&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-8821556175874504879?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/8821556175874504879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/07/slides-from-skills-matter-ba-role-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8821556175874504879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8821556175874504879'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/07/slides-from-skills-matter-ba-role-in.html' title='Slides from Skills Matter - BA Role in Agile Software Development'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-3357513634971101262</id><published>2010-07-19T14:27:00.001+01:00</published><updated>2010-07-19T14:27:56.586+01:00</updated><title type='text'>The Limits of Agile on InfoQ</title><content type='html'>&lt;p&gt;There is a piece by me on todays&lt;a href="http://www.infoq.com/articles/limits-of-agile"&gt;InfoQ - The Limits of Agile&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;I’m interested to here your comments.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-3357513634971101262?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/3357513634971101262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/07/limits-of-agile-on-infoq.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3357513634971101262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/3357513634971101262'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/07/limits-of-agile-on-infoq.html' title='The Limits of Agile on InfoQ'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-1278597617449221812</id><published>2010-07-15T08:54:00.000+01:00</published><updated>2010-07-15T08:55:51.842+01:00</updated><title type='text'>The Business Analysts role @ Skills Matter</title><content type='html'>&lt;p&gt;I was down at Heathrow earlier this week, not taking a plane but giving my “The Role of Business Analysts in Agile Teams” talk again.  It gets another outing in a couple of weeks time (22 July) at Skills Matter.&lt;/p&gt;&lt;p&gt;So, if you’ve not seen the talk, or know someone (a BA perhaps?) who would like it register on the Skills Matter website for &lt;a href="http://skillsmatter.com/event/agile-scrum/the-business-analysts-role-on-agile-projects/rl-311 http://skillsmatter.com/event/agile-scrum/the-business-analysts-role-on-agile-projects/rl-311"&gt;“The Role of the BA in Agile Teams”&lt;/a&gt; talk.  (Its in the evening and lasts a little over an hour, time well spent.)&lt;/p&gt;&lt;p&gt;&lt;a href="http://skillsmatter.com/event/agile-scrum/the-business-analysts-role-on-agile-projects/rl-311"&gt;http://skillsmatter.com/event/agile-scrum/the-business-analysts-role-on-agile-projects/rl-311&lt;/a&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-1278597617449221812?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/1278597617449221812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/07/business-analysts-role-skills-matter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1278597617449221812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1278597617449221812'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/07/business-analysts-role-skills-matter.html' title='The Business Analysts role @ Skills Matter'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-4224206686177153345</id><published>2010-07-01T09:08:00.000+01:00</published><updated>2010-07-01T09:10:08.432+01:00</updated><title type='text'>How to improve a team's velocity?</title><content type='html'>&lt;p&gt;By way of wrapping up my velocity mini-series (&lt;a href="http://allankelly.blogspot.com/2010/06/two-ways-to-fill-iterations.html"&gt;Two ways to fill and iteration&lt;/a&gt;, &lt;a href="http://allankelly.blogspot.com/2010/06/filling-iteration-too-well.html"&gt;Filling an iteration too well&lt;/a&gt;, and &lt;a href="http://allankelly.blogspot.com/2010/06/velocity-targeting-and-velocity.html"&gt;Velocity Targeting and Velocity Inflation&lt;/a&gt;) I’m going to end with some advice on how to improve a team’s velocity.&lt;/p&gt;&lt;p&gt;Bad news first: there are no silver bullets, there are no easy answers, there is no quick way of doing this.&lt;/p&gt;&lt;p&gt;There is no big fix, there are many, many, thousands, of little fixes which cumulatively add up.  Each little fix improve your productivity (velocity) a little bit.  Over time these add up to big improvements.&lt;/p&gt;&lt;p&gt;To use economic logic: this is about improving the &lt;a href="Finally, just:  Concentrate on doing a better job and the velocity, productivity and points will follow.The numbers are there to provide feedback, show you are going in the right direction.  Don’t worry about the actual numbers, just keep improving."&gt;supply-side&lt;/a&gt;.  The supply-side argument (largely monetarist) suggests the way to solve unemployment is not to increase demand (Keynes style) but to loosen and liberalise the labour market.  There is no single action which can do this, instead there are many small changes that need to be made to make the labour market more flexible.&lt;/p&gt;&lt;p&gt;But back to software.... how might you improve you velocity?&lt;/p&gt;&lt;p&gt;Well, &lt;a href="http://allankelly.blogspot.com/2010/06/things-to-do-to-improve-code-quality.html"&gt;Things to do to improve code quality&lt;/a&gt; is a good list to start with.  Improving code quality makes teams more productive because they spend less time wading through swamp and scratching their heads.&lt;/p&gt;&lt;p&gt;Of these the thing that comes closed to a silver bullet is: &lt;strong&gt;Test Driven Development&lt;/strong&gt;.  TDD is something of a silver bullet, it does improve things BUT (big BUT) it takes time to learn to do it properly.  Expect to take time, don’t expect it to happen over night, spend the time and money on training, coaching, setting up a continuous integration server and such.  It will pay back, sooner than you think.&lt;/p&gt;&lt;p&gt;How on the heals of TDD is &lt;strong&gt;refactoring&lt;/strong&gt;.  In fact the two go together.&lt;/p&gt;&lt;p&gt;Adopting TDD and pursuing refactoring may throw up another problem which people would rather keep quiet about: developer skills levels.  Some developers just don’t have the mastery of their tools required.  A friend of mine who does TDD coaching tells me it usually ends up as OO coaching more than TDD coaching.  So, &lt;strong&gt;invest in developer training, buy them books, send them on courses, bring in coaches, set up book study groups&lt;/strong&gt; and other exchanges were developers can learn to do things better.&lt;/p&gt;&lt;p&gt;I would avoid adding more people to a team.  We know, from &lt;a href="http://en.wikipedia.org/wiki/Brooks_Law"&gt;Brooks Law&lt;/a&gt;, that at least the short run that will slow things down.  But you can give existing people more time to actually do work.  Try &lt;strong&gt;reducing the number of meetings&lt;/strong&gt; you hold.  If you have a regular planning meeting and daily stand-up meetings there shouldn’t be a lot of other meetings you need.  Certainly there should be very few “all team” meetings.&lt;/p&gt;&lt;p&gt;And if your &lt;strong&gt;stand-up meetings&lt;/strong&gt; are taking more than 15 minutes a day then look to shorten them.  Any size team should be able to complete a meeting in 15 minutes if you approach it in the right way - see &lt;a href="http://allankelly.blogspot.com/2009/04/three-ways-to-run-stand-up-meeting.html"&gt;Three Ways to Run a Stand-Up meeting&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;I often meet teams who feel that two weeks is too short a time to do anything useful, and they often question that frequency takes up too much meeting time.  Rather than length an iteration it is better to &lt;strong&gt;shorten iterations&lt;/strong&gt;.  Teams get to review work in progress and take corrective action more often.  There is less time for changes to disrupt planned work.  It is good practice at both fitting work in short periods and at making planning meeting more effective.&lt;/p&gt;&lt;p&gt;In time, when you are good at iteration planning I might lengthen them, but it is rare I would let iteration last more than two weeks.&lt;/p&gt;&lt;p&gt;Next &lt;strong&gt;get serious about removing impediments&lt;/strong&gt;.  Too many teams live with impediment, accept them as a fact of life, something they can’t do anything about.  Each impediment (or block if you prefer that name) reduces velocity a bit.  If you want a higher velocity fix your impediments.&lt;/p&gt;&lt;p&gt;I don’t need to say it but I will: &lt;strong&gt;retrospectives&lt;/strong&gt;.  Do them, and action the ideas that come out of them.&lt;/p&gt;&lt;p&gt;Finally, just:  &lt;strong&gt;Concentrate on doing a better job&lt;/strong&gt; and the velocity, productivity and points will follow.  The numbers are there to provide feedback, show you are going in the right direction.  Don’t worry about the actual numbers, just keep improving.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-4224206686177153345?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/4224206686177153345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/07/how-to-improve-team-velocity.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4224206686177153345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4224206686177153345'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/07/how-to-improve-team-velocity.html' title='How to improve a team&amp;#39;s velocity?'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-7603701173826593971</id><published>2010-06-25T09:40:00.001+01:00</published><updated>2010-06-25T09:40:32.540+01:00</updated><title type='text'>Velocity targeting and velocity inflation</title><content type='html'>&lt;p&gt;Continuing my mini-series on &lt;a href="http://allankelly.blogspot.com/2010/06/two-ways-to-fill-iterations.html"&gt;filling an iteration&lt;/a&gt;, &lt;a href="http://allankelly.blogspot.com/2010/06/filling-iteration-too-well.html"&gt;velocity and all that&lt;/a&gt; I want to flag up a big big mistake: &lt;strong&gt;Velocity Targeting&lt;/strong&gt;.  Which leads to &lt;strong&gt;Velocity Inflation&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Velocity targeting happens when someone says: “We did 15 points last iteration, lets aim for 20 this iteration”.  And when the team fails to meet 20 they say something like: “What happened?  We didn’t meet our target?” - or perhaps they start assuming that because the target is 20 the can adjust the plans and message to stakeholders accordingly.&lt;/p&gt;&lt;p&gt;We can all fall into this trap: its called Hope.  We hope for a better world.  When it gets dangerous is when the person issuing such statements is in some position of authority, e.g. the word “manager” or “leader” is in their title, and they start issuing communications with the target as reality.&lt;/p&gt;&lt;p&gt;Given a few iterations the team will meet the target.  However the means they use to meet the target may not be what is expected.  And these may well create problems later on.&lt;/p&gt;&lt;p&gt;For example, the team might skip on testing or skip on refactoring.  This results in a short term speed up which sacrifices long term maintainability and flexibility.  You might actually choose to do this, with the agreement of the authority person, but this should be a conscious decision and you accept the long term slow down.&lt;/p&gt;&lt;p&gt;A more subtle but systematic problem is &lt;strong&gt;Velocity Inflation&lt;/strong&gt;.  In this case the team start giving larger estimates, so when work is done the amount done is greater, so velocity rises.  The same amount of work is done but the point value is higher.  (This can be a conscious or sub-conscious thing, I expect it is more often sub-conscious.)&lt;/p&gt;&lt;p&gt;In some ways this too is natural.  Team members want to appear more successful, they want to achieve more, they want to please people - especially those who are in authority and set targets.  But, and this is the real danger of Velocity Inflation, it undermines your ability to predict the future work capacity of the team because yesterday’s values can’t be compared to tomorrows.&lt;/p&gt;&lt;p&gt;Velocity inflation is just like financial inflation &lt;a href="http://en.wikipedia.org/wiki/Rational_expectations"&gt;rational expectations&lt;/a&gt; and the &lt;a href="http://en.wikipedia.org/wiki/Lucas_critique"&gt;Lucas critique&lt;/a&gt; need to be considered.  It should come as no surprise that I’m going to quote &lt;a href="http://en.wikipedia.org/wiki/Goodhart's_law"&gt;Goodhart’s Law&lt;/a&gt; again: &lt;/p&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;“Any observed statistical regularity will tend to collapse once pressure is placed upon it for control purposes.”&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Targets are good when they help people to stretch and reach goals but in setting them you need to be aware of the side-effects.  Simply to advocate targets is violation of &lt;a href="http://en.wikipedia.org/wiki/W._Edwards_Deming"&gt;Deming’s eleventh principle of management&lt;/a&gt;:&lt;/p&gt;&lt;ul style="list-style-type: disc"&gt;&lt;li&gt;“11 a. Eliminate work standards (quotas) on the factory floor. Substitute leadership.&lt;/li&gt;&lt;li&gt;11 b. Eliminate management by objective. Eliminate management by numbers, numerical goals. Substitute leadership.”&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The solution is simple: &lt;strong&gt;don’t do it.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;If you (quite naturally) want velocity to rise you have look elsewhere.  That will be the subject of my next blog entry.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-7603701173826593971?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/7603701173826593971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/06/velocity-targeting-and-velocity.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7603701173826593971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/7603701173826593971'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/06/velocity-targeting-and-velocity.html' title='Velocity targeting and velocity inflation'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-1024410137632115603</id><published>2010-06-17T09:38:00.001+01:00</published><updated>2010-06-17T09:38:46.186+01:00</updated><title type='text'>Filling an iteration too well</title><content type='html'>&lt;p&gt;I want to stick with the theme of &lt;a href="http://allankelly.blogspot.com/2010/06/two-ways-to-fill-iterations.html"&gt;“how do I fill an iteration?”&lt;/a&gt; for a couple more entries.  There are a lot of little nuances here, and what works for one team at one time might not be the best thing for another team, or even the same team at a different time.&lt;/p&gt;&lt;p&gt;I appreciated &lt;a href="http://allankelly.blogspot.com/2010/06/two-ways-to-fill-iterations.html#comments"&gt;Ed’s comments on my last entry&lt;/a&gt;, I think they go to show how small variations work well for individual teams.   However, sometimes variations hold problems.&lt;/p&gt;&lt;p&gt;Sometimes you come across a team that completes exactly the amount of work (measured in abstract points) during an iteration as they forecast they would at the start.  For example: a team says it will do 10 points of work in the next iteration, and two weeks later they count up and they did 10 points of work.&lt;/p&gt;&lt;p&gt;Occasionally this happens, thats not unusual.  Over time I’d expect it to happen more often but I don’t expect it to happen every iteration.  When it does then something is probably wrong.&lt;/p&gt;&lt;p&gt;Statistically this is just very unlikely to happen.  Yes a team will do roughly the same amount of work but exactly No.  They are not doing the same work, the same tasks, the same events will not occur, the same people won’t work on the same things - and if they did we would expect them to get more done.&lt;/p&gt;&lt;p&gt;So when a team regularly scores the same points, week after week, as they expect to (and by implication the same number they did the previous iteration) then some force is making it happen.  The real number should be higher or lower.&lt;/p&gt;&lt;p&gt;If the real number should be lower it means the team is busting a gut to do the work.  Maybe they are working long hours, or maybe they are cutting on quality.  Either way the work pace is unsustainable and problems are being stored up.&lt;/p&gt;&lt;p&gt;If the real number should be higher it means the team is satisficing.  That is, they have the capacity to do more work but they are not taking it on so there is spare capacity.  Sustainable yes, but not as productive as they could be.&lt;/p&gt;&lt;p&gt;I recently worked with a team led by a manager who would not allow the team to take on more work than they could guarantee doing.  He did this because he didn’t want to explain to the project manager running the project that the team hadn’t done as much as they had scheduled.&lt;/p&gt;&lt;p&gt;The project managers in this company wanted predictability.  If that is important to you then that’s a reasonable thing to do.  But this company was trying to “go faster”.  The managers were making a trade off: less work for more consistency week-on-week.&lt;/p&gt;&lt;p&gt;My preferred method is to always schedule slightly more work than the team expects to do.  This way there is more work to do if the team find things go well.  And if they don’t go well, or if they go badly, then nobody should have been expecting everything to get done anyway.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-1024410137632115603?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/1024410137632115603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/06/filling-iteration-too-well.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1024410137632115603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/1024410137632115603'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/06/filling-iteration-too-well.html' title='Filling an iteration too well'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-9205537471894440042</id><published>2010-06-13T12:42:00.001+01:00</published><updated>2010-06-13T12:42:31.682+01:00</updated><title type='text'>Two ways to fill an iterations</title><content type='html'>&lt;p&gt;The fixed length iteration is a key part of most Agile methods.  But the question is: how do you know what (i.e. how much) to put in the iteration?&lt;/p&gt;&lt;p&gt;There are two ways to determine how much is enough but what might be less obvious is that they are alternatives.  It is easy to outline both and pretend they work together but really they don’t fit together.&lt;/p&gt;&lt;p&gt;The first way, lets call it the Scrum way, is to set a Goal.  The team then commit to making this Goal.  The objective is to find a Goal which is both achievable and challenging, and useful but small enough to fit in an iteration.&lt;/p&gt;&lt;p&gt;In this model the Product Owner comes along with some idea of what they want, the team talk about it with the Product Owner and, through conversation, come to an agreement on what can be achieved.  The team then go for it.&lt;/p&gt;&lt;p&gt;The team “do what it takes” - if they need to work long hours they do; if they need to bang-heads together, they do; if they need to spend their own money, they do.  Given this, one would assume that in those iterations where the team don’t have to move heaven-and-earth they could take things easy.  If one iteration they work 14 hour days a reasonable quid-pro-quo seems that in those when they can finish a day early they do.&lt;/p&gt;&lt;p&gt;If at some point the team decide they can’t make the Goal, or the Product Owner says the Goal is compromised - things have changed and it is no longer wanted - then the team declare an &lt;em&gt;Abnormal Termination of Sprint&lt;/em&gt; and everything starts over.&lt;/p&gt;&lt;p&gt;The problem with this way of doing things is around sizing the Goal.  According to the Scrum literature, by aiming for a Goal the team rally round and choose to stretch themselves.  The danger is that the development team start &lt;a href="http://en.wikipedia.org/wiki/Satisficing"&gt;satisficing&lt;/a&gt;, that is: they promise enough to keep people happy but not so much that they are ever in danger of failing to meet the Goal.&lt;/p&gt;&lt;p&gt;Those who worry about satisficing probably also worry about what happens if the team meet the Goal early.  This isn’t really explained in the Scrum literature I’ve looked at but I’m told that there should be a quick, mini-planning meeting with the Product Owner and some new work accepted.  At which point I wonder: what happened to fixed iterations?&lt;/p&gt;&lt;p&gt;Conversely, looked at form the opposite point of view: what is to stop the business side putting on the developers and exploiting the situation to set difficult, time consuming, Goals?&lt;/p&gt;&lt;p&gt;There are plenty of developers in the world who have been bullied by their business partners into giving estimates which meet the business desire but have no real relation to the amount of time and effort it will really take.  &lt;/p&gt;&lt;p&gt;Either way, the fundamental problem remains: how do you know how big to make the Goal?&lt;/p&gt;&lt;p&gt;Unless both sides change their mindset then the Goal driven model doesn’t really change anything.  And changing mindset on both sides is a big task.  One which doesn’t fit well with a gradual adoption approach.&lt;/p&gt;&lt;p&gt;Actually, I don’t think many people use the Goal driven approach to filling an iteration.  If they did then I would expect to here about teams having spare time more often, and I would expect to hear about more Abnormal Termination of Sprints.  I don’t hear of either so I don’t think this technique is used very often.&lt;/p&gt;&lt;p&gt;The second way of deciding how much to put in an iteration is to use an empirical measurement, i.e. velocity, lets call this the XP way.&lt;/p&gt;&lt;p&gt;In the model the Product Owner proposes some work as before.  The development team do some quick estimates on how much effort is involved, the work is prioritised and work begins.  The first time you do this you don’t know how much work to put in the iteration - how could you?  You’ve not done this before.  But the second time you can count how much work you did before and use this as a guide.  &lt;/p&gt;&lt;p&gt;Iteration on iteration this count becomes more accurate and its what we call velocity.  The technique of using the previous velocity to project the amount of work in the next iteration is called &lt;em&gt;yesterday’s weather&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;I prefer to use this technique and when I do I always slightly overload the team in the next iteration.  That is, I schedule slightly more work than I expect them to do and everyone knows there is slightly more work than is expected to get done.  In other words we expect something not to be done.&lt;/p&gt;&lt;p&gt;There is no point in scheduling even more work because the team isn’t expected to do it.  There is no point in scheduling less work because it might be that the team has spare capacity.   &lt;/p&gt;&lt;p&gt;If we get luck all the work we scheduled gets done, and if it doesn’t... well nobody should be expecting to get everything done, its just a question of how much.&lt;/p&gt;&lt;p&gt;I don’t update the estimates with actuals because that would be mixing apples and oranges.  Estimate counts go in, estimates counts come out.&lt;/p&gt;&lt;p&gt;There are several problems with this technique.  You cant be sure what will get done and what won’t, for some people that’s a big issue.  Secondly, people like to relate the estimated effort levels to hours or days.  When that happens the estimates become less accurate.&lt;/p&gt;&lt;p&gt;More importantly, the Goal driven method aims to stretch the team by challenging them to do something bold.  Using &lt;em&gt;velocity&lt;/em&gt; and &lt;em&gt;yesterdays weather&lt;/em&gt; approach doesn’t even start to do this.  The team are immediately satisficing.&lt;/p&gt;&lt;p&gt;Both these techniques have been advocated and used but what isn’t pointed out very often is that they are alternatives.  If you use them together you definitely are satisficing to meet a Goal.  Using commitment to stretch the team goes out the window.  Unless of course you set stretch goals, in which case you are ignoring velocity.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-9205537471894440042?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/9205537471894440042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/06/two-ways-to-fill-iterations.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/9205537471894440042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/9205537471894440042'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/06/two-ways-to-fill-iterations.html' title='Two ways to fill an iterations'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-2323564926824653768</id><published>2010-06-03T10:32:00.003+01:00</published><updated>2010-06-03T10:36:33.142+01:00</updated><title type='text'>Things to do to improve code quality</title><content type='html'>As I mentioned a couple of posts ago, I was recently out in &lt;a href="http://allankelly.blogspot.com/2010/05/how-do-you-make-lean-practical.html"&gt;Oslo teaching a course on Lean software development&lt;/a&gt;.  One of the points I make is: Quality is free (or at least cheaper) provided you invest in improving quality.  &lt;br /&gt;&lt;br /&gt;This section of the course included an exercise were I ask the participants to think of things they could do to improve code quality.  On this occasion the exercise went particularly well and resulted in the list in the picture below:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.allankelly.net/blogbits/QualityIdeas.jpg" width="60%"&gt;&lt;br /&gt;&lt;br /&gt;Lets run through these one by one - not necessarily in the order on the sheet:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Test Driven Development:&lt;/strong&gt; if there is one practice above all others which contributes to better code quality and fewer bugs it is TDD.  On the plus side it can be used on any type of project, Agile, Waterfall or other.  Its roots go back a long way but it was a forgotten practice until XP resurrected it.  When run as part of a continuous integration cycle with frequent automated builds and tests the practice is Unit Testing on steroids.&lt;br /&gt;&lt;br /&gt;However it doesn’t just happen by mandating it so.  Most developers don’t know how to do it, they need training and help (coaching) to do it.  Even then it is going to be a learning experience, don’t expect it to become prevalent overnight.&lt;br /&gt;&lt;br /&gt;(And before you say “But we have a legacy system with 1 million lines of code so it won’t work for us” please read my &lt;a href="http://allankelly.blogspot.com/2008/03/implications-of-power-law.html"&gt;implications of the power law&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Acceptance Test Driven Development (ATDD) &lt;/strong&gt;is the next level up from unit test based TDD.  Here those making the requests for development not only specify their acceptance criteria but do so before any development happens, and do so in a way that they can be automatically executed.  In many cases professional Testers need to work with the “Customers” to create such tests.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Continuos Integration (CI):&lt;/strong&gt; This is a valuable practices on its own - making sure code builds and new code doesn’t break anything that already exists.  When coupled with TDD and ATDD to created automated, repeatable, test suites, it is an order of magnitude more valuable.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Pair Programming:&lt;/strong&gt; The controversy over pair programming seems to have died down, but then so too have examples of people actually doing it.  A shame really.  It is instant code review, it is two-heads better than one (think of commercial pilots or surgical teams).  It also allows developers to focus intensely on the work in hand - few distractions from telephone calls, e-mails, SMS, and all the other rubbish that distracts us so easily.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Code review:&lt;/strong&gt; The next best thing to pair programming.  If people won’t pair then at least code review.  Put in place a light weight process which happens as soon after the code is written as possible.  The big formal process so many of us learnt about in school aren’t practical - only NASA can really afford them anyway.  Instead use a lightweight process, you will get 80% of the benefit for 20% of the cost.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Static analysis tools:&lt;/strong&gt; in the past static analysis tools have gotten a bad name for themselves.  The current generation are a lot better and while they are not a true substitute for a code review (because in a code review both reviewer and reviewee learn) they are very cheap to use.  Sure you might have to buy a license but once you’ve done that and set them up in the build system they run every time code is checked in and can highlight potential issues very quickly.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Coding standards:&lt;/strong&gt; Traditionally I’m not a fan of coding standards.  In my experience too many teams waste to much time debating and arguing over coding standards and when they are put in place they can be used as a tool for some developers to bully others.  However, if you can overcome those problems then they have a valuable contribution to make.&lt;br /&gt;&lt;br /&gt;Start by having a group discussion - face-to-face, not over e-mail or on a mailing list - about what could be in a coding standard.  Find the areas of agreement and have three or four categories: a very few items as “mandatory”, more items as “recommended” and more as “candidates.”  This third group are possible candidates for inclusion in recommended or mandatory but need some consideration.  The fourth group for things you agree not to standardise on.&lt;br /&gt;&lt;br /&gt;Then review these guidelines every three or four months.  Promote some from candidate to recommended, and from recommended to mandatory, and if some aren’t working then remove them or demote them.  (This recommendation is broadly in line with &lt;a href="http://www.amazon.co.uk/gp/product/0077076400?ie=UTF8&amp;tag=allankelly-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0077076400"&gt;Les Hatton’s suggestions in Safer C&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;Then, don’t use coding standards as part of your review.  Developers should follow them out of honour.  But just in case you miss one, automate them.  Set your static analysis tools up to run your coding standards against code which is checked in.  Remove the human from the loop and remove the bullying.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Automate:&lt;/strong&gt; In case it hasn’t sunk in yet, most of the suggestions so far can be automated, and should be automated.  Not automating them means they take time to do and are therefore expensive in the long run. Automation might cost in the short run but it makes things cheaper overall.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Refactoring&lt;/strong&gt; (&amp; refactoring tools): The whole point of refactoring is to improve the code quality and, more importantly, the overall design.  If it isn’t then something is wrong.  You can, and people do, refactor without automated unit tests but this is equivalent to a high-wire act without a safety net.  With the safety net in place refactoring should be a frequent activity and one which doesn’t take up lots of time.&lt;br /&gt;&lt;br /&gt;As an old C++ hand I’m always impressed by the refactoring tools available to Java and C# developers.  These should lead to more frequent, quicker and safer refactorings.&lt;br /&gt;&lt;br /&gt;Hopefully it is immediately obvious how the above can lead to better code.  Some of the other items on the list aren’t so obvious but I think they are worth including.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Show and Tell&lt;/strong&gt; (early): maybe not immediately obvious why this one should lead to better code but it will.  By regularly showing potential customers of the software what they are getting developers need to keep their code near to release state.  This forces more, smaller, steps in development.  &lt;br /&gt;&lt;br /&gt;The second reason why this helps is that feedback comes more regularly.  This provides positive guidance on what is going right and will point out when things are going in the wrong direction.&lt;br /&gt;&lt;br /&gt;Finally, if developers are scared to show their work in progress to users and customers then its time to run up the red flags and look for trouble.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;User Tests&lt;/strong&gt; extends this reasoning.  User tests provide another line of testing which helps detect problems early.&lt;br /&gt;&lt;br /&gt;Similarly, working on &lt;strong&gt;smaller pieces/projects&lt;/strong&gt; provides for more small steps.  Before each step there is an opportunity for re-adjustment and course correction both at the work planning level and at the code level.&lt;br /&gt;&lt;br /&gt;Finally, &lt;strong&gt;Team cohesion&lt;/strong&gt; is important because without it the team are running in different directions and doing different things with the code.  Part of team cohesion must be a shared view on the development objectives, the design ideas in the code and what makes for good code.&lt;br /&gt;&lt;br /&gt;This isn’t an exhaustive list, just the ones my students in Oslo came up with; if you have any more suggestions please add a comment, thanks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-2323564926824653768?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/2323564926824653768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/06/things-to-do-to-improve-code-quality.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2323564926824653768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/2323564926824653768'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/06/things-to-do-to-improve-code-quality.html' title='Things to do to improve code quality'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-8634217776162387970</id><published>2010-05-21T09:22:00.000+01:00</published><updated>2010-05-21T09:27:58.039+01:00</updated><title type='text'>Falling off a log slides online</title><content type='html'>Slides from my &lt;a href="http://www.allankelly.net/static/presentations/Cambridge2010FallingLog.pdf"&gt;“Falling off a log theory of software development”&lt;/a&gt; talk to Software East are online for download.&lt;br /&gt;&lt;br /&gt;These slides only give a small part of the talk, it was a real talk with the slides for illustration only.  If you want to get a flavour of what I talked about see these past blog entries:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://allankelly.blogspot.com/2008/01/search-of-mediocracy-falling-of-log.html"&gt;'In search of mediocracy' - The falling off a log theory of business&lt;/a&gt; &lt;br /&gt;and&lt;br /&gt;&lt;a href="http://allankelly.blogspot.com/2008/01/lining-up-your-ducks-theory-of-software.html"&gt;The lining up your ducks theory of software development&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;On reflection I think I probably tried to cover too many ideas in the talk.  As well as my trade mark &lt;a href="http://allankelly.blogspot.com/2010/05/how-do-you-make-lean-practical.html"&gt;Agile Pyramid&lt;/a&gt; and &lt;a href="http://allankelly.blogspot.com/2009/02/requirements-next-challenge-for-agile.html"&gt;Alignment Trap&lt;/a&gt; (which make it into just about every presentation) I took in a bunch of other stuff.  I probably need to refactor this as two or three talks!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-8634217776162387970?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/8634217776162387970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/05/falling-off-log-slides-online.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8634217776162387970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/8634217776162387970'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/05/falling-off-log-slides-online.html' title='Falling off a log slides online'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12948038.post-4666614195615648235</id><published>2010-05-17T09:50:00.001+01:00</published><updated>2010-05-17T09:50:59.983+01:00</updated><title type='text'>Cambridge, Nottingham and Business Analysts</title><content type='html'>My talk at the first meeting of the &lt;a href="http://uk.theiiba.org"&gt;IIBA in Nottingham&lt;/a&gt; last week went well - &lt;a href="http://businessanalystmentor.com/2010/05/12/launch-of-iiba-midlands-is-a-great-success/"&gt;don’t just take my word for it Alex Papworth says so too&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;The slides for the talk are now online &lt;a href="http://www.allankelly.net/static/presentations/BAsAgileRoleNottingham.pdf"&gt;“The role of the Business Analyst in Agile”&lt;/a&gt;.  If you saw my presentation to the IIBA BA conference last September you will recognise the presentation, only minor changes.  I’m giving another repeat in July, this time privately to a big British airline near Heathrow.&lt;br /&gt;&lt;br /&gt;What has become clear to me is: a lot of Business Analysts are wondering where they fit in the Agile world.  To help with this I’ve collected some resources together about the role of &lt;a href="http://www.allankelly.net/resources/bas.html"&gt;BAs, and Product Owners generally, in Agile projects&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I hope thats helpful.  If you are a BA, and you have this question then think about attending one of the two courses I’m running later this year.  The first is in August and is specifically for BAs, &lt;a href="http://www.softwarestrategy.co.uk/training/public.html"&gt;Agile Foundations for Business Analysts&lt;/a&gt;.  The second is in October and focuses more on specific Agile techniques, &lt;a href="http://www.softwarestrategy.co.uk/training/public.html"&gt;Agile Development and Requirements with Scrum and User Stories&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Anyone who followed my last set of links on &lt;a href="http://allankelly.blogspot.com/2010/05/a3-reports-templates-and-observations.html"&gt;A3 report templates&lt;/a&gt; may have noticed my website has sprung a new tab “Resources”.  The intention is to make material more accessible.  So far there are &lt;a href="http://www.allankelly.net/resources/bas.html"&gt;Resources for BAs&lt;/a&gt;, &lt;a href="http://www.allankelly.net/resources/lean.html"&gt;Resources for Lean&lt;/a&gt; and &lt;a href="http://www.allankelly.net/resources/patterns.html"&gt;Resources for Patterns&lt;/a&gt; (writers).&lt;br /&gt;&lt;br /&gt;Before then, I’m off to Cambridge on Thursday to speak to Software East, &lt;a href="http://software-east.net/events/the-falling-off-a-log-theory"&gt;The Falling off a Log Theory&lt;/a&gt;.  So still time to book.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12948038-4666614195615648235?l=allankelly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allankelly.blogspot.com/feeds/4666614195615648235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://allankelly.blogspot.com/2010/05/cambridge-nottingham-and-business.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4666614195615648235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12948038/posts/default/4666614195615648235'/><link rel='alternate' type='text/html' href='http://allankelly.blogspot.com/2010/05/cambridge-nottingham-and-business.html' title='Cambridge, Nottingham and Business Analysts'/><author><name>allan kelly</name><uri>http://www.blogger.com/profile/06262139490250478379</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
