The Spec
The Language
The Practice
The Books

Two Ways to Fail, One Way to Succeed

I know of two sure ways to waste money developing software. Perhaps you have tried them before:

  1. Try to solve a complicated business process by making new software for it, or
  2. Computerize a process that you only need to do once.

These errors come from incorrect thinking about what computers do for people. Computers don’t solve problems for you. They only solve problems that you or someone else has already solved before and cared enough to enlighten the computer for the sake of others.

If you only need to do a process once, then you should do it without a computer. The computer will only work right after it has been told how to do it. If you have to tell it what to do, you will have to know how to do it yourself first anyway. If it only has to be done once, then you are wasting your effort telling the computer because the job will already be done after you figure out what to say. When the computer finally knows, the need is gone.

One likely way to make money by making software:

  1. Take your job and see if you can get the computer to do it for you.

Computers simply cannot solve obscure problems for you. They can only do what they are told and when they are told, they will do it exactly as they were told over and over again.

Valuable work is usually valuable enough to be done without a computer. If it is not valuable enough to be done without a computer then there is a good change that it is not valuable enough to computerize.

Troy Taft is the Principal Consultant and founder of Troy Taft Consulting, a firm specializing in high value software development. He also authors a free monthly newsletter called Software Matters.

Copyright 2007 Troy Taft All rights reserved, you may print this article for your personal use.