Friday, May 1, 2009

Why people who run factories shouldn't run software companies

Well, I'm having an interesting debate over on linked in with a guy who has this idea that you can treat software employees as replaceable parts in a production machine.

His logic is that there is always someone else to hire if the employee quits. Many of the greatest minds of the 19thc. would probably agree with his logic.

The problem, ofcourse is that this IS'NT the 19thC. and we arent making Ford automobiles.

His delusion comes from the misunderstanding that he is paying people to spend man-hours producing lines of code. This idea was debunked back in 1975 by the classic book The Mythical Man Month. One of the best known anlogies from that book explains that if one woman can produce one baby in 9 months, it does NOT necessarily follow that 9 women can produce one baby in 1 month.

This is the fallacy of looking at the product of the software process as lines of code. Its not. The product of the software process is problem solving. The code that implements the solution is just the most visible artifact of that process. A far more important part of the process is the thinking that went into the solution. This is what can generate improvements and off-shoots from the original problem and keep you moving forward rather then constantly re-tracing your own steps.

And that lives squarely between the ears of your developer.

The smartest engineering manager I ever knew once said to me, "your most important assets walk out the door every night. You want to make sure they walk back in the next morning."

That means you had better treat them like valued individuals, not cogs in a machine. And if you don't do that, they will find someone else who will.

I did do a bit of research and discovered that my antagonist in this debate runs a two man shop, and thus doesnt actually have any employees. In my mind, thats a good thing for everyone concerned.

No comments: