Saturday, October 25, 2014

#NoProjects/#BeyondProjects - a developer footnote

Last Friday I delivered a revised version of my “The End of Projects and What to do Next” presentation - otherwise known as #NoProjects / #BeyondProjects. The presentation is on Slideshare if you missed it - or better still see it next week at Lean Kanban UK 2014 (use the code LK14SPK for 15% discount).

In the post conference drinks was chatting with a developer - Matt from New Zealand if my memory serves - and he came out with what some might think was a surprising comment. He said: “I’d never thought of a project like that before.”

Specifically he meant he’d never thought of “a project” in sense “project” is used by APM/PRINCE2 and PMI, which is:

  • The PRINCE2 definition: “A temporary organization that is needed to produce a unique and predefined outcome or result at a pre-specified time using predetermined resources.”
  • The PMI definition: "PMI defines a project by its two key characteristics: it is temporary and undertaken to create a product, service, or result that is unique."

He went on to say that he believed “a project” was “a collection of features.” I can’t say I’m surprised by this, I think many people regard a project as “a collection of features.”

In fact I’ve long suspected that many developers don’t even get that far. To many developers a project isn’t any of these things, a project is “A collection of source code files that build an application.” Back when I was coding C++ this was exemplified by Microsoft Visual Studio where .prj files (i.e. .project files) listed the source code files and “make” instructions to build an executable.

I have a lot of sympathy with this - and other - developers who take this attitude. One might say they have moved to an Beyond Projects mindset already.

The term Project is being used, it is the language of the team but it is being used to mean different things. When this happens the people are using the same words but are not talking about the same thing. Goals, objectives, aims, deadlines, and everything else is missed up.

Its just another example if what I call “False Projects” - using the word “project” without really meaning it.

Friday, October 24, 2014

Dialgue Sheets (2 of 2): Searching for Guinea Pigs

This post follow directly on from my previous one, Dialogue Sheets and Update.

I’m looking for some guinea pigs….

Are there any teams out there who would like to try a dialogue sheet focused on requirements?

I’ve long thought that Dialogue Sheets would be a good way of discussing software needs, requirements, customers, problems and such. I’ve started designing some sheets to address this - the first one is a high level Products and Customers sheet. In intend to produce a more day-to-day product sheet and a sheet of internal IT.

Now I’d really like some teams to step up and say: We’d like to try one of these sheets.

There is no charge for this and I’ll supply the sheet. I need a teams which are willing to give me half a day.

I’ll give you the sheet, I’ll observe as you complete it, we’ll debrief and thats that.

Preferably I’d like my guinea pigs in the Greater London area (because that is easy and cheap for me) but I’m happy to come wherever you are. (OK I might have a problem is you are a few thousand kilometres away but lets talk.)

Interested?

Call me or mail me - contact details here.

Thursday, October 23, 2014

Dialogue Sheets update (1 of 2)

It has been a while since I’ve written about Dialogue Sheets here - or indeed anywhere else. So here is a quick update and a request for some guinea pigs - I have ideas for new sheets but I need some teams to try them out. (If you want to be a guinea pig for a new sheet skip to the end of this blog.)

The impetus for writing this blog is a new French translation of the T1 Retrospective sheet. I am most grateful to Nicolas Umiastowski for this translation which is now available with the other sheets.

Nicolas has blogged (“Retrospective dialogue sheet in use”) - with photos - about using the sheet this week with a team. The post is well worth reading, everyone was involved and it sounds like there was a lot of energy in the room.

More generally, the sheets continue to be used by teams, lots of downloads still happen from the Dialogue Sheets website. Unfortunately I don’t get much feedback on what happens after the download. If you have download a sheet and have tried them then I’d love to hear how it went and what you think.

Now some statistics.

There have been over 3000 downloads since 1 January 2012 from 94 countries.

(A word of warning here. I’ve made no attempt to cleanse the data. I know it contains some duplicates and some fake e-mail address (e.g. a@b.com) so I assume some of the downloads are fake. Given there are now over 3000 downloads I think (hope?) this doesn’t make a big difference.)

Unsurprisingly the USA leads the world with 20% of downloads, then the UK (15%) after which numbers quickly tail away: Germany (6.5%), France (5.5%), Sweden (4.75%), Norway (3.9%), Australia (3.8%), Netherlands (3.5%), India (2.8%) and Canada (2.75%).

I am sure one of the reasons France scores so highly is Laurent Carbonnaux’s translation of the Sprint sheet. Nicolas’ translation could see France overtake Germany. (I hope we’ll get some more translations and have added some notes on translation to the website.)

The most interesting story I’ve heard this year about Dialogue Sheets is from Sweden - the country where they were originally invented. I am told that there is a childrens’ nursery school (kindergarten) where the teachers hold a fortnightly retrospective using the sprint retrospective sheet! Wonderful.

The statistic I still find most interesting the retrospective frequency question.

I ask all downloaders “How frequently do you hold a retrospective (at the moment) ?”

Nearly 8% of downloaders say they are retrospective facilitators. Excluding these people, 47% of downloaders claim to hold a retrospective regularly (every two weeks or once a month.) But 44% say they never or rarely hold a retrospective.

Now I think it is fair to say we can expect those who hold retrospectives regularly to be more interested in these sheets therefore I expect these figures to be biased towards such people. In other words, if 44% of people interested in retrospective dialogue sheets say they rarely hold a retrospective I expect the true number of software professionals who hold a retrospective rarely to be a lot higher. Sad.

Moving on from numbers, some other changes.

About 18 months ago I introduced an Iteration Planning sheet, this doesn’t have so many downloads (over 200 in total). I’ve also written a description of how to use this sheet (same page). I know my style of planning is slightly different from everyone else’s - heck no two teams are ever the same! (Since I published Xanpan it have wondered if maybe I should rename this sheet as a “Xanpan planning sheet.”)

When I do training sessions I leave the teams copies of both the Sprint Retrospective sheet and the Planning sheet to help get them started. By all reports they help a lot.

The print on demand service is still there, it is little used and I was recently able to reduce the prices there. But if I’m being honest I don’t think the price of a Dialogue Sheet is a bit issue for two reasons. Firstly unless you are buying a lot of sheets, and unless you live in the USA, you will probably find the cost of postage greater than the sheets themselves. Hence I think most teams get these sheets printed locally.

Second, I think teams that have to ask for money have as much trouble getting $50 as $500. So it is the fact that the sheets cost rather than how much they cost which is the problem.

Now to the innovations….

I continue to use the Agile Thinking sheet at the end of Agile training courses to help teams talk about how they will put the training into action. This has proved very very successful. Steve Smith has recently adopted a similar sheet on his continuous delivery courses.

While I’m writing this I should mention some other changes that happened a while back, I retired the T2 sheet - it was not different enough from the T1, T3 and Sprint versions. And I updated the T1 and Sprint sheets - the Sprint sheet now has time boxes on it to aid with keeping the retrospectives to schedule.

One more thing… but that can wait for the next blog post.

Tuesday, October 21, 2014

#NoProjects / #BeyondProjects - Agile Tour & Lean Kanban UK conference

The next few weeks sees me delivering my #NoProjects/#BeyondProjects presentation at two London conference - Agile Tour London (Friday this week) and Lean Kanban UK (3 & 4 November). In fact I spent a lot of yesterday refreshing the presentation. Problem is there is just too much to say, the more I look at it the more problems I find with the project model but at the same time I want to make the presentation more positive by emphasising the alternative, the Beyond Projects bit.

Anyway, the reason for mentioning this is… the good folk at Lean Kanban UK have sent me a discount coupon to share with my readers.

When booking on the Lean Kanban UK website use the code LK14SPK for 15% discount. Simple, really.

Thursday, October 16, 2014

Contracts for Agile

Last night I did a presentation to the Agile 4 Agencies meet up group on the topic of “Agile Contracts” - although I believe “Contracts for Agile” might have been a better title.

This was based on my InfoQ Agile Contracts piece from 4 years ago - also available as a PDF from the Software Strategy website. My thinking and experience has moved a bit since then and some of that was incorporated into the presentation.

When creating the presentation I very much set out to work from the original piece, although as anyone familiar with my writing will know, this territory touches on “Dear Customer, The Truth about IT” (Agile Connection and now the prologue to Xanpan - which is also available from the Software Strategy website - my stuff has a habit of being reused.)

Anyway, the “Agile Contracts” is now online at SlideShare. And I believe a recording of the night might appear before long…

Thursday, October 09, 2014

The Estimates Land Mine - use and misuse of estimates

After posting my last post - Estimate or #NoEstimate that is the question? - I felt a little as if I’d stepped on a land-mine. That is to say I had a few comments and a bit a mini-twitter storm. If I’m being honest I have been avoiding some of the estimates/#NoEstimates debate until now precisely because it is obvious feelings on the topic run high.

Perhaps the thing that surprised me most was that a post intended to support making human estimates was interpreted by many Tweeters as part of the #NoEstimates movement! Maybe convergence between #NoEstimates and #NoProjects is already happening in the public mind.

In the meantime it seems to me that a lot of the problem with Estimates lies in what they are, what they are not, how they are used and how they are mis-used.

As is so often the case it all depends on what we mean by the word, in this case “Estimate”.

