Programmum non nocere

I am in the middle of a rapid software development project. There is a first demo in a few weeks, and I need to add a lot more capability between now and then.

Every day I add new features, or replace old ones. Which means that every day there are opportunities for massive failure.

I keep backups at each step, so failure is never catastrophic. Still, I don’t really want to lose the bulk of a day’s work by introducing some bug that will force me to go back to a previous version.

So I’m adopting a kind of variation of the physician’s motto “First do no harm.” Whenever I add a new feature that will replace an older one, I keep the older feature in for a while.

The idea is that everything should continue to operate exactly the way it did before I added the new code. Except now there are new things you can also do if you know how.

I keep it that way until I am confident that I haven’t broken anything. Only then do I get rid of the old version of the feature.

I realize that the stakes here are a lot lower than what doctors deal with every day. Still, it’s good to have a way to work that doesn’t keep breaking anything.

Leave a Reply

Your email address will not be published. Required fields are marked *