The inevitability of cruft

By Sean McGrath, ITworld |  Development, programming Add a new comment

The word 'cruft' is a truly excellent word. From the moment the subject of this article entered my head, I knew I wanted to use it in the title. Now I have a dangerous habit of using words because they sound right at the time, even if they are not the right words in the sense of their meaning. Needless to say this can be a problem. Call it a character flaw. I thought it expedient to hit the dictionaries on 'cruft' just to be sure.

Well whaddya know? At the time of writing, it is not a real word yet! If you take inclusion in real, paper-based dictionaries as being a litmus test for word reality that is. It currently exists solely in the virtual worlds of wikitictionary and wikipedia. So, 'mouse potato' is in Merriam-Webster but 'cruft' is not. What gives?

Anyway. That is not what I want to talk about. I want to talk about cruft in the IT business. I want to talk about how it arises and why, I suspect, it is inevitable. In one sentence, it is all our own fault. True cruft is human in origin.

It is analogy time. Imagine a project to build a bridge road over a river. To keep it simple, imagine that a two lane road will cost X. Making it twice as wide would cost 1.5 to 2 times X. At the time of planning, it isn't clear how much demand there will be for the bridge. Also, at the time of planning, there isn't much appetite among the stakeholders for building something that might be better than strictly necessary. Bluntly put, the smaller the cost, the more likely the bridge will get approval from the stakeholders.

So a two lane bridge is built at a cost of X. It is a roaring success and soon it is clear that it needs to be widened to four lanes. Unfortunately, widening the existing bridge will mean a total cost of 2.5 to 3 times X rather than just 1.5 to 2 times X. The cost of land has increased because of the success of the first bridge, and there are engineering difficulties because planning for expansion to four lanes was not part of the original plan and so on.

However, the demand is there, so the expansion gets approval and is built. The resultant structure has cruft. Ugly parts in the design that would not have existed if the bridge had started out as a four lane bridge. That is part A of the bad news. Part B of the bad news is that the darned thing turned out being more expensive than it would have done if the four lane design had been actioned from the get go. 3X plays about 2X in my very rough figures.

On the good news side, the four lane bridge actually exists. By getting there in two small steps rather than one big step, it was possible to bring everyone involved along. Easier to get approval, quicker to show results, build confidence and so on. Would the bridge have been built at all if the proposers had insisted in the four lane design? Possibly not. Even if in their hearts of hearts they knew that the four lane model would be needed, the two lane design makes tactical sense.

I understand the tactic and it makes total sense to me. An inevitable consequence is a build up of cruft. I try to keep the logic of all this in mind when I'm battling with crufty old GUI APIs and crufty old Unicode surrogate pairs and crufty old microformats and crufty old taxonomies... After a while, it is possible to feel affectionate towards the cruft. Honest.

    Add a comment

    Post a comment using one of these accounts
    Or join now
    At least 6 characters

    Note: Comment will appear soon after you have activated your account.
    Obscene/spam comments will be removed and accounts suspended.
    The information you submit is subject to our Privacy Policy and Terms of Service.

    ITworld LIVE

    DevelopmentWhite Papers & Webcasts

    White Paper

    HP NonStop SQL Fundamentals whitepaper

    This whitepaper offers a detailed look into the fundamentals of HP NonStop SQL solutions. See how this system delivers unprecedented levels of application availability with fail-safe data integrity and meets the needs of enterprises with large-scale business critical applications.

    White Paper

    Nebraska Medical Center case study

    See how the Nebraska Medical Center implemented a SQL solution to make information more readily available to streamline operations, improve patient care and facilitate medical research with an enterprise solution running on HP NonStop servers.

    White Paper

    Concepts of NonStop SQL/MX

    For DBAs and developers who are familiar with Oracle solutions and want to learn about NonStop SQL/MX, this whitepaper provides an overview of the similarities and differences between the two products-with a specific focus on implementation.

    White Paper

    6 Things Your CIO Needs to Know About Requirements

    If your organization is not predictably successful on technology projects, there is likely an issue in requirements. CIOs must take action and own requirements maturity improvement. There are 6 main things a CIO must know about requirements.

    Webcast On Demand

    User Experience Monitoring

    In this webinar, you will learn hints & tips for improving end-user response times from Forrester Research analyst, Jean-Pierre Garbani.

    Sponsor: Nimsoft

    See more White Papers | Webcasts

    Ask a question

    Ask a Question