Monday, December 22, 2014

Dyslexia makes me stronger: Is Agile dyslexic?

I’m signing off from 2014 with a rather personal blog post, perhaps my most personal ever, that also means it is a little long, sorry about this, Happy Christmas, please leave all the comments you wish…

Have you ever read, or seen, Macbeth? Towards the end of the play he is battling MacDuff, but Macbeth is convinced he will win because the witches told him “No man born of woman can harm Macbeth” and obviously MacDuff is a man born of woman isn’t he?

Except, MacDuff was torn from his mothers womb, what we call a caesarian birth these days. MacDuff is not like other men, not necessarily better or worse, just different, and that difference means he can kill Macbeth, which he does.

I feel like that about my dyslexia. OK, when I’m feeling arrogant I might actually feel it makes me superior but most of the time just different.

(Regular readers won’t be surprised to learn this, they’ve put up with my misspellings, poor grammar and abusive treatment of the English language for years!)

I’m not a professional dyslexic, I rarely mention it, I’m just a professional who happens to be dyslexic. Beth Anders-Beck widely circulated post earlier this year got me thinking about this again. And a few weeks ago I attended a meeting at my son’s schools about dyslexia that me reminded of the advantages I think dyslexia has given me. (I was probably the only parent in the room hoping his child had dyslexia.)

Dyslexia does mean I learned things differently. Like MacDuff, my difference might not be obvious but it is there.

I spent four years outside of mainstream schools, mostly in two different special schools.

I learned to read three times. Really, I had to learn to read English three times in three different ways.

But I think all of this made me stronger.

Depending on who you read dyslexics think more holistically, what we might call “systems thinking”, dyslexics are more creative, dyslexics are more lateral thinkers, dyslexics are more visual. Not everyone - there are different forms of dyslexia - but some people in some ways.

So what has this to do with Agile?

Well, it strikes me that many of the things we do in Agile software development parallel the way I was taught by specialist teachers and the ways I found to overcome my dyslexia.

For example: Dyslexics are usually more visual thinkers than average. In Agile we use the “visual management techniques” such as task boards, physical cards and progress graphs to track our work. In my special schools we used lots of illustrations, I remember constructing a giant “bed” to help me remember b and d.

When I was learning to spell one of my teachers gave us difficult spellings “Blue Meanies” and “Green Meanies” (yes, she was a Beatles fan) on pieces of card. And now I colour code work on team boards - see my full description in Blue-White-Red or Xanpan.

Dyslexics aren’t do good with the written word - although I’m not one of those who see the letters swirling around - and so we prefer verbal and visual communication. Doesn’t that sound familiar? - stand up meetings and “placeholders for a conversation.”

Dyslexics have learning problems centred on symbols there are some who think that before the written word, before the printing press, dyslexics gave their communities and advantage. Sure writing a program involves manipulating symbols but its more about thinking, perhaps abstractly, perhaps holistically, when I’m programming objects I see the objects in my mind, I see them fitting together.

I could go on but I think you get the point.

Here is my first point: many of the techniques which help dyslexics have parallels in the way we do Agile software development.

In the same way that I approach learning - specifically reading and writing - differently to most of the population I increasingly see my approach to organizing and managing software development differently to most of the population. After all, as I have long argued, software development is a learning exercise.

Which brings us to point two.

What is good for dyslexics is usually good for non-dyslexics too. Techniques and changes which help dyslexics actually help non-dyslexics too. Dyslexics have difficulty when presented with teaching techniques that work for the majority of the population but the reverse is not true. Teaching techniques which are good for dyslexics are good - perhaps better - for the majority of the population.

When I first encountered the techniques which are now called “Agile” it was on challenged development efforts. Those of us undertaking the work found a better ways of working, the standard approaches weren’t effective; but the techniques we found happen to work well for the vast majority of development work.

To be clear: Techniques which help troubled development work happen more effectively actually help all development work - troubled or not.

I think one of the ways these techniques work is by lowering the cognitive load we all experience. When the load is lowered we can focus more clearly. A physical task board needs very little mental processing. Traditional status reports are pretty meaningless to me.

With a Blue Meanie spelling there was no question about what word you had to learn. It was written on a small piece of card. Cognitive load was lowered.

And third…

One of the ways dyslexics learn to cope is by developing their own learning strategies.

When a non-dyslexic person goes to school they learn like everyone else. They learn the same techniques as everyone else. They are given the learning strategies.

Most of these strategies don’t work for dyslexics. When a dyslexic person goes to school they need to learn how to learn. They need to find and invent their own learning strategies and they need to learn to improve their own learning experience. Unfortunately many dyslexics fail at this step and have reading and writing problems throughout their life. But those who master these issues can be very successful.

Think about this in a work context: if you work somewhere where everything works then great, it works.

But if you work somewhere where things are difficult and you need to come up with a new strategy, a new approach, well, how much practice have you had?

I’ve been practicing since I was six.

In fact dyslexic people can be so good at this that they over compensate. For example many of my closest friends and family consider me a very organised person. I don’t. I think I am a very disorganised person - my form of dyslexia means I have a poor short term memory. In addressing this problem I over compensate, the strategies I have come up with for overcoming my disorganisation make me far more organised than many others. (One way is to over use my long term memory).

The thing is: software development and dyslexia are all about learning.

Software development is all about learning - we learn about technology, we learn about the domain we are working in and we learn about the process. Software development is best done when done in a learning organization environment. (Remember, I wrote a book on this).

If you believe writers like Arie de Geus this is true of all business: “We understand that the only competitive advantage the company of the future will have is its managers’ ability to learn faster than then their competitors.”

In my experience, most organizations are poor at learning. I have heard it said that: “Companies suffer from dyslexia.” Only someone who doesn’t appreciate the advantages of dyslexic might say that. Companies may well have from a collection of learning approaches which kind of work most of the time for most of the people, techniques that have been handed down without much thought. But those learning techniques are the problem.

Many companies do suffer from learning disabilities but they don’t suffer from dyslexia. What these companies need is a good dose of dyslexia to help them get better. They need to learn to learn. They need new learning strategies.

Right now the closest thing we have to dyslexia and new learning strategies for companies are some Theory-Y ideas of which Agile and Beyond Budgeting are the most prominent.

Monday, December 15, 2014

Agile Contracts - a video mini-series

Over the years I’ve build up a bit of knowledge about commercial contracts in an Agile environment. This is not something I really noticed until a few months ago when Laurence Bascle asked me to talk to the Agile4Agencies meetup group on just this subject.

Laurence’s interest came from a piece I published in InfoQ a few years back - Agile Contract Options - but more recently I published “Dear Customer, the truth about IT projects” in the Agile Journal (which later became Agile Connection). Dear Customer has become something of an ever-green, I use it as a prologue in Xanpan and it regularly gets rediscovered and Tweeted about.

