Be Careful What You Wish For

Imagine a project running smoothly. No nasty surprises. No impossible schedules. Everything developed on time and to budget with no need for working long hard days or coming in to the office at the weekend. Imagine delivering to the customer exactly what they asked for at exactly the time you said you would. It sounds ideal doesn’t it? But is this ideal project possible in real life or is it the kind of experience we will only ever be able to dream of?

Process frameworks; methodologies; maturity models. There are plenty of approaches around which promise to give you repeatability. The idea is fairly simple and has been around since your Dad was walking through Hyde Park in sandals listening to Pink Floyd. The theory is that if you do something the same way every time it should become predictable. If you drive to work the same way every day then it isn’t too hard to predict how long it will take and where you will end up. Certainly it is more predictable that way than if you choose a random route each morning. But how do you know that you are taking the best route? The truth is you don’t. Taking the same route everyday might be predictable but it might also be wrong.

Enter the world of process improvement. Every time you (or anyone else you work with) do anything you have a meeting about it afterwards to discuss what could have been better. You document your conclusions and then you let everyone else know about them so that they too can benefit from your experience. Now your process is getting better all the time. It’s not just repeatable but actually improving.

So do repeatability and process improvement really work? Can the application of these two concepts bring us into project utopia?

Who cares.

In the fairytale ‘The Monkey’s Paw’ a mother and father wish for more money because they are poor. Their wish is granted but, as a consequence of receiving the money, their son dies. The moral is to be careful what you wish for. Many people really believe that the kind of project described earlier would be ideal. And sure enough there is plenty of evidence that if you commit to repeatability and process improvement you can achieve that ideal. The question is should we be wishing for it at all?

When was the last time a customer got excited about predictability?

When did you read the headline “Company stock soars due to repeatable processes”?

When did minor process optimisation lead to a major product breakthrough?

To focus on predictability and process improvement is to create a software production line. Feed in the raw material of requirements at one end and output software that meets them at the other. Developers, project managers, analysts, technical architects and everyone else become factory workers, paid to repetitively do what they’ve done a million times before. Does this model produce great software? No. Does it create new markets? No. Does it challenge people to excel? No. Does it increase your competitiveness? No. It creates software that meets requirements. Do you really think that is enough?


1 comment so far

  1. daviddaly on

    In an interview with Katsuaki Watanabe (president of Toyota) in the July/August issue of the Harvard Business review I was interested to read his thoughts on continuous improvement (kaizen). Whilst he clearly believes that it produces benefits he goes on to talk about kakushin (revolutionary change). He says: “In today’s world change can be produced by kaizen but it may also need to be brought about by kakushin. When the rate of change [from continuous process improvement] is too slow, we have no choice but to resort to drastic change or reform.” Perhaps the same principle applies to software development. If you are developing simple applications in an area that is well understood using experienced staff then perhaps standardised processes and slow cycles of process improvement can work. I would suggest that most software projects do not fall into this category and therefore some revolutionary kakushin spirit is required!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: