To Solve a problem, first figure out what problem you’re solving.

If you have a problem that centers around how to get something done fast and efficiently…note that speed is the essence of your problem. Probably, speed trumps correctness, repeatability, and documentation. So…do it fast. The problem you’re solving demands you do it fast.

If you have a problem that centers around solving the same problem repeatedly, then recognize that repetition is the essence of yoru problem. Don’t build a solution designed to be fast. Build a solution where repeatability is the essence.

One of the major problems in modern software process is that no one is willing to admit what the central problem is that their process is designed to solve. Hero is designed to solve small problems. Commander is designed to solve problems of how to coordinate lots of people. Agile is designed to solve problems around change.

What’s your problem? If you can figure that out…you might be able to decide how to solve it.