Friday, May 20, 2005

Information overload



Bill Gates yesterday:

"It's overwhelming," Gates said Thursday at the software company's ninth annual CEO Summit. "Nobody's paid to do search or just find information. At the end of the day you're paid for designing a new product, having a satisfied customer and doing that with the minimum amount of time, the minimum amount of people."

He said Microsoft's Office division is already developing products designed to make it easier for people to stay on task, collaborate on projects and quantify whether they're hitting their targets.
Gates is significantly contributing to the problem, and I suspect he knows it.

In my view, there are two types of work that are done. There's non-creative assembly line type work, and there is creative work where you make new things or offer services, or process business information.

In the early days, Microsoft really did release products that helped improve the efficiency of getting the job done. Now, all Microsoft does is make things overly complex. Lets face it, they can't just keep selling the same old word processor indefinitely. They have to have something new. But, does business need it?

Microsoft contributes greatly to what I call executive bloat. Managers and executives are notorious for being in a constant state of what we call "scope creep" in the software industry. Scope creep is what happens when you decide how something should work, and a programmer goes off to make it happen, but then you keep changing your mind, or adding features, removing features, all while the programmer is trying to get it done. It almost always turns into a huge disaster.

Management types can never leave well enough alone, because they feel this desperate need to validate their existence by changing things. They think they are improving working conditions, but they've long since passed into diminishing returns. Microsoft does exactly the same thing.

Since I do software, let me relate how the industry has changed over the last 10 years. It seems to me that it's probably the same in any other field.

It used to be that when somebody wanted a change, they'd talk to a programmer, and explain what they want. The programmer would write up a small document describing the scope of the change, plus some technical type info on how it would be done. The originator would agree with the scope, the programmer would code it, SQA would test it, and it would be released.

Because there was little managerial involvement in that paradigm, the managers felt left out. Consequently many tools were introduced to control all of those phases of development. Those tools require user input and control. Now, the programmer has to spend time managing the tools external to actually writing code. People have to be hired to manage those tools, and the amount of communication that flies around with supposedly "interested" parties amplifies like crazy. Heck, there are even people who's job it is to talk to the project requester, and pass along the information to the programmer.

It's just like in the movie Office Space. It's not a joke. In the movie, the "two Bob's" ask a guy what he does. He says he takes a request from the customer and gives it to the engineers. I swear - that's the net result of what a job classification in the software industry does. The two Bob's ask him if the customer couldn't just talk to the Engineer directly, and the employee says "but I've got people skills!"

The theory behind that sort of job is that the go-between speaks the same language as the customer and the engineer. They translate things from the messy "I want" of the customer, into the "do this" for the engineer. The thing is, engineers are really super-smart people, and most actually do know how to talk to requestors. In fact, when an engineer is listening to someone request something, they formulate a solution on the fly, anticipate complications, and communicate "what if's" right then and there, instead of it having to go back and forth with the go-between.

In many ways, the true needs of productivity were met maybe 5 or 10 years ago. We have really fast desktop computers. We have a word processor, and a spread sheet, and so on. How much faster do you need to run your word processor? What else do you need it to do that it doesn't do now?

The process of doing work has become so complex that managers actually do have something to do now. Their job has become the crises managers of the complexity they created.

It used to take 3 people to make a nice software product. There is a need requester, a programmer, and a QA person that checks to make sure it works right. Now, you wouldn't believe the amount of overhead that goes into making something. I get emails from people who I really don't have any idea what they do. For instance, I get an email from a "configuration manager". I look at many paragraphs of words and ask myself; does this have anything to do with the scope of the project? Nope. Does it have anything to do with writing the code to make it work? Nope. Does it have anything to do with any bugs in the code, or overall quality of the code? Nope.

Then I mash the delete key.

I'm sure when that configuration manager gets home from work, he tells his wife how hellishly busy his day was. But if you ask him if he actually "made" anything, the answer would have to be no. He just exists in that gray area of the business world that worker bees like me (that actually make things) just don't understand or have much use for.

So - the moral of the story is, when Bill Gates and Microsoft tell you that they will be introducing "new products" that will increase productivity, and other buzz words like that, what they are actually saying is this;

We really don't have any ideas for anything innovative, such as the original concept of a "database", or an electronic word processor instead of a typewriter. What we are selling are complications to existing paradigms. We do this because we need you to continue to buy our products, and one way of doing that is to make things so complex that you really don't understand what you're doing anymore. You'll just know you need the latest version. You'll create infrastructure around the complications that will rival, or even exceed, the infrastructure you have in place that actually does "work".
To be fair, lets look at what Gates actually says:

He said the programs will help businesses be more competitive in what he called the "new world of work," where it will be easier to set priorities, understand important data and spend less time organizing information.
Now Microsoft is introducing new tools to make it easier to manage complications that they created in the first place. How nice. All of that extraneous to getting the work done. It is more layers of complication, and more information that managers can look at to help them feel important.

This mind set of business is devastating, and I suspect it impacts larger organizations a lot more than smaller. I think that's why you see the large automakers have a hard time now. What they do is make cars. They've gone waaaay outside of that simple concept.

Not that's it's going to happen, but if anybody ever hired me to run an organization, here's what I'd do.

I'd get a list of all the job titles in the company. If the job title did not involve actually making something, I'd lay them off. All managerial reporting would be drastically cut down to very simple terms. How many people - how many widgets - what is the time delay between start to finish.

The emphasis in the modern business world is technology and tools, and that's the completely wrong place to look for business success. The way it works is by the people that do the job. I'd have an honest and fair evaluation for all the employees, and increase pay for top performers and fire the low performers. I'd emphasize hiring only new employees that are very talented and all around good people.

I can't tell you how many times throughout my career that I've seen programmers who couldn't code their way out of a wet paper bag. The problem is, their manager is too incompetent to know it. The only way to become a manager in a company I run is to be a top performer in the department that will be run.

And once things are humming along, the managers can take nice long breaks, because in this company - you leave well enough alone.

So, I wrote a whole bunch of words on a boring topic of how modern business is killing itself with it's fascination with technology and attempts to do more with less. My argument is that the overhead that creates actually causes the opposite effect. They end up doing less with more.

It's rather fascinating for me to watch the evolution of these processes. In my lifetime, I've seen Microsoft go from being two guys in a garage, to virtual world domination. Now we see Microsoft trying to be relevant in a business world that really doesn't need them to be the empire they are. I would tell Gates that he should slim down and focus on their core. Make that work. Eliminate the bugs.

Then - go work on something revolutionary and not evolutionary. I'd like personal teleporters please.

No comments: