Monday, August 21, 2006

Why programmers need grown-ups to run things for them

The rather inflammatory title of this post is in response to a question I have been asked many times over the years and, indeed, I have asked it myself on many occasions. Why is it so often the case that companies that are either all about IT or heavily dependent on IT are not run by IT people? Folk in the IT trenches see IT decisions being made or directed by suits who clearly have a limited understanding of IT issues. By many, many measures the suits are less intelligent that the IT workers. In many cases the suits have less industry experience than the IT workers. So what logical reason could there be for the business not being run by IT?

First, it's worthwhile to note that not all IT workers have the same view of this question. There are some who do in fact want to run the company. I think the sensible majority have no significant interest in management roles. They didn't start working in IT to become managers, they'd much prefer to stay in the area of work that interests them. But even this group tends to ask the question, "Why don't I get to make all the decisions about my work?" Why do all these damn business analysts, designers, project managers and goddam USERS get in the way?

Let's get one unpleasant fact out of the way: most IT people simply aren't suited to make strategic decisions about the development of IT projects or applications. Good IT people are very good at executing IT applications or developing innovative and useful programs but these are very different skills to the strategic aspects of making a business work as a profitable venture. The fact that many IT people can't see this is the central problem. How do you solve a problem if you can't clearly see or articulate what the problem is?

I have lost count of the times that a programmer has coded something that executed perfectly but did not come close to serving the needs of the business. The programmer can't see the problem because the application "works" and the business has yet another (unfair and inaccurate) story to tell about how useless the IT department is. A couple of anecdotes from my past to illustrate this concept:

One day, someone decided to organise an office pool for a high-value Lotto draw. A conversation developed around whether it was better value to get a lot of standard tickets or one expensive "systems" ticket. I analysed the problem with a typical business analyst approach: what is the problem and how do we measure success? It proved fairly easy to do a cost/benefit analysis - work out the relative probability of winning with each ticket type and compare that to the relative costs.

To win this particular Lotto variant you had to pick all 6 numbers that would be drawn out of 40 numbers in total. A standard ticket let you pick 6 numbers so you had to get all 6 right. The probability of this is 6/40 x 5/39 x 4/38 x 3/37 x 2/36 x 1/35 (if you're not a maths nerd, this translates as close enough to no fucking chance at all.) The Systems 9 ticket lets you pick 9 numbers which gives a winning probability of 9/40 x 8/39 x 7/38 x 6/37 x 5/36 x 4/35. This is a much higher probability than a standard ticket but it still aint gonna happen. But on strict cost/benefit analysis the System 9 gave you more chances for your money.

This should have ended the discussions but one of the programmers who was a hardcore maths nerd and not very good with people skills got involved. He went into some really complex mathematics that was meant to prove I don't know what. It was something along the lines of calculating the number of variations in numbers possible. His conclusion was that the standard tickets were better because you could select a wider variation of numbers. The thing is, I'm pretty certain his equation was absolutely right - it simply wasn't answering the question being asked. And he really didn't cope well with having this pointed out.

Me: That isn't relevant to what we are talking about Kim.

Kim: But I just proved... (long technical explanation I didn't understand at the time and don't remember now.)

Me: That may well be true but it wasn't what we were asking.

Kim: But I just proved... (same theorem but stated in a louder voice.)

Me: Kim, saying the exact same thing in a louder voice doesn't make it suddenly right.

To which Kim responded by repeating the same points over again except this time (you guessed it) louder still. Kim had maths skills at the post-graduate level and interpersonal skills at the kindergarten level.

Another, shorter anecdote: On my first day in a new role I was sitting down with a project manager to discuss the project I would be working on. This was a pure IT company, it even had bona fide Internet millionaires (a rarity in Australia). This particular PM was a programmer in the early days of the company and a friend of the founder. He had been promoted to management because he had been there longer than most, not because he had any management skills. His first line to me was:

"No offence, but I've never seen the point of Business Analysts."

Why is it that when someone starts a sentence with "no offence, but..." the sentence is always going to end with something really offensive? You may not be surprised to learn that this company burned through many millions of dollars over the next year before being acquired by a service company that replaced the entire management team. For my part, I worked with the development team over a period of 3 months to take an eCommerce application that had been lingering in limbo for 2 years to a working beta release including all system and user documentation. That, my friend, is the point of Business Analysts.

So at the end of the day, companies are rarely run by IT people because very few IT people are suited to the job. Most simply don't want to do it and most of those who want to aren't very good at it. Fortunately, there are signs this is getting better. The trend towards keeping IT companies small (known as Micro Independent Software Vendors - Micros ISVs) is keeping the development of both the company and the products in the hands of people with a real passion to get quality results. This would be my ultimate advice to IT people who think they are the grown-ups and are the best ones to run the company. Don't waste your time trying to climb to the top of Megacorp. Get out there and do it yourself - start your own company.

Prove the bastards wrong.

No comments: