Flexibility. It’s a matter of perspective.

In my many years of collecting requirements for content management systems, I can’t think of a single project where the word “flexibility” wasn’t on the initial list of requirements. This “requirement” seems harmless enough. What could be wrong with the system being flexible? Flexibility seems like the perfect thing to ask for when you don’t really know what you want. But it’s a trap. Here is why.

Everyone who hears the word “flexibility” takes it to mean “being able to do whatever I want with the platform.” But what that means depends on who you are and what you are personally capable of. For example:

  • If you are a content creator, “flexibility” may conjure up an image of MS PowerPoint where you can make text boxes and pictures wherever you want on the page.
  • If you are a web designer, you might imagine being able to edit pages as if they were static HTML where you could write whatever markup, CSS, or Javascript that you wanted. And every page could be a unique creation.
  • If you are a print designer, you might picture editing one big image in Photoshop where you have precise control over every pixel and don’t have to worry about annoyances like browser support or different displays.
  • If you are developer might think about structured data that is re-usable and can be controlled by display template logic.

The interesting thing is that these expectations are usually mutually exclusive. The content producer’s unstructured PowerPoint document is garbage to a template developer who whats to make global changes or adapt the display of the content for different contexts and audiences. The structured content model and display templates are inflexible to the content producer who doesn’t know HTML and doesn’t have access to develop and test code. An image produced by a graphic designer is a black box to anyone who doesn’t have the source file and the right software to edit it.

And this is why everyone consider’s their current CMS inflexible and tries to prioritize flexibility the next time around. But the process just repeats itself again and again.

The first step to breaking out of this cycle is to strike the term “flexibility” from the conversation entirely. Every time someone says the word, he needs to put a dollar in a jar. You can’t move forward together if your interpretations of a word are diverging. After that, start talking about “balance of control” as in who controls what on the page. Stake out your territories. This doesn’t have to be a land grab. Have mature discussions about control vs. responsibility and the ongoing maintenance implications of these decisions. Educate each other about your different perspectives. Talk through scenarios of what might need to change and who should need to participate in that change.

Most importantly, you should avoid thinking in absolutes like “flexible” or “inflexible.” When you talk about balance of control, you are more likely to have productive discussions about moving boundaries rather scraping the whole system because it is “inflexible.”

  • http://www.openparenthesis.org/ jeckman

    Flexible is a bit like “strategic” – everyone wants to say they are strategic, but there’s little understanding about what that means or how to operationalize it.

    Who would want to be “rigid” or “inflexible”? On the other hand if “well structured” becomes the opposing tension to “flexible” then you might be making some progress.

    • http://www.contenthere.net/ Seth Gottlieb

      Great point. Although I wouldn’t want to set up “structured” to lose in a popularity contest with the universally appealing “flexible.” Personally, I think that more structure increases flexibility because it allows you to do more with the content that you have

      Dang, there I go. $1 in the jar from me.

  • Pieter J.van Horssen

    Good statement the best way “to be in control”..

  • James Robertson

    Yes, agree completely!

    This is something that I also try to unpick when doing CMS requirements workshops. As you say, almost every feature or capability involves a trade-off.

    Want a consistent, accessible site? Then lock down authoring controls.

    Want an out of the box solution that can be easily upgraded. Limit developer access.

    Want a powerful, developer-friendly solution? Be prepared to pay a usability price for site administrators and authors.

    Of course my favourite — and no doubt yours! — is: “Must be extensible to meet future needs” ;-)

  • http://hobbsontech.com David Hobbs

    Excellent post Seth. I wrote a blog post continuing the discussion: http://hobbsontech.com/content/flexibility-get-focused