April 29, 2011

...Learn TDD with Codemanship

Agile In The Public Sector

A recent guest blog on the Computer Weekly site, penned by an IT lawyer, has attracted considerable criticism from many well-known software developers here in the UK.

I'll try and boil it down for you; basically, Agile is bad, fixed-price/schedule/scope Waterfall is good.

The author's argument is built on the same house of cards that all proponents of Let's Get It Right First Time tend to build on - namely that we can guarantee outcomes if we just get the paperwork right.

I don't even need to call bullshit on that premise. You already know it is. The whole reason we iterate is because we can't guarantee we'll get it right first time. Never could. Not even when software was small and IT was relatively simple.

The myth persists that Waterfall is a real method for developing software. It's not. It never was. When Winston Royce wrote about the waterfall model back in 1970, it was as a cautionary tale of how not to do it. Methodologists worth their salt have advocated iterative approaches fror as long as we've had anybody advocating any approaches to creating software.

Here's what I think.

if you ask for advice on how to have a happy and successful marriage, who do you ask? A marriage counsellor, or a divorce lawyer? Or maybe you ask a bunch of couples who have demonstrably had a long, happy and successful marriage?

A divorce lawyer sees things from the perspective of failure and loss. I suspect many IT lawyers are coming from a similar perspective - given that this project is probably going to fail, how do we make sure blame and costs are apportioned in the right place? They may not be able to help you actually prevent your marriage from failing, because their expertise is all about what happens after it does. I'm not aware of any evidence that a watertight prenuptial agreement has any effect on the chances of your marriage going the distance. And it's entirely possible that going in to a marriage with the attitude that - given that this could well go sour - one should protect oneself from the consequences may even have a detrimental effect. A marriage is a partnership, and I suspect the ones that work are the ones where both partners approach it with a sense of trust, openness, honesty and a willingness to share not just the rewards but the risks that life together holds.

Of course, I'm not married, so I guess that makes me the counsellor.

And, of course, in software we have our own marriage counsellors. And they, too, are often not speaking from first-hand experience of what it's actually like to actually have a successful marriage. In software, thankfully, I'm not one of those.

The names I saw on the comments after this blog post included many who have had much first-hand experience of successful marriages between businesses and software developers. I hope - probably in vain - that the guest author has been suitably educated by these voices of experience.

Well, we can but hope...

Posted 9 years, 10 months ago on April 29, 2011