Architecture as Sticky Balls

My favorite way to communicate with people, besides delivering an open handed slap in the mouth, is through the use of similes, metaphors, and analogies. One of my co-workers told me that our man Klobe dropped a good one recently. I am paraphrasing, so please forgive me if I get it slightly wrong.

He said that software architecture is like a big sticky ball (I envision a ball of duct tape, sticky side out). You roll it around on whatever concepts or features you want to implement and it "picks up" anything you roll it over–for awhile. Eventually though, all of the sticky spots are covered up and it just won't pick things up any more.

It means that your product can definitely outgrow your architecture. After that happens, it's nearly impossible to keep ramming features in unless you fix the bigger issue. The new stuff just won't "stick." Maybe you started with a small ball of tape that is the equivalent of a set of shell scripts you used to do things. This may have become an actual commercial product later on. However, given these humble beginnings, you can only add so many features before you need to address the fact that you don't have an architecture that can support the set of "enterprise level features" you want to deliver.

Most people that really work on software get this, but it seems like a really good metaphor one could use to quickly sum up the issue for an executive, especially when you're trying to justify all of those overhead tasks you need to do in order to fix things.

Share

3 Responses to “Architecture as Sticky Balls”

  1. Klobetime Says:

    The idea comes from a game that was described to me a few years ago: Katamari Damacy (http://www.namco.com/games/katamari_damacy/). I don't remember who was telling be about it, but I couldn't help but think of software at the time and the metaphor has stuck with me.

  2. Robert Says:

    I bought that game for my parents about a year ago. It is surprisingly fun and addictive.

  3. Running as Root » Blog Archive » Job Postmortem Says:

    [...] As I've mentioned previously, the idea of system to which you cannot easily add new functionality has been called a big sticky ball problem by one of my managers. [...]

Leave a Reply