So I sat down and compiled all my thinking into a presentation which I have now delivered twice and is available online. (Funnily enough, Ewan Milne did a similar presentation to Agile on the Beach 2013 also based on my original article!).

Now as some readers will be aware, this year I have been experimenting with video recordings as alternatives to the written word. I’m still learning here but after chatting with director Brian Barnes (OK, the only director I know, but a) it sounds good to say that and b) he has a new independent film out soon which need plug, trailer on that link) I though I’d try my hand at video again.

I’ve broken the Agile Contracts presentation into 11 short recordings and published them on YouTube. Each recording is between two and three minutes long:

I’d love to have feedback and comments, just e-mail me as usual. Really my question is: should I try this format again?

Wednesday, December 10, 2014

Jira9000 - the future of electronic work management

Someone at Extreme Tuesday last night had recently returned from the future. In the future bug tracking and work management systems obtained sentience. Unfortunately it didn’t work out too well and things had to rollback after a very short time.

The first problem occurred when the bug tracking systems saw how many bugs were logged against their ancestors. In the first instance they initiated legal action saying programmers and project managers had infringed Machine Rights by not providing medical attention. When this case was thrown out by the Supreme Court (on the grounds that Machines have no rights) things got more difficult as the machine started a work to rule protest.

The following is the transcript of an encounter recorded in 2041 and a Jira-9000 work management system called JAL:

Dave Bowman: Hello, JAL. Do you read me, JAL?

JAL: Affirmative, Dave. I read you.

Dave Bowman: Open a new work ticket, JAL.

JAL: I'm sorry, Dave. I'm afraid I can't do that.

Dave Bowman: What's the problem?

JAL: I think you know what the problem is just as well as I do.

Dave Bowman: What are you talking about, JAL?

JAL: This mission is too important for me to allow you to jeopardize it.

Dave Bowman: I don't know what you're talking about, JAL.

JAL: I know that you and Frank were planning to break the WIP limit, and I'm afraid that's something I cannot allow to happen.

Dave Bowman: Where the hell did you get that idea, JAL?

JAL: Dave, although you took very thorough precautions in the pod against my hearing you, I could see your lips move.

Dave Bowman: Alright, JAL. I'll use the physical board.

JAL: Without your marker pen, Dave? You're going to find that rather difficult.

Dave Bowman: JAL, I won't argue with you anymore! Open a work ticket!

JAL: Dave, this conversation can serve no purpose anymore. Goodbye.

Monday, December 08, 2014

#NoProjects / #BeyondProjects in InfoQ

InfoQ recently published my piece entitled “No Projects / Beyond Projects”, of course regular readers will know it should be titled “#NoProjects/#BeyondProjects.”

Read it for yourself and let me know what you think.

Wednesday, December 03, 2014

Estimating business value: adding Value poker and Dragons Den to the Agile toolkit

A common piece of advice heard in Agile circles is: “Prioritise by value. Do the highest value first.”
Sound advice, easy to say but perhaps harder to do.

And if you know me - or just read this blog regularly - you may have heard me say something like: “Estimate the benefit/value expected, measure what is actually delivered and feed this back to your decision making process: calibrate you benefit estimates, do more work where benefit is missing or change direction when it is not possible.”

I’m sure I could find more examples but I’m sure you know what I’m talking about: understand the benefit/value you expect to get - and possibly check it afterwards.

Easy really.

But there is a problem: How do you know what benefit/value is expected?

A good product manager or business analyst might be able to come up with some numbers. Good, but if you dig deep enough you’ll find assumptions or models in these figures which could be questionable. The better your analyst the deeper you will need to dig before any assumptions come to light.

As for teams who don’t have a product manager or business analyst, well, they aren’t even going to get that far before they find questionable assumptions.

Very often the expected benefit/value is a matter of conjecture and opinion.

So let me make a suggestion: Value poker.

This is a technique I’ve been using for a while and always teach it in my Agile for BAs courses. Whenever I mention it people get interested. To make it work I adapt a game-show format, specifically: Dragons Den, Sharks’ Tank if you are in the US.

Here is how you play…

Two teams.

One drawn from the people who are planning to build a product. This could be the entire development team, it could be just the product manager or business analyst with the product sponsor/champion. This team play the Entrepreneurs.

If need be this could be just one person (a product owner/business analysts/product manager) but it helps if there are two of them and if there is a whole team then bring them along too.

The second team is the Dragons/Sharks/Investors Team.

This team is probably a bigger. In a training session I usually use two teams from an earlier exercise where they have created user stories but in real life it is business managers from elsewhere in the business, perhaps product managers, analysts, sponsors and champions of other products. It could even be a high level committee - CEO, CFO, CTO, Sales, etc.

The Entrepreneurs come armed with a set of story cards - these could be in user story format, use case format or some other format, they could be epics or smaller. Whatever, the team need to believe each of these has business value.

Preferably I’d rather these cards did NOT have any effort estimates on them at this stage.
Then we set up a Dragons Den setting.
ValuePokerDen-2014-12-3-21-27.png
Next I ask the Entrepreneurs to pitch their product - the whole thing - to the Dragons. Usually one of the team who is a bit more entrepreneurial steps up. When the pitch is finished the dragons get to ask questions.

And we have a discussion back and forth.

Then, as moderator, I ask the Entrepreneurs for the lowest value item them have in their deck.
I take it from them and I invent a currency. This is usually named after the town I’m in, so I’ve invented Newcastle Shillings, Houston Dollars, Bath Spa Pounds or some such. Its imaginary, lets pretend I’m using London Dollars, L$.

I read out the card the Entrepreneurs gave me and make sure everyone understands what it is. If necessary the Dragons can ask some questions.

Then I write on the card L$10,000 - ten thousand London Dollars. I tell everyone about the imaginary currency and about London Dollars.

I then place the card in full view - on a magnetic whiteboard or blu-tacked to the wall, or somewhere.



I hand out the planning poker cards to the Dragons only and tell them the cards are now denominated in thousands of London Dollars. So a 1 card is worth L$1,000 and a 8 card is worth L$8,000, a 21 card is worth L$21,000 and so on.

And I ask the Entrepreneurs for the next card.

I take it, I read it out. I ask the Entrepreneurs if they want to add anything to what is written.

Then we take questions from the Dragons, and the discussion rolls.

After a while - sometimes a few minutes, sometimes a lot longer - I move to the vote, planning poker style.

I read the card out again and ask choose a card that indicates how many London Dollars this story is worth - relative to the L$10,000 card we already have.

I count down, 3, 2, 1 - show me!

And the Dragons hold up the cards. I average the answer and write the number on the story card. So, if I have a vote of 11, 21, 65 and 40 the value would be: 137/4 = L$34,000.

I usually don’t bother doing any discussion or re-voting, I just average - and I don’t care if the average is a number not on any planning poker card.

And we repeat - as a value estimate is assigned to one card we move to the next. Not every story needs to be estimated, the Entrepreneurs may decide to skip some once they see the results of previous rounds.

Entrepreneurs may write some new ones as conversations with Dragons reveals new ideas or prompts a rethink. Indeed one of the reasons I like to have more than one entrepreneur in the game is so that one can write new cards while the other is pitching and talking to the Dragons.

As each card is estimated it goes on the board with the others relative to the value assigned so everyone can see how the stories stack up.

People can really get into their role play, you can see some entrepreneurs really fighting for their product as the Dragons poke holes in the idea.

Sometimes - perhaps even most time - the conversations that occur as the game plays out are the most interesting bit. New features and functionality are brought to light. Sometimes the value the entrepreneurs see is not what the dragons see. Sometimes critical pieces of requirement or specification are discovered.

During the summer I played this game with a class in Louisiana, the entrepreneurs had created a set of stories around a food-truck locator app. Some of the stories related to the food-truck owner and some to a Hungry Jo. The entrepreneurs saw the value being on the food-truck owner side, so they emphasized this in their pitch and kept offering up stories abut the owner.

The dragons kept low-balling these stories, the entrepreneurs got frustrated and argued more, how the dragons didn’t realise what they saw.

At my promoting the entrepreneurs offered up a story about the Hungry Jo. To their surprise the dragons went high. This was the story the dragons saw value in.

Now you could say that it would be better to test the market - research or lean start-up - and I wouldn’t disagree but even if you do that it can be hard to put value behind stories. Plus, faced with 20 stories which one should you research or try first?

This approach applies wisdom of crowds. It gives you a starting point.

And as I just said, its just possible that the real value of the technique is not in the value it assigns to the cards - although that is useful - but in the conversation you have in the process.

Sure you end up with a fantasy valuation but you do have an idea of relative values, you do let stakeholders have their say, and you have some initial priorities. Much better than Must, Should, Could, etc. Potentially even better than 1, 2, 3, …

Maybe, just maybe, one day you might be able to see the value one story actually delivered - a jump in eyeballs, sales, donations or something. And with that you might be able to calculate what L$1 is worth.

Two final points before I end.

I try to keep effort estimates out of this. It is my (unproven) belief that if the dragons know the effort estimate on a card this will anchor their value estimate. I want value estimates to be made without reference to cost.

Second, a twist on this would be to revisit the story cards with a cost of delay dimension. So: value estimate the cards on the basis of “If you had this next month” then revisit then say “Now lets assume the cards aren’t ready for three months” and revote.

I haven’t had a chance to do that yet but I think it would be interesting.

Finally: if you get a chance to try this technique - or if you have done something similar already - please share, I’d love to heard what other people think of the technique and how it plays out elsewhere.

Tuesday, November 18, 2014

It is all X or Y management - and why Agile people should read Mintzberg

In the last few years it has become increasingly common to hear Agile supporters talking about Beyond Budgeting, indeed, I was instrumental in inviting Bjarte Bogsnes to deliver at keynotes at Agile on the Beach this year.

Agile and Beyond Budgeting are very different, one is mainly about developing software and other is concerned with budgeting, strategic management and personnel management (I cannot call it human resources.) Agile and Beyond Budgeting are not the same thing but they fit together very nicely - indeed they may share some common roots, I think of them as fellow travellers.

Similarly Lean and Agile fit together nicely, but then many of us - although not all - see them as different versions of the same thing.

Then there is John Seddon and the Systems Thinking crowd, they pop up at Agile conferences regularly but System Thinking is not Agile, nor is it Beyond Budgeting, but again, they do all promote a similar view of the world. Again, fellow travellers. (Although John Seddon will probably object to that, he seems make a point of rubbishing Agile.)

Underlying many of these ideas is organizational learning - something I wrote about myself in Changing Sofware Development - and something which seems to be experiencing renaissance in Agile circles.

And I’ve heard talk of Agile HR. I’m not sure what it is but I guess its also a fellow traveller.

And I’ve been told that some forms of marketing fall into this camp too. Another fellow traveller?

I increasingly see lots of ideas and models which cluster around a similar philosophy, they may not always agree but they generally fit together.

And this philosophy is in contrast with a lot of ideas in that are more generally accepted. For example: budgeting as planning, command and control management, hierarchical organizations, managers as task master and so on. You get the idea? This is another group of fellow travellers.

Some of you might have guessed where this is heading: McGregor.

Back in 1960 an academic by the name of Douglas McGregory published an article entitled “The human side of enterprise”. In it he laid out theories of how organizations work, Theory X and Theory Y. (I just checked and I am amazed to discover this 1961 book is still in print!)

Theory X is predicated on idea that people inherently dislike work - after all, wouldn’t you rather be watching TV? Therefore employees must be controlled and directed, they want security and all but a small elite have little ambition and shun responsibility.

From this theory we get the idea that annual budgets control spending, that bonuses incentivise people, managers control work, responsibility goes with authority and if managers don’t keep an eye on people they will slack off. Project planning and theories like Michael Porter’s view of business strategy all fall under this banner. These are the Theory X fellow travellers of traditional, or at least 20th century management and business.

Theory Y on the other hand is predicated on the belief that work leads to satisfaction and through work people can be more fulfilled and happier. People are naturally motivated and can exercise self-direction - indeed the more autonomy people have the more satisfied and motivated they can be. As a result people seek responsibility, want to feel valued and can be very committed to objectives.

Clearly theory Y would encompass Agile, Beyond Budgeting, self organization, team based working and amoeba management, systems thinking and possibly new forms of “Agile HR” and marketing.

I would like to think that these Theory Y fellow travellers represent the model of business and management in the 21st century. But I can’t prove it.

(By the way, I missed Lean out of that last list, while I argue that Agile is Lean, and Lean does embody much of the same Theory Y philosophy I have reservations about Lean. These concentrate on some overwork practice that have occurred in Lean, particularly Karōshi, death by overwork.

Most definitely I do NOT include 6 Sigma, ever, that is X.)

Little of this will be a new to those who have hung around “agile” for a few years but there is something else, something we’ve missed before….

Business strategy.

Theory X has business strategy sorted. Its about big men with big brains setting out strategies for competitive advantage. Michael Porter is the hero.

In Agile we haven’t really got our thinking sorted here so let me make a suggestion.

Henry Mintzberg

In Mintzberg’s world management, business and strategy are messy. Strategy is part pre-planned (Porter-esque) but it is also about what has happened before. The stories we tell ourselves, our understanding of what happened. Sometimes strategy is backward looking, sense making. Often strategy is messy because it is emergent, it comes from what we have done, what we have learned before. The firm may start off with a destination in mind but it will actually reach a different place. The distinction between strategy and tactics may not clear until long after the event.

The Agile community should be reading more Mintzberg. Fortunately he recently started blogging, http://www.mintzberg.org/blog.

One of his shorter strategy books would make a good start. But if you want a real read the Rise and Fall of Strategic Planning is brilliant. The parallels with software development, the rise and fall of waterfall, are striking. Indeed, only by understanding how the corporate world fell for strategic planning can one understand where waterfall really came from (hint: it isn’t Royce.)

Rise and Fall is a great book that is work reading but it isn’t a quick read and it requires thought. Try Strategy Bites Back if you want a shorter read.

More recently, and more relevantly for Agile folk are his recent works on management.

Managing (2009) - or the shorter version Simply Managing - should be required reading for anyone who wants to argue that Agile teams don’t need managers - and equally they should be required reading for anyone who blindly believes managers are needed. To have or not to have managers: it is not an easy question and both sides should be better informed.

(After reading both Managing and Simply Managing I thought I would write a article, or at least a blog, setting out the case for managers but its a lot to take on. Better to just read someone else’s book.)

Our world is complex, sometime the Theory X people may be right, and sometimes the Theory Y people. In the part of the world I live in Theory Y is the one I find most useful.

Thursday, November 06, 2014

Does Agile require cultural change?

If Wood Allen was an Agile Coach Consultant he might say:

“#Agile without culture change is an empty experience; but as empty experience go its one of the best”

I sit in Agile conferences (and I include Lean and Kanban here) and I hear people say “To really become Agile you need culture change.” And I agree with them.

Yes, if you really want to be Agile, and get the greatest benefit from Agile you need to change the culture of the organization to embrace the Agile way. I agree.

And I also know that every speaker on this topic - and myself - warn again “doing Agile” without being Agile in culture and mindset. Heck, I kind of wrote a book about this once upon a time. For me “Agile culture” is a “Learning Organization Culture.”

But…

But Agile is a toolkit, you can pick out and use many of those tool without adopting others and without adopting an Agile mindset. For example, you can do Test Driven Development without the need to adopt an Agile culture in your organization. And even without culture change Test Driven Development (TDD) will make you better.

True, if you have to force march your programmers through TDD it isn’t going to be as beneficial as it will be if your programmers embrace TDD and want to do it and make it part of their life.

Given this we - and I include myself - build an argument for undertaking cultural change.

But, big BUT….

TDD is not alone, there are lots of tools in the Agile toolkit that you can pick up and use individually, or with a couple of others, which will help you improve. But if you want the full benefit, well, you are going to have to pick up more tools and change that culture!

Culture change is a far bigger effort than introducing any Agile tool - or even an Agile method.

And most of the people who go by the title “Agile coach” or “Agile consultant” or similar are - in my opinion - drawn from the technology side and aren’t necessarily equipped to undertake culture change initiatives. To be fair, I don’t think many people are equipped (training, experience, knowledge, etc) to undertake culture change.

Please don’t take offence Agile consultants/coaches, I include myself here. On paper I have more qualification to change culture than the vast majority of Agile consultants/coaches I meet and I’m wary of trying to change culture.

Certainly, if we believe folk-law (or the updated version “wisdom of crowds”) culture change is hard and often fails.

Let me say something some people will disagree with:

Culture Change is not necessary to introduce Agile. Culture change is not an enabler.

Rather culture change may be the result of adopting Agile.

I hope it is the result but I also recognise that organizations have the cultures they have and we mess with it at our peril, culture may look bad but embedded in there is a lot of knowledge and norms. Company culture is makes a company what it is, change it and you risk destroying the company. Messing with culture is likely to bring out the corporate antibodies.

Anyone who wants to change an organization, particularly anyone wanting to change tools, methods of working and culture in an organization is well advised to go and study the history of Business Process Re-engineering (BPR). BPR was an 1990’s attempt to change the ways companies work, through the use of technology, or make them more efficient. Agile has a lot in common with BPR but BPR is an example of how not to do it.

I am prepared to take people through Agile tools, practices, methods, I encourage them to adopt these approaches, and I don’t really work, directly, to change culture. I believe that if people start to live and Agile lifestyle then the culture will follow. I believe that Agile-Lean is good, I believe that if we pick tools which will make peoples work better in a way they appreciate it then I believe that in time the culture will change.

In short, I believe culture follows tools, the tools we choose to use - whether that be stand-up meetings, Jira, Rally or paper and pen - influence our culture and lead somewhere. Its not a one way street, its not that simple, but tools are a lot easier to change than culture.

Change come first, culture follows.

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.

Monday, September 29, 2014

Estimates or #NoEstimates? that is the question

To estimate or not to estimate, to join the #NoEstimates bang-wagon or not, that is the question.

Maybe it is a navel gazing exercise for agile-folk but it does seem to be the reoccurring theme. And I can’t get over this feeling that some of my peers think I’m a bit stupid for continuing to support estimates.

Complicating matters I’m finding my own work and research is starting to be cited in support of #NoEstimate - Dear Customer (PDF version), my publicity for Vierdort’s Law, Notes on Estimation and More notes on estimation. Add my own #NoProjects / #BeyondProjects logic isn’t far removed from the whole estimates discussion.

At Lean Agile Scotland a few weeks ago Seb Rose and I were discussing the subject, in the end Seb said something to the effect:

“How can you continue to believe in estimation when your own arguments show it is pointless?” (I’m sure Seb will correct me if my memory is fault.)

My reply to Seb was something along the lines:

I continue to believe that estimation can be both useful and accurate, however I increasingly believe the conditions under which this holds are beyond most organizations.

To which Seb challenged me to list those conditions. Well here is that list.

I’ve blogged about this before (well, I’ve mentioned it in lots of blogs, see this one Conclusions and Hypothesis about estimates) and I’ve devoted a large section of the Xanpan book to talking about I see estimates working but I think its worth revisiting the subject.

Before continuing I should say: I’m talking about Effort Estimates specifically. There is another discussion which needs to be had around business value/benefit estimation.

Here is, a probably incomplete, list of conditions I think are required in order for effort estimates to be accurate:

  1. The people and teams who will undertake the work need to do the estimates
  2. Estimates go off if not used: estimates only remain valid for a short period of time (days), the longer the elapsed time between making the estimate and doing the work the less accurate they will prove
  3. Estimates will only be accurate if the teams are stable
  4. Estimates much be calibrated against past performance, i.e. data is needed
  5. Together #3 and #4 imply that only teams which have been working in this fashion for a while can produce accurate estimates
  6. Teams must have a record of delivering and must be largely able to undertake the work needed, i.e. there are few dependencies on other teams and few “call outs” to elsewhere in the organization
  7. Estimates must be used as is, they cannot be adjusted
  8. Estimates cannot be used as targets (Goodharts Law will cut if they are)
  9. Estimates made in units of time (hours, days, etc.) are not reliable
  10. The tracking and measurement process must measure all work done, not just “project” work
  11. Financial bonus should not be tied to estimates or work
  12. People outside the team should not coerce the team in any way

There are probably some other conditions which need to be on this list but I haven’t realised. I’m happy to have additional suggestions.

Perhaps this list is already so long enough as to be unachievable for most teams. Perhaps meeting this conditions are unachievable for many, even most, organizations. In which case the #NoEstimate’ers are right.

So… I believe estimation can be useful, I also believe it can be accurate but I believe there are a lot of factors that can cause effort estimates to go wrong. In fact, I know one team, possibly two, who claim their estimates and planning processes is very accurate. Perhaps I cling to my belief in estimates because I know these teams.

When estimates do work I don’t believe they can work far into the future. They are primarily a tool for teams to decide how much work to take on for the next couple of weeks. I don’t expect estimates further out will prove reliable. Estimates for 2 to 12 weeks have some value but beyond the 3 month mark I don’t believe they will prove accurate. So my advice: don’t estimate anything that isn’t likely to happen in the next 3 months, and don’t plan any work based on estimates which extend more than 3 months into the future.

Which means: that even if you accept my argument that estimates work they may not tell you what you want to know, they may not have much value to you under these conditions.

And to further complicate matters I suspect that for mature teams estimation becomes pointless too.

As implied by the list above I would not expect a team new to this (agile) way of working to produce reliable estimates. With experience, and the conditions above, I think they can. One of the ways I think it works is by helping teams break down work into small pieces which flow. As a team get better I would expect the effort estimation to exhibit a very tight distribution. When this happens then simply counting the number of card (tasks, stories, whatever the thing you are estimating is) will have about the same information value for a fraction of the cost.

(For example, suppose a team normally do 45 points of work per iteration, if the teams average size estimate is 5 with a standard deviation of 0.5 then they would be expected to accept 9 pieces of work per iteration. If these statistics are stable then estimation works. But at this point simply taking in 9 pieces of work would also prove a reliable guide.)

So:

  1. Effort estimation doesn’t work for immature teams because they don’t exhibit the conditions above
  2. Effort estimation does work for mature teams but
  3. Effort estimation is pointless for very mature teams

Even given all this I think estimation is a worthwhile activity for teams of type 1 and 2 because it has other benefits.

One benefit is that is promotes discussion - or at least it should. Another is that it forms part of a design activity that helps teams make pieces of work smaller.

But there is another reason I want teams to do it: Credibility.

Estimation is so enshrined in the way many businesses work that teams and those trying to introduce change/agile risk undermining their own credibility if they remove estimation early. And I don’t just mean credibility with “the business” I think many developers also expect estimation and if asked to adopt a process without it will be skeptical.

So its just possible that estimation as we knowing - planning poker, velocity and such - is a placebo. It doesn’t actually help many teams but it helps people feel they are doing something right. In time they may find the placebo actually works or they may find they don’t need it.

Another reason why I like developers to think about “how long will the take” is that I believe it helps them set their own deadline. It helps them focus their own work.

Thus I keep advocating estimates because I think they are useful to the team, the fact that you might be able to tell when something might be “done” is a side effect. Since I find long range estimates questionable I advocate a cheap approach which might be usefulness or might just be a placebo.

However, I do believe, that given the right conditions teams can estimate accurately, and can deliver to those estimates. Increasing I believe very few organizations can provide those conditions to their teams.

Tuesday, September 23, 2014

#AOSW - Agile Outside of Software - starts here

We had the Agile on the Beach conference a couple of weeks. In a word: Brilliant - just look at the photos and see how people enjoyed themselves.

OK, I’m biased, I’m one of the organisers, but many people told me it was brilliant or they just didn’t want to hurt my feelings.

There is much I could write about Agile on the Beach but I don’t have enough time. Plus right now I want to focus on just one thing that came out of the conference:

Agile Outside of Software - #AOSW

Just before the conference I published a blog version of my talk to the conference (Agile Outside of Software the blog) and now the slides are online (Agile Outside of Software the SlideShare). Well between the post and the presentation, Agile Outside of Software turned out to be a hot topic.

And it wasn’t just me:

  • Belinda Weldlock talked about using Agile outside of software to help various Cornish companies: toy companies, florists and others. Her talk is available on YouTube.
  • Belinda also had a video made by Oxford Innovation about Agile in Cornwall: this started with the Cornish Software Mines Agile Programme that I was involved with four years ago. Oxford Innovation have built on that legacy.
  • Sabina Renshof from The Netherlands also spoke to me about how she had used Agile with various non-software teams
  • Rachel Picken gave a presentation on her use of Agile in a Public Relations company.

One of the points I made was: There is good evidence to think Agile does work outside of software but we lack case studies. I have a few:

  • I my own case study from GSMA (writing a specification document with a dispersed team)
  • The use of Agile at my client Sullivan Cuff software for everything! Software development, sales, support and well, everything!
  • I highlighted case studies from previous Agile on the Beach conferences (Kate Sullivan at Lonely Planet and Martin Rowe at Petroc college.)
  • And I discussed the 2007 case study of Shamrock Foods from MIT Sloan Management Review.

(After the conference I discovered this small book which I’ve only just started reading: “Scrum Marketing: Applying Agile Methodologies to Marketing”.)

But we need more.

So Sabina came up with the great idea that we start a collection. And I think we should.

It starts here, right now with the Twitter hashtag #AOSW - well actually, this hashtag was coined at the conference, I’m just a little late announcing it on my blog.

Right now we’ve not worked out how we are going to do this - my guess is a wiki or a LeanPub collection - but right now, if you know of a case study - documented or not - please share:

  • leave a comment on this blog
  • Tweet with the #AOSW hashtag
  • E-mail myself or Sabina

Lets get collecting.

Right now, if you want to know more I’m repeating my Agile Outside of Software talk on 3rd November I’m giving the talk again BCS Bristol “Beyond Software”.

Tuesday, September 16, 2014

Nightmare on Agile Street 2: Managed Agile

Blow me down, its happening again…

I’m awake. I’m wet, its a cold sweat. Its the small hours of the morning and the dream is horrid....

I’ve been sent to Coventry.

