Monday, May 19, 2008

IT Management

What is it that IT managers do? Do they manage any Information Technology? Well, no. What they manage is the people who actually work with Information Technology. Most IT managers do no technical work themselves. Most IT managers have never performed any technical work. For the most part, they are ignorant of the issues, except where they intersect with the management of people.

What if there is a problem, and the optimal solution depends on the details of the technology involved? This happens all the time. What happens? Well, that depends on a number of things. First, it depends on what, exactly, is meant by "optimal solution". The manager might want to optimize cost. It might be short term cost, or long term maintenance cost. It might even be long term maintenance responsiveness.

There are two approaches of interest. First, they might look to see what other people have done in similar situations, and do that. This has the advantage that if some upper management asks them, they can point to some precedent. However, the IT industry has been changing at a breakneck speed, and many of the experiments of others have not had the benefit of enough time to be completed. That means that no one knows if it was a good idea or not.

Another thing that the manager can do is ask their senior development staff. This is, unfortunately, quite rare. So, despite having the experts at their finger tips, IT managers rarely make use of it. Why don't they ask? Well, for one, it seems that managers think that developers are interested in optimizing for something that is different than what managers are interested in optimizing. Perhaps managers think that developers are lazy. They'd expect that developers would be looking for the easiest solution. However, the easiest solution is the one that takes the least time. That means it's also the cheapest. After all, didn't Einstein prove that time equals money? This idea that management and developers have the same goals seems lost.

An unfortunate side effect of this state of affairs is that developers often end up implementing the mistakes of the managers. Repeatedly. This aggravates the developers, who are master craftspersons. It is really annoying when you are implementing the same mistakes again and again. Alienating your staff is never a good thing. More on that in another post.

If management of Information Technology is not what an IT manager does, then what does is an IT Manager good at doing? They keep track of things. They measure things. They document processes. Mind that they have no idea what math is about, much less IT. So, it's a good bet that they'll measure the wrong things, and do it inefficiently. IT managers are also good at telling other people what to do. It's their job. So, naturally, they'll tell their developers to do the measurements. It might be to track when they got to work, when they went home, how much time was spent on each task (for billing purposes, or if there's only one client, there's some fallback explanation). And the developers must write up the reports too. A line like this may be used in explanation. Remember, if you don't measure your performance, you can't tell if you're improving. It's sounds good, even if it's not true. But more on that in another post.

My point here is that the management overhead is often placed on the developer, which can only slow her down. Management is overhead. More overhead is not a good thing. When all you have is a hammer, everything starts to look like a nail.

What about process documentation? Managers do this also. If you'd written a perfect process, you'd never change it, right? But managers still have this skill, and will, from time to time, tinker with the processes. As time goes on these processes have a tendency to become more complicated. They have to be able to handle more of the day to day issues that come up. And, there's the inevitable bandwagon to jump on every so often. Does the senior staff get involved in these changes? No so much. But the thing that really gauls developers is that despite all the hours tracked, when some process is clearly changed for the worse, IT managers will breathlessly claim that the new process is oh so much more efficient. This is part of what makes developers think that IT managers don't actually understand arithmetic. Are you an IT manager? You should be able to do this in your head. What's three quarters of two thirds?

OK, that was a cheap shot, as most people don't get it right. That doesn't mean they shouldn't. The correct answer is one half. In word problems, "of" means multiply. One half of a dozen eggs is six. So three times two is divided by four times three. That's six divided by twelve, which reduces. For the record, this is taught in 5th grade, when you're about ten or eleven.

No comments: