My One Thing at a Time Theory

Often when I’m working on a project, a proposal will be made to make multiple improvements at the same time. We can upgrade to a different technology so that we can use that technology’s exclusive features. So why not do both at once? The short answer is usually: because it multiplies the risk of encountering problems. I find that this is a principle which applies not just to a software project, but to life in general.

When I’m reading about other people hiking or doing some kind of adventure, there are often comments made about financial issues. Someone wants to go on an adventure, but they haven’t got the funds to do so. Instead of carefully saving up the funds, making a financial plan for managing the money during the adventure and how much will be left afterwards, the person may choose to just go out there, and hope that the trip will turn out to be cheaper than originally thought, or that a little money can be raised through donations, or by putting out content for people to see. To me, this is the same category of problem as the software issue. We want a new feature or a new adventure, and instead of being sure that we have fulfilled the prerequisites first, we try to combine the two. By mixing up multiple things, we risk nothing going well.

On a software project, the risk that we take when combining things is that when a problem such as a bug arises, we have to be able to isolate and correct the bug. When the bug is linked to a development which introduces multiple changes, this may mean rolling back all of that stuff while the bug gets fixed. Even if we are doing some preliminary steps only in order to build on those steps later, it is best to isolate that work and deliver it by itself. If we can confirm that the first steps have been performed correctly, then we can proceed. Otherwise, when we deliver everything at once and there is a bug, we have multiple variables which could be causing the bug.

On an adventure, obviously we need funds to buy equipment, transportation, food and often, lodging. Not having enough money is stressful. It makes an otherwise enjoyable and exciting adventure seem like work. We may have to beg for free gear, or ask for donations online. For me, part of the problem with that is that it no longer becomes our adventure. Personally, I don’t really want to thank a list of sponsors as the end of an adventure, and be forced to say that none of it would have been possible without them. I want to accomplish something without depending on the charity of others. I want it to be my adventure, not a corporation’s adventure in which I am featured. First I will be sure to have everything I need, then I will really enjoy myself, during and after the trip.

The advantage of my theory is that often, the prerequisites to the things we want are good things in and of themselves. It would be good to save up some money, even if we aren’t going on an adventure. It would be good to switch to a newer technology, even if we don’t take full advantage of all of its features. The consequence is that if we don’t satisfy the prerequisites, we don’t attempt to do what we really want to do. I would actually argue that is is a good thing.

Many times, I have seen someone get turned off by a bad experience that could have been avoided through good planning. A hiking trip can be a lot of fun, but if we are stressed out about money during the trip, we might get the false impression that this is a problem common to trips of this nature, and not make second attempt after proper planning. The same type of problem can occur on a project of any kind. However, I’ve rarely seen someone regret slowly and steadily making progress towards their goal, one step at a time.

Updated: