Monday, 14 July 2008

Trust the experts

Our home in Betty's BayWhat better way to while away a 12-hour day-flight than to add a blog entry.  I’m off to Cape Town (actually Betty’s Bay where we have a small holiday home) for a week as I’m in-between jobs.  I just spent 4 years at London Underground (not a terrorist movement as US Immigration once thought I belonged to!).  It was by far the most challenging and rewarding role in my career.  It was there that I learned the most about writing great software.

I discovered what’s important.  I’ve always paid attention to detail and that’s important.  I’ve always made sure that I know my languages and tools inside-out and that’s important.  Communication with the customer (and the team) has got to be right up there.  The most important thing, though, to help a team write the best software, has got to be trust.  Not just trusting each other in the team – I already understood that.  Not just trusting the customer and having her trust us – also understood.  What I learnt at LU was that our management has to trust us.  Total trust.  Especially when we’re delivering. And delivering quality. Regularly, on time and in budget.  (I promise that this post is not going to turn into a rant because I’m actually grateful that I’ve learned this now, and that I can pursue the rest of my career without ever having to work again in an environment where management don’t trust and respect software development teams.)

It’s incredibly hard for people that don’t get software to get software.  The corollary is also true – it’s incredibly hard to help people that don’t get software to understand what it is all about.  To them it’s just magic.  All they can see (if they’re interested) is what the software does.  Not what it is.  Or what it takes to create it.

We do have an incredibly powerful tool in our arsenal.  Being ¨Agile¨ is the only way I know of breaking down the divide between those that understand and those that don’t.  Although even being agile is not enough if you’re labouring under bad management.

Upward Spiral

The first 3 years at LU were like a dream.  We were getting more and more agile by the day.  Everybody was winning.  The business were getting exactly what they wanted.  When they wanted it.  The team was strong.  And happy.  And very productive.  I’m not saying we were perfect – that doesn’t happen – there’s always further to go than you’ve already come.  But the management were excellent – they believed in us and that was the key.

Downward Spiral

Then, a year ago, new management came in and took over.  By stealth.  Crony appointments for unqualified people who subsequently protect their positions using Mugabe-esque power tactics.  Tarring everyone with the lowest-common-denominator brush.  Simply because they don’t understand software and are scared (actually terrified) that everything will collapse in a heap if they trust anyone.  So don’t trust anyone, don’t let anyone have any responsibility or let them make any decisions.  Even if they’re the only ones qualified to do so.  Bind everyone up with rules, process and bureaucracy.  Watch them with a hawk’s eye.  Control them and they’ll never put a foot wrong.

Wrong, wrong, wrong! Trust them and let them fly.  Trust the experts.  They’ve spent more time and effort learning their trade than the management have theirs.  They know what they’re doing (most of the time!).  Engage with them and let them help you understand software.  Get the best people you can afford.  No, get better people than you can afford.  Let them be agile.  Remove the weight of process. Respect their knowledge and watch the results.  It takes brave management to do that.  But its the only way to get great software and to keep the best developers.

1 comment:

  1. i love posts like this, just like my favourite articles on are always the non-technical ones...

    i worked somewhere just like you described, this was an organisation regarded in the UK as a standard-bearer for progressive thought and enlightened workplace values.