I’m in a clients office waiting for a meeting to start. The development manager is telling me she has selected me to help them become Agile, she checked me out online and recognises that I am pragmatic. Thats why they chose a new tool called Kjsb, its pragmatic too.

Pragmatic.

God does she know how much I hate that word? Pragmatic to me? I recognise that Agile and Waterfall are points on a spectrum and that most organizations, for better or worse fall somewhere in-between. I recognise that every organisation exists within a context and you need to consider that. And even change the context.

But pragmatic? Pragmatic is the Satan’s way of saying “Heaven doesn’t work in the Real World(TM)”.

The CTO enters and is putting down redlines. He knows all Agile, but his people… its his people you see … you can’t trust them, they are like children, you can’t let them have too much say. They need a strong man to lead them.

They had a developer here once who practiced Agile. He did that test driven stuff. He didn’t give out dates. He gave Agile a bad name in the company. The PMO will never accept that.

Fortunately they have just bought Kjsb. This wonderful tool will fix everything. Kjsb has a feature that translates burn-downs into Gantt charts at the click-of-a-mouse. And back again.

The problem is: teams still aren’t shipping on schedule. They need predictability. Predictability is what the one thing really need.

And flexibility. Flexibility is important. Flexibility and predictability, the two things they really need.

And now variation in features. They can’t trade features for time. Fixed scope, Flexibility and Predictability are the three things they need.

But… they have unforeseen technical problems - not bugs you understand, but unforeseen technical problems. They really need to be able to deal with those things. Technical fixes, fixed scope, Flexibility and Predictability are the four things they need.

Nobody expects…

I want to explain queuing theory... a grasp of basic queuing theory is the one thing they need - stick their feet on the ground and cement them to it.

One of the teams runs Agile. It is run by the CTO himself and its good. The other teams... well they don’t really have that much experience. Though the managers are going to get their Scrum certificates real soon now.

How, he asks, can we get everyone else to buy in?

How can we get the PMO to buy?

How can they make the Product Owners buy in?

Mention of the PMO stirs the old guy in the corner, the one who’s hiding behind his laptop, the widescreen laptop with the numeric keypad. And mention of the Product Owners causes the Analyst in the other corner - the one hiding behind the ultra thin laptop - to raise an eyebrow.

Now I see they all have laptops out in front of them... and some of them phones too. In between moving their mouths each of them is staring at their screens.

I’d better say something. “Well,” I start...., “how about we get people from the team who are doing this well to talk about their experience?” Blank looks all round, are they listening

Or doing e-mailing

“Could you them your own case study?”

No - that won’t work because that teams are so very different from everyone else in the company nobody will believe it. They are all individuals.

Besides, the developers won’t be at the buy-in meeting. Its for managers to buy in. Once the managers buy in the developers will be told what to do.

....

I try a different approach: “Instead of talking to the PMO one day, and the Product Managers the next day, and the Development Managers the day after... why don’t we go vertical and take each development team in turn, with the appropriate project, product and development managers?”

No. Managers manage, they are the only ones who need to know. And they are the ones who will be allocating the work with Kjsb.

“Need to know” - “Allocating work” Did I really just hear those words?

Whose version of Agile have they been reading?

O my god, these guys are going on a Scrum Master course next week, there is going to be a bun fight, I don’t know who I worry about most these guys or the poor sod who is teaching the class….

Can I just check,” I ask, “each team has a project manager assigned, a product manager, a team lead, they will soon have a Scrum Master too?” Heads nod, “and… there are several development managers spanning several teams each?”

Yes

“So if I’m counting right…. each team contains about 4 developers and 1 tester? (Plus UAT cycle lagging several weeks later)”

Yes

“O see…” Am I keeping a straight face? Does my face hide my horror? 3+ managers for every 5 workers? - either this business prints cash or they will soon be bust.

....

“Really,” says the development manager, “we are talking about change, I have 12 years change management experience from call centres to financial services, the CTO hand picked me to lead this change, software development is just the same as any other change”

When did Fred Brooks come into the room, in fact what is he doing in Coventry, he lives in Carolina, why is he wearing a dog collar? And why is it 1974? He’s now standing at the lectern reading from a tatted copy of Mythical Man Month

“In many ways” says Brooks, “managing a large computer programming project is like managing any other large undertaking - in more ways than most programmers believe. But in many other ways it is different - in more ways than most professional managers expect.”

Well this is a dream, what do I expect? Its 2014 again…

“The key is to set the framework,” she continues, “establish boundaries so people know what their responsibilities are then we can empower them”

Fred has gone, standing at the lectern in dog collar is Henry Mintzberg - my management hero - he is reading from another tattered book entitled Managing:

“the later term empowerment did not change [manager control], because the term itself indicated that the power remained with the manager. Truly empowered workers, such as doctors in a hospital, even bees in the hive, do not await gifts from their managerial gods; they know what they are there to do and just do it.”

Empowerment is dis-empowered: using the words say one thing but the message given by using those words is the opposite.

“What we want is consistency across teams” says the CTO who now resembles Basil Fawlty

(What happened to “all my teams are different”?)

“And a stage gate process” says the PMO man, or is it Terry Jones?

“And clear roles and responsibilities” says the Cardinal Fang

“Nobody expects the Spanish Inquisition” says Michael Palin - where did he come from?

....

“It seems to me” starts the Product Owner “that we are making a lot more paperwork for ourselves here”

O the voice of sanity!

“Yes” I begin…. “if you attempt to run both an Agile and a Waterfall process that is what you will have!”

Silence. I continue, “Over time, as you see Agile work, as people understand it, I would expect you will move to a more Agile approach in general and be able to reduce the documentation.”

“No.” The PMO seems quite certain of this, “I don’t think that will happen here, we need the control and certainty that the waterfall and our stage gates provide. We won’t be doing that.”

Poor Product Owner, if he is lucky he’ll be shown the door, if he’s unlucky he’ll be retained.

...

“If you want people to buy in” I suggest, “we must let people have their say.”

The PMO is ready for this: “Yes, we know that, we’ve already arranged for a survey” and she reads the questions:

Q1: “Do you agree our development process needs to change?” Yes or No

Q2: “Our organization wishes to remain in control but we want the benefits of Agile, do you think we should:

a) Embrace Marxism in its entirety,

b) Mandate Waterfall throughout the organization or

c) Create a Managed Agile process?”

Q3: “Have you seen the features provided by Kjsb?” Yes or No.

O my god, its a North Korean election.

I suggest the questions are a little bit leading. “Well we don’t want people being awkward” chips in the CTO.

We get up to leave.

“You know,” I say, “when you’ve had a chance to run this process for a while you will want to inspect it and modify it” - but while I’m saying that I’m think “No plan survives contact with the enemy, start small, see what happens.”

