You are not authorized to post comments.

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.

ITworld LIVE

DevelopmentWhite Papers & Webcasts

Webcast On Demand

How to Distribute Apps to Your Mobile Workforce

When considering enterprise app deployment, you may find some unexpected challenges and a number of options that range from simple distribution to running your own enterprise market. How can you determine the best approach for your organization? MOTODEV for Enterprise can help you understand and evaluate current enterprise deployment technologies and learn best practices that support your choice.

Sponsor: Motorola Mobility

Webcast On Demand

Authentication, Certificates and VPNs

MOTODEV for Enterprise can help get you up to speed quickly on key topics such as how to enable secure access to a company intranet from outside the firewall. This webinar provides a clear explanation of terms and technologies and what they can do for your enterprise app development.

Sponsor: Motorola Mobility

Webcast On Demand

Improving Enterprise App Quality with MOTODEV App Validator

MOTODEV for Enterprise supports quality app development for businesses, government, and institutions with technical resources and tools such as the MOTODEV App Validator, a free static analysis testing tool.

Sponsor: Motorola Mobility

White Paper

HR Analytics: Driving Return on Human Capital Investments

In today's economy, it's critical for organizations to make employee retention and development a major business focus, to ensure that valuable employees are not lost as the economy improves. With advanced BI solutions, organizations can be supported by workforce analytics to drive return on human capital investment and to see the value the workforce delivers to organizational performance. This white paper demonstrates how the increased power of having metrics and analytic insight can align core HR business processes with organizational goals and strategies and help ensure organizations make the right business decisions today for tomorrow.

White Paper

Positioning the CIO as a Powerful Business Partner with IT Portfolio Governance

In this whitepaper, learn how you can become a visionary portfolio manager and transform IT into a streamlined revenue and profit center.

See more White Papers | Webcasts

Ask a question

Ask a Question