Tuesday, January 20, 2009

Pay Me now, or pay me later...

Fram used to have a set of advertisements where they illustrated the importance of a good quality oil filter by having an auto mechanic explain that if you don't pay a little bit more now for the Fram oil filter, you will pay a lot more later for the repairs. He would say "Pay me now, or pay me later".

Many in the software industry have looked for a metaphor with similar "punch" to drive home the need for quality in the software industry. To date, I have always used the Fram example. Not any more.

One of my colleagues showed me a blog posting written on November 1st, 2007 by Steve McConnell called Technical Debt[1]. This is the best illustration I have ever read on the subject, and it is now my new favourite metaphor.

This illustrates in very clear language the importance of managing the quality of a software project. I strongly encourage all of you to read it, and look for ways to internalize it into your organizations.

Highlights
  1. Sometimes, debt is a necessary evil. There are times when going into technical debt is ok, it just shouldn't be done on a whim.
  2. Just like monetary debt, Technical Debt must be paid off. The longer you wait with paying it off, the greater the debt.
  3. As with monetary debt, Technical Debt must be tracked. The old saying "You can't manage what you can't measure" comes to mind. Don't sweep your technical debt under the rug, it will just trip you up later.

Thanks Steve for making this subject so simple to understand and explain.
[1] http://blogs.construx.com/blogs/stevemcc/archive/2007/11/01/technical-debt-2.aspx

No comments:

Post a Comment