« Engines of Growth | Main | Makers and Managers »
Tuesday
Oct042011

Always-Up-To-Date Development

I recently had a discussion with a member of my team on when a startup should update to newer versions of software that is part of its technology stack. More specifically, we were discussing whether we should update some of our web applications from Rails 3.0 to Rails 3.1.

We ultimately concluded that there was no reason not to do it as quickly as possible. Otherwise, we felt, we would accumulate more technical debt, and it would become harder and harder to upgrade in the future.

I remembered what a friend of mine at a Berlin-based internet startup had told me, confessing that they were still using a very much outdated version of the Rails stack (some 2.x version) and that they would have a really hard time upgrading to the latest version. They had actually built most of the technology that is part of Rails 3.1 today themselves—long before the Rails team included it in their backlog. For instance, they built their own custom asset pipeline.

Having that custom code was great while Rails wasn't supporting it natively—today, it is not more than a drag and a duplication of effort. Keeping the old codebase clean and effective becomes more and more difficult, and in the meantime the barriers to an upgrade to the latest version of Rails climb to ever-greater heights.

Coming to the rescue: always-up-to-date development. Make it part of the development process to upgrade to the latest version of each layer of your technology stack whenever there is a substantial update. Should it appear to be costly to upgrade, give the upgrade an even higher priority—because every cost you do not take on now will have to be taken on in the future, only magnified.

Take your time to rewrite parts of the code to use newer features. Get rid of code that can be removed, now that the new version allows the same things to be done in simpler ways. It will pay off in the future to constantly stay ahead of time.

That said, the always-up-to-date development philosophy should not be taken as dogma. Decide whether it makes sense in your particular case. Just like technical debt may be embraced with open arms, deprecated code may be as well. It depends on the code.

PrintView Printer Friendly Version

EmailEmail Article to Friend

References (5)

References allow you to track sources for this article, as well as articles that were written in response to this article.
  • Response
    NFL is definitely a single of the most significant sports in America. It has a important following.
  • Response
    Response: plumber
    Always-Up-To-Date Development - Thoughts on Technology and Innovation - Deviant Bits
  • Response
    Response: music lessons
    Always-Up-To-Date Development - Thoughts on Technology and Innovation - Deviant Bits
  • Response
    Always-Up-To-Date Development - Thoughts on Technology and Innovation - Deviant Bits
  • Response
    Always-Up-To-Date Development - Thoughts on Technology and Innovation - Deviant Bits

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):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>