Saturday, July 02, 2011

Building trust and unlocking the IT/ Business relationship - Show me the Working Software!

Hoping to keep this one short. I've been reading a lot of Gerald Weinberg recently, and I must say that he as an exceptional way of cutting to the core. Computer programming as always been opaque. The people who pay for it, must trust to luck and throw their money into what must seem like a deep dark pit and hope that eventually they may get something back in return.

Invariably they get back very little. If it wasn't for the fact that this very little can go a long way, especially when it allows you to lay people off, business people would have given up on IT long ago. In a way, the wise ones already have. Astute business people don't rely on grandiose IT plans. They've become wise to the promises and have learn't to save their money by keeping IT simple.

Agile was meant to offer a new type of deal between developers and business folk. Give me a bit of money and I'll show you what I can do with it. And by "show", I don't mean a power point presentation, a lengthy requirement spec, pretty UML diagrams, or a fancy customer value model. No, what I'll show you is real working software. Something that you could potentially start using today.

Now this was a seismic shift in the tectonic plates. From a business perspective, software development in progress was no longer opaque. Well at least that was the promise. You can see what you are getting for your money whilst it is still being worked on. If you don't like what you see, you can choose to stop spending. If you do like, then you can choose to spend some more. You no longer have to sign blank cheques and hope!

Gerry Weinberg cottoned on to this psychological hurdle a while back (as early as the 1970's). Business people hate software developers. If they could, they would get rid of the whole lot of us (replacing us with cheap labour from India). And can you blame them? How many other industries do you get to sell faulty products late, and charge your customer for "upgrades" that merely fix faults you introduced in the first place? Not many. Making money out of our own faults, no wonder they hate us.

The IT industry have even managed to use this hatred to their own advantage. IT companies like IBM have learn't that you can sell business people the dream of getting rid or at least marginalising those pesky developers. Every IT silver bullet under the sun has been sold, and none of them have worked, yet they are still selling like hot cakes, SOA being the latest. A real example of the triumph of hope over adversity :) IT creates a problem and then sells phantom remedies. Now that's a real clever way to make friends and influence people!

Back to Agile. Wasn't the new deal meant to bring an end to all of this? Yes, but guess what? IT reneged on their side of the deal. It turns out that producing working software one incremental step at a time is really hard to do. Harder in fact then trying to deliver it all in one big lump, and IT weren't ever any good at doing that either. Now it's alright for the likes of Kent Beck and Ward Cunningham, to cut a new deal with business, because they have the wherewith-all to actually deliver, but what about the rest of us?

Chastened with accusations of Flaccid Scrum (run and hide in shame, being accused of being flaccid in any department is not a good thing :)), what have the mainstream gone and done? Well they haven't chosen to try and put some lead in their pencil. Oh no, instead they have offered every project management rouge they can think of (Scrumban, Kanban, Lean, ToC, ...) to try and mask the fact that they can't get it up (whoops, taking the analogy too far, I mean masking the fact that they can't deliver, but I guess for the ladies the two mean the same thing :)).

Now this is bad enough, but what is even worst is when these passing fads actually require the business to invest even more. This is what got me blogging. The idea that business people should spend hours of their precious time working with IT, analysing business value and prioritising work, when they haven't seen any frigging software worth it's salt in months. WTF?

Not content with mugging me, you now want to monopolise my time too, just to mask the fact that you haven't actually produced anything useful? Now that is really going to make me stop hating you - Not!

When are we going to wake up to the idea, that a deal is a deal, and actually start delivering on our side of the bargain?

Kent and Ward are right. Business people aren't so bad once you give them a reason to trust you. They will actually get off your back and stop micromanaging. They will freely engage and be generous with their time. They will pay for those memory upgrades you asked for 5 years ago. They will even think long and hard about the best ways to realise business value, but this is only after you've proven that you can reliably deliver working software. SHOW ME THE FRIGGING SOFTWARE!

Software people need to get over themselves and accept that they haven't got a good track record. The "new deal" presented yet another opportunity for us to get our house in order. To fix-up. This of course means acknowledging that we are in a mess in the first place, and I see far too few software people who have the humility to admit that!