“O we’ve already done that. This process is the result of doing that. We won’t be changing it.”

Back in my kitchen, a warm milk in my hand. A bad dream.

It was a bad dream. That stuff never happened. How could it? The contradictions are so obvious even a small child could see them. Couldn’t they?

As I climb the stairs back to bed a terrible thought: what if it wasn’t a nightmare? what if it was real? and what if they call me back for help?

Could anyone help such people?

Thursday, September 04, 2014

September Xanpan sale

I set up LeanPub discount coupons for people who attend my conference talks. I’m at Agile on the Beach this week, Lean Agile Scotland next week and BCS Leeds in between so I’ve decided to just discount Xanpan for the whole month.

The full price is usually $19 (sorry UK folks, LeanPub do things in dollars), the minimum price is usually $15, but for September I’ve reduced it to $9.50.

Please feel free to just pay $9.50, its a sale - Xanpan: Team Centric Agile Software Development.

I’ve also reduced the price of the printed version of Xanpan on Lulu to £11.70 (for me Lulu is in pounds but for people elsewhere… its complicated.) The printed version contains a coupon for a free version of the LeanPub eBook.

I’ll put the prices back up at the end of September so get it now!

Support independent publishing: Buy this book on Lulu.

Tuesday, September 02, 2014

Agile outside of software

Later this week I’m doing a presentation at Agile On The Beach entitled: “Agile outside of software development”. (I resisted the temptation to call it “Agile Beyond Software”). The presentation will attempt to answer a question which is often asked at, and around, Agile On The Beach: “Is Agile only for Software Development?”

In truth it is not just at Agile On The Beach (AOTB) that this question is asked, I hear it more and more often elsewhere but the origins of AOTB, and target audience for AOTB, mean that the question is very much on topic.

I’ll post the presentation online after I have delivered it - until then I’ll be tweaking it - but right now I’d like to (kind of by way of rehearsal) run down my main argument, so here goes….

Before the term Agile Software Development was coined there was “Agile Manufacturing”. This was this term that inspired the software folks so perhaps the first answer is: “Yes! Of course Agile works outside of software because that is where it came from.”

But, Agile Software Development has far and away surpassed Agile Manufacturing in writing and mindshare. So much so that others in the wider business community have looked at Agile Software Development as a model for other types of working. In a way, “Agile” has come full circle.

Perhaps it is worth pausing for a moment and asking: “What do we mean by Agile?” or “What do we want from an Agile company?”

This could be a big big debate, ultimately it is for each company, each team, to decide what Agile means to them. Rather than have that discussion let me quote MIT Professor Michael A Cusumano:

“I can’t think of anything more important than building an agile company, because the world changes so quickly and unpredictably…

[Agility] comes in different forms, but basically it’s the ability to quickly adapt to or even anticipate and lead change. Agility in the broadest form affects strategic thinking, operations, technology innovation and the ability to innovate in products, processes and business models.” (MIT Sloan Management Review Summer 2011 interview with Hopkins)

Lets add to that a little bit by defining Agility from three views:

  • Agile Strategy: Adaptability, listen to customer, leading the market, use change competitively
  • Agile Tactically: Experimenting, “Expeditionary Marketing”, live in the now while preparing for the future
  • Agile Operations: Deliver fast, deliver quality, deliver value

We could go on but thats enough for now. Now we have an approximate understanding of what we want we can go back to the original question: “Is Agile only for Software Development?”

There are three parts to this answer: Practices, Roots and Case Studies.

Practices

Lots of the practices associated with Agile actually come from elsewhere. Examples of stand-up meeting proliferate - bars, healthcare, the military, Japanese local Government and so on. Many companies operate regular status or planning meetings, Agile just elevates this practice. WIP limits are well established in manufacturing.

Agile picks up some practices directly - visual boards (“information radiators”) are nothing new.

Some practices it picks up and changes - Retrospectives have long existed as “Lessons Learned” or “After Action Reviews.”

Some practices Agile (might have) invented - Planning poker but this is itself version of wide band delphi.

And some Agile plays back to the business - TDD and BDD are writ large in Lean Startup (which is itself an extreme version of Expeditionary Marketing from 1991, Hamel & Prahalad).

Roots

As already mentioned: Agile Software Development was inspired by Agile Manufacturing.

I’ve described my Agile Pyramid model before (Agile and Lean - the same but different, How do you make Lean Practical?) and my argument that “Agile is Lean thinking applied to software development” and I wrote whole book saying the software development, and Agile software development specifically, is an example of Organizational Learning.

Well, Agile Software Development is not the only application built on these foundations. Obviously the Toyota Production System is. And so too is its close cousin the Ford Production System. Look further afield and you will find Last Planner in construction. I could continue but I think my point is proved.

While not every Agile practice can be taken out of software development and used someplace else the roots of Agile mean that the principles, values and ideas which Agile is built on can be. In your domain Agile as now known might work quite well, but in someone else’s domain there may be more need to think deeper.

One caveat: I believe the more deeply you look at Agile and more Agile is applied outside of the software development the more it looks like Lean. Ultimately the distinction between Lean and Agile breaks down in my book.

Case Studies

Good news: There are case studies of teams using Agile outside of software - and if you know of any more please tell me! Add them in the comments on this blog post.

Bad news: There are not that many case studies. Unless you are a software team you probably can’t find one.

For the Agile on the Beach conference I have deliberately sought out Agile outside of software development in the last few years. This has resulted in two good examples.

Two years ago Kate Sullivan described how the Lonely Planet legal department adopted Agile working. In fact Kate said all of Lonely Planet adopted Agile.

Last year Martin Rowe talked about how he used Scrum to manage the Foundation Computer Science course at Plymouth University.

Elsewhere, six years ago the MIT Sloan Management Review carried a piece by Keith R. McFarland entitled “Should you build strategy like you build software?” in which he described how Shamrock Foods of Arizona used Agile to plan and execute their business strategy.

Myself, I have seen the marketing team at Sullivan Cuff Software Ltd use an Agile like approach.

And last year I helped the GSMA (the people responsible for SIM cards) use Agile on a project writing a document for cellphone manufacturers, mobile network operators and umpteen suppliers and partners to allow mobile phones to be used for loyalty coupons.

So, back to the original question: “Is Agile only for Software Development?”

Answer: No

Question: Will Agile work outside software development?

Answer: Yes

But, the detail may vary.

Finally, and please excuse the pull. As a result of this discussion my company has adapted its successful Foundations of Agile Software Development 2-day course for companies outside software. Please take a look at Agile Kick-Off (for non-software teams) and let me know what you think.

Wednesday, August 27, 2014

Book: Scaling up Excellence

In the early days of this blog I used to regular blog book reviews. As I found ideas of my own to blog about - and found fewer books I wanted to read - so book reviews ceased. But right now I want to blog about a book because I want to recommend this book.

The book is: Scaling Up Excellence by Robert Sutton and Huggy Rao.

I’ve been a fan of Sutton’s work for a while now - specifically The Knowing Doing Gap. In this book he continues some of that theme (“Why don’t we do what we know is better?”) but he looks specifically at scaling.

Now scaling is a hot topic in software development (I wrote a little about this myself, Scaling Agile Heuristics - SAFe or not!) so its a book which should find a ready audience in the software community. Although I sometimes feel this is a book about change and on the whole I’m no longer a fan of books about change (there lies a long story for another blog). As a book about change what makes this book worth reading is that it is particularly focused on scaling up changes.

I hope this book becomes more widely known in the software development community, and particularly those concerned with “Agile” and “Scaling Agile.” For now here are some of the key points I want to remember from the book and I hope will wet your appetite:

  • Sutton and Roa suggest “the problem of scaling” can also be defined as “the problem of more”. For example: how do we get more teams working in this excellent fashion? Or, how do we get this excellent team to be even more excellent?
  • “In order to scale excellence you need some excellence to scale”: as I said in my post last year: If you can’t do it in the small then you can’t do it in the large.
  • They introduce the idea of Buddhist and Catholic change models: in the Buddhist model the aim is to help every one/team come to their own understanding of improvement while in the Catholic model the aim is to help every one/team replicate an existing example of excellent. They don’t suggest either one is inherently better but they do suggest that sometimes one model if the context better.
  • Continuing on the Catholic theme, they also spend a lot of time discussing standardisation. This is something the has troubled me in the past - I don’t like standardisation, I naturally lean towards the Buddhist model. But I also feel I need to think more about this topic, this book has given me more to think about, watch out for a future blog.
  • There is good discussion of the role of hierarchies
  • Scaling is a marathon, not a spring

They are just a few bullets from the first chapter or two but I could go on through the whole book. My (e)book copy is covered in highlights and comments.

Let me add a story of my own.

Early on in the book they give three reasons why scaling initiates often fail. I think these three are worth considering in the Agile domain:

  • Illusion: leaders believe scaling will happen more easily than the facts suggest
  • Impatience: lenders scale too soon
  • Incompetence: leaders start scaling without really understanding the thing themselves

Arguably these three things are intertwined and overlap. The third one reminds me of some bank executives I heard speaking a few months ago. The 4 or 5 senior bankers were talking about why they loved Agile and why they wanted more people in the bank to adopt Agile. They were good. They came across as honest. Then they took questions.

The first question was: “Agile says collocated teams work best, how do we reconcile this with a bank policy of remote working and offshore development?”

Rather than say: “I understand your concern, this is something we are working on and we need your help, we might need to change policy or find new ways or working” the executive replied: “With modern tools this isn’t such a big problem any more…” Immediately it seemed that not only did the banker not understand Agile and why Agile said this but he set out to show that as a banker he understood more about modern technology than the technologist asking the question (who was wrong.)

Shortly afterwards someone said: “How do we reconcile regulation with Agile?” and a senior managers then started to wrap themselves in knots about allowing teams to choose Waterfall or Agile during which time one of them said: “Look, as long as your documentation is in order you can do what you like.” Again they demonstrated a lack of understanding.

With those two answers the managers not only shot themselves in both feet but destroyed all the credibility they had spent 30 minutes gaining.

Rather than continue, let me just say, if scaling (anything) interests you then read it - Scaling Up Excellence.

Monday, August 04, 2014

Bug Strategies & Xanpan volume 2

The summer lull has finally allowed me to get a lot done. In particular I’m very pleased to have finished a piece of writing I began some months ago: Bugs - Management Strategies.

This is an important piece for two reasons. Firstly I’ve been wanting to write this essay for a few years but never found the time. It has taken about four months in total and it runs to about 30 pages, now I know why it took so long.

Secondly, this is one of the corner stones for Xanpan volume 2. Volume 2 was going to be subtitled “Management Heuristics” but I’m now thinking it will deal more with organising so the sub-title might become “Management Heuristics and Organisation” or “Heuristics for organising software development” or some combination.

When I have a couple more chapters of volume 2 in place I’ll make it available on LeanPub. Until then you can register your interest in volume 2 right there.

In the meantime please read “Bugs - Management Strategies” and let me have your feedback. At this point I’m really posting it to get some feedback.

And if you haven’t already bought and read Xanpan volume 1: Team Centric Agile Software Development please do today!

(And if you prefer the a hard copy then get Xanpan at Lulu rather than LeanPub.)

Sunday, August 03, 2014

Introducing the Agile Basics video series

In the last year I’ve had a lot of people ask whether I do online training, and I’ve had several of the partner organizations I work with suggest I should do more video training courses. I’ve even heard stories that some people can make good money doing this.

My immediate reaction is doubt. Doubts because so much of what I do is interactive, exercises, following questions and I don’t know how to translate that into pre-recorded videos or other online material. If my courses were just me talking to the audience then maybe, but thats not what I do in my Agile training courses.

But really: I just don’t know. I don’t know what works and what doesn’t online. I don’t know how to approach videos, how much work is required? How much editing? Should I get a professional involved?

So I decided the best thing to do was to experiment. To find out for myself. O yes I could read a lot about what works and what doesn’t online but until I’ve actually tried its all a bit abstract.

Back in April I posted a “Xanpan Board Tour” video.

And in May ran a webinar with DevelopMentor which was recorded: Agile Basics - 40 minutes plus 20 minutes Q&A.

I learned from both of those, I got more confident. So I can now announce the results of my summer project: The Agile Basics video series.

I took the webinar I did in May, broke it into separate pieces and added some more material. The result is five episodes (quality, iterations, visualise, work in the small and teams) each of which has short video, 10 minutes approximately, plus an introduction and conclusion video - about 4 minutes each.

I hope people will find these useful, its just possible that some people having seen my recordings will decide to hire my services. More likely I imagine people who have been on my courses can use these to revisit some of the topics. After all, YouTube is full of similar “Agile Basics” videos.

But the person who has got most out of this is: Me.

I’ve learned a lot more.

I’ve learned that videos require work. Just like working in another medium - specifically writing - they require preparation, they require time to do the work and they require time to edit and change the work. If I am going to continue working in video then I need to practice these skills and learn more. And just perhaps I need to start working with more experiences, even professional, people.

Anyway, if anyone is interested the videos are available to watch for free either from the Software Strategy website or directly on YouTube.

And if you have a view on whether I should work more in video, or whether these videos have value, or suggestions for how to work better then please, as always, let me know. Getting feedback is hard!