Why Software Really Fails

Wednesday, March 17th, 2010

Software is just another kind of machine, Chuck Connell says, but we don’t engineer software the way we engineer mechanical products, using tried and true materials and methods in well-understood ways. If we managed a mechanical engineering project like a software project, it might look something like this:

The motivation for this project is that cars are a very poor form of transportation for individual people. This has been widely recognized for a long time. We want a smaller, lighter, cleaner, less expensive device for personal, local transportation.

We will call the new invention “Personal Transportation Device 1000″, stating its intended selling price in US Dollars. For individual commuting and errands within 50 miles, we want PTD-1000 to make the current automobile obsolete. We do not want the device to use existing, already congested, roads so PTD-1000 will fly.

Our goals include low fuel cost and no pollution, so the motor will be powered by helium fusion. Fusion is an emerging standard, but we believe that this project will provide synergy to fusion research, both driving the research and serving as a test bed for it.

We want the device to be light, which will contribute to efficiency and allow the single user to pick it up, so we will construct PTD-1000 primarily from Rearden Metal. The design team recognizes that the formulation for this metal is not yet finished, so we will assign our A-team of engineers to finish this work in parallel with the other subsystems.

The final key design criterion is that a person who is physically disabled must be able to enter a building after getting there. So PTD-1000 will convert to a wheelchair for use indoors.

The participants in this project all understand that it is a substantial undertaking, but enthusiasm is high for the benefits that will be realized at its completion. There is buy-in by all stakeholders. The investors and engineers have committed to a budget and a completion date of Q4 2011. Everyone has agreed to forgo their vacations for the next year in order to meet this schedule.

There’s nothing wrong with creating something new and exciting, but we need to be honest with ourselves and admit that we’re doing unpredictable research and development, rather than building something we understand, which we can complete on time and under budget.

Leave a Reply