Generally I find it useful to agree with Humpty Dumpty:

“When I use a word it means just what I choose it to mean—neither more nor less." (Through the Looking-Glass, Lewis Caroll).

After all, who can forget Bill Clinton saying:

“It depends upon what the meaning of the word 'is' is.”

While I am sometimes guilty of the use and misuse of words myself I find it helps to keep an open mind on just what someone means when they use a word or phrase. For example, if a developer says “Unit tests” I try not to jump to assumptions about what “Unit tests” actually are. The fact that such language is used is itself interesting but I also want to know what they actually mean by it.

But back to the word “Estimates.”

On occasions like this I like to check my dictionary, in this case the :

“Estimate

        1.        to form an approximate idea of (size, cost, etc.); calculate roughly

        2.        to form an opinion; judge

        3.        submit an approximate price for a job to a prospective client

        4.        an approximate calculation

        5.        a statement of the likely charge for certain work

        6.        an opinion” (Collins Paperback English Dictionary 2001)

My other usual source is Wikipedia which on this occasion gives:

“Estimation is the process of finding an estimate, or approximation, which is a value that is usable for some purpose even if input data may be incomplete, uncertain, or unstable. The value is nonetheless usable because it is derived from the best information available.”

From these definitions I define a sense that an estimate is:

  • Approximate
  • A statement of possibility
  • Is based on available data which may itself be incomplete or variable

Maybe all estimates should be accompanies by a statement of probability but as Kahneman and Tversky described in the planning fallacy, and has been proved repeatedly since, not only do humans underestimate time but humans are over confident in their estimates. Thus any estimate probability statement would probably itself be an over estimate of probability.

Besides, very few of the “estimates” I’ve ever seen are accompanied by a statement of probability so I don’t think this suggest will get very far.

More importantly these definitions also help tell us determine what an estimate is not:

  • As estimate is not exact
  • An estimate is not a promise, guarantee or commitment
  • An estimate is not a target or deadline

And it is not several other things.

Now in my previous blog post I introduced the idea of “Accurate Estimates” so I was actually sneaking in the idea that an estimate could have a high probability and could be an accurate indicator of what will happen. Perhaps I was guilty of something there.

The trap I fell into is one that many fall into, that of accepting the general usage of the word “Estimate”.

In general usage - in the software community - we misuse the word estimate.

Firstly we automatically equate Estimate with “Effort Estimate”: effort (and therefore cost) estimate proliferate in software development but we overlook other estimates that might be useful, in particular Benefit Estimate.

Second the inherently approximate nature of estimation is too often ignore, estimated are endowed with a sense of promise of what will be rather than recognising their inherent approximate nature. (And as noted in the Planning Fallacy, Vierordt’s Law and Hofstadter's Law time estimates will always be under estimates.)

This also leads to too much conversation about “Why was the estimate wrong?” - sometime blame may be implied. The answer to the question is really: “The estimate is not wrong because it was an ESTIMATE” That is to say: An estimate is never wrong because an estimate is an approximation and therefore is not binary “Right” or “Wrong”.

Sure you can have a conversation about why the estimate was very different to what actually played out but the nature of that conversation is going to be different depending on what you will do with the findings of the conversation. For example, if the resulting information is used to refine future estimates it will be a very different conversation to one where the result will be punishment for someone. (Yes, people do get punished, I once saw a company where Project Managers were rewarded/punished based on the variance between estimated time spent on work and actual time spent.)

In short too often an approximate estimates based on variable information is used as some kind of exact promise to meet a deadline.

Software developers love to imagine it is evil managers who take their estimates, massage them to be politically correct, promise them to higher ups and then force poor coders to honour the number they first thought, but, big BUT, managers are not the only ones. Even in everyday life the Planning Fallacy, Vierordt’s Law and Hofstadter’s Law hold. Observe yourself next time you have to catch a bus, train, complete a tax return, hand in course work or do something (almost anything) with your kids.

I would love it if I could wave a magic wand and reset everyones’ understanding of the word Estimate but I don’t see it happening.

And I think - although Woody and Vasco might like to correct me - that a large part of the #NoEstimates movement is motivated by this problem. The way I see the logic is:

  • Estimates are seldom recognised for what they really are and honoured as such.
  • Estimates are misused and used as a stick to beat people and organizations.
  • Therefore estimates have become a problem and it is better of finding a way or working without them.

I’m not saying this is the whole #NoEstimates logic but it is part which strikes a chord with me.

Incidentally, because I believe estimates are not a promise I don’t believe in Scrum commitment and because I believe they are approximate that in Xanpan I focus their use on the near term. And because I believe benefits should dictate deadlines not effort I refuse to use estimates as deadlines.