On Future-Proofing

I know he means well, but every time my boss talks about future-proofing, I cringe. On the face of it, future-proofing your software, that is, building your code in such a way as to allow it to meet future requirements with minimal refactoring, sounds like a worthy ambition, but in my experience it's always disaster.

The reality of future-proofing is that it boils down to adding complexity to your code that:

  • will add significantly to your development cost;
  • you will most likely never need, and 
  • will make it harder to meet critical requirements which you did not anticipate.

Another thing that really bothers me about future-proofing is that it implies that the future is full of bad things to be guarded against, rather than a cornucopia of opportunities to be embraced.

PrintView Printer Friendly Version

EmailEmail Article to Friend

References (3)

References allow you to track sources for this article, as well as articles that were written in response to this article.

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>
« Adding no-default, non-NULL columns to an existing ActiveRecord model | Main | 5by5 Radio App »