We build our computers the way we build our cities...over time, without a plan, on top of ruins.

- Ellen Ullman

If you are having trouble reaching this week's goals, is it because you're still putting out last week's fires? Are you tired of fighting fires instead of getting your work done? Are you having too many weeks like this? Is all this making you crazy?

Life could be saner.

That's where we come in.

A key point of strategic thinking is not allowing the urgent to be confused with the important. Unfortunately, it is human nature to deal with the urgent even when it may not really be all that important.

Which, of the following, makes more sense to you?

  1. Manage forests as valuable resources: prevent forest fires by cleaning out dead brush on a regular basis and maintaining fire roads.
  2. Do nothing until there is a fire, then send in as many fire departments as necessary, and call in the National Guard if you have to.

Nearly everyone knows the correct answer is #1. Nearly everyone also knows that what we are likely to do is #2. So if we know that, just as most forest fires are the result of human actions and can therefore be prevented, (and most software development crises can likewise be avoided), why are we spending so much of our time money and talent putting out all those fires?

It's been said that one definition of insanity is: repeatedly applying the same methods while expecting a different result.

At DCI, our mission is to make the world a safer and saner place.

Part of performing that mission is finding and removing elements that may be preventing clarity of collective thinking. Removal of these elements is critical to having high quality internal intelligence -- the dataset that makes up the building blocks of your conclusions and decisions.

One of our systems for doing this is Hazard Analysis At Critical Control Points. It is a straightforward method that will help you get the answers you like when asked these seven questions:

  1. Where is your software development money going?
  2. Where is all the software development work going?
  3. Where is the software development teams' time going?
  4. How safe from mischief is your code?
  5. The main reason your builds fail is...?
  6. What will your next software development crisis be?
  7. Why will it happen -- what part of the development process will break next?

The causes of problems in software development organizations are often invisible, even when the problems are significant. As a result, managers can be unaware of the real costs associated with these problems. DCI's Hazard Analysis brings those problems to light and helps solve them.

The result is a safer and saner development environment, as well as improved productivity, an improved bottom line, higher team satisfaction, and higher customer satisfaction. And those are certainly not crazy ideas.