Process is the big ticket item that separates a quality product from a mediocre product and in regards to content management it’s absolutely critical. For example; two bakers with the exact same ingredients and budgets are in the process of baking bread for a large audience in three weeks. So in this example the content is the bread. One kneads his dough a certain way, makes sure his ingredients are exactly at the right temperature, works tirelessly on presentation and how he’d like to best show off to his patrons the fruits of all his hard work. He spends those three weeks in advance hiring the right people to help him in this process and making sure all of his employees from the door man to the waiter and the rest of his team know the process. This process is obviously unique to baking the bread and he’s honed it so he can serve a large audience. Our other baker does none of that; He has a process that will work for a couple of loaves of bread but he figures that this will work for a large audience, it can’t be that different he says. So he hires more people, none of which know the process, they don’t know the business and stick to their jobs as a door man or waiter. He thinks about presentation and hires someone for that but this person doesn’t know the process either. No one understands the process but him! However, there are currently no problems and things seem fine! Three weeks is here and our first baker’s bread is flying off the shelf faster than he can create loaves. His patrons are impressed with his service, his product and his entire team. It seems the waiter, even the door man are aware of what it takes to create quality bread and the atmosphere tends to hold this true! It’s amazing bread and when you think of bread, you think of his shop. He even seems to take pride in showing off his process and the way he goes about bringing about an excellent product, in this case, the bread. Our second baker isn’t as successful. His bread isn’t horrible but he can see it’s no where near as good as our first baker. He had the same ingredients, the same budget and has the same amount of people. So why isn’t his bread selling just as well as out first baker? Process.
The first bakers team is inherently aware of what it takes to create bread and utilize their skills to aide in the process of creating it. The waiter, knows how many customers to seat at any given time depending on how fluffy and warm the bread may be. The chef’s know exactly what temperature the oven needs to be at and exactly how many times to knead the dough, the waiters know that only real butter will do for this specific loaf and which red wine will go great with it. Everyone is helping the process of creating not just great bread but an environment that goes along with it.
The second bakers team though the bread is not horrible, have no process. The waiter has no idea what wine goes well with the bread. The doorman is seating people as they come and some patrons are receiving cold bread. To top it all off our second baker is working countless man hours because the other bakers are screwing up loaves left and right! What’s wrong here, the process!
The most generic setting is the above when it comes to content management; or for that matter any product or service provided. Industrial institutions have figured this out long ago (many of them have decided to remove the human element all together and have replaced them with industrial robots); there are even shows dedicated to process ie: “How It’s Made” is an excellent example of how many of the products we use on a daily basis are created and is dedicated to showing these processes.
Content Management isn’t just about software
Part of the problem is the earlier misconception that if you have a content management system it can easily manage your content. Instead it should be seen as part of the solution to the larger problem of process. If the CMS can’t or doesn’t fit your process then you simply should not be using it. A general issue or concern seems to be the lack of people with sufficient technical knowledge making decisions about the actual technology or ceding and outsourcing those decisions to a technical group or party who does not understand the business or the process. Even in the best case scenario if an attempt is made to learn the process, a process may simply not exist. In this case there needs to be a concerted effort made between parties to task one person with the job of making sure the process fits the needs of the business to create X,Y,Z product. This maybe the project manager or even some member from each team sitting down and coming up with the process. There may even be a need to create the role of process manager.
Software in this case is only a tool to solve a problem. If the problem isn’t known and there are no details or process in resolving the problem, one only gets a mash of confusion towards a launch date. No one is happy and the goal of helping the business itself has failed. Your customers are certainly not happy and if at all they must utilize your software, website, product. They are doing so because they have no other choice. This is the standard defacto attitude towards many products, websites, etc out on the market today. It’s not different in technology except for the fact that many people can easily type in a competitors.com and easily be using a higher quality experience. As operating systems become more commodity and the web and it’s infrastructure become more intricate to business as usual. It’s incumbent upon people making these decisions to stress process.
How can I make content management easy?
The truth is that there is really never any easy. When solving new problems, it’s always hard. Sorry; that’s just the the hard cold reality. However, to begin the first thing should be deciding what type of content you plan on managing? Are you managing a bunch of text that you plan to display in a log format? Then maybe Wordpress would be useful in that context. Do you plan on having a site with terrabytes of video and music? Wordpress would not be as useful in that context. So you want to begin by defining what the content is and how you plan to manage it; again, process. Does the video need to be converted several times before it’s reviewed by someone looking for artifacts and then refactored and sent for color correction all before it’s reviewed by an editor or producer? Is this part of the process and how does that work? Do you plan on creating a custom tool that can manage that process up until you post a snippet on YouTube or do you plan to serve this video via another service. How does this experience meld with the goals of the business and the overall product. There is a balance that needs to be achieved in regards to utilizing tools that maybe able to help the process and locking ones content up in the wrong tool where you begin to conform to the tool instead. These are all questions and facets that one needs to think about in regards to content management and sadly it’s never an easy or simple process.
A CMS system is fundamentally about process, as you mentioned, and a huge part of that process is defining roles and responsibilities, and then assigning those to different [groups of] people.
Content created by users/group X, published/vetted/edited/etc by users/group Y, and visible by users/group Z starting on date Q. User T is a UltraSuperMegaPlatinum subscriber? She gets access on date V.
On a related note the "content organization" needs are often very different from the "content presentation" needs -- I need a system to manage tens of thousands of photographs, but I also want a pretty front-end view for the general public (ie public portfolio) or my clients (the photo shoots they've paid for)
So, yeah, CMS encompasses a lot of things, because 'content' is rather vague, and 'management' is even more vague.. leaving the 'system' completely up in the air until one decides what they want and then what process to use.
Agreed, in regards to permission management. I feel this to be part of the process naturally and the design from that process for the software should easily define the workflow as clearly as possible. As presentation goes that's also part of the process, the public portfolio or the view of the portfolio should be part of the process. Design is an intricate piece in creating a final product.
Answering a question like; how does it look like when a photo or piece of media is published to a client? How will it work best for X person to review Y piece of content and pass it over to Z user, etc.
In regards to content being vague though I'm not sure I would necessarily call it vague. The vocabulary in this case needs to be agreed upon obviously. In most cases you know exactly what the content or what pieces comprise what one is calling content. So for example, a web page consists of images and text and the webpage in its entirety is a "piece of content" or "content object". You could continue to break it down if you need to. For example; images by themselves may need to go through a defined process in which case they would be deemed content in which there is formal management. Generally the vocabulary should be agreed upon but again; that's part of process. Everyone involved should agree that lets say a webpage consists of images and text and there are no formal management pieces for the images or the text alone. When combined we consider this a piece of content for which there is a content management tool of some sort.
i did a site where a business process, in this case, cost evaluation of a publication, could be expressed in editable mathematical formulae. the requirements were that the process of developing the formulae - to be displayed as results on page 1, 2, 3, 4, 5 etc. with the final total being displayed on page 5 - should be somewhat easier than having to code the entire program.
the previous program was in perl *shudder*.
also, the questions were to be editable as well.
so, you could place questions "how many pages in the publication?" and "how many of them would be colour?" and "do you want an editor and if so will he be full-time or 1 day per week?" etc. etc.
of course, "verification" was needed - with levels - "information" would be a "verification" that would result in a calculation result being displayed on a page, whilst "error" would be a "verification" that would result in stopping the next page from being accessed, and a suitable error message displayed.
"advice" would also be given: if you asked for colour photos but did not ask for an editor, then you would be warned that the photos might not pass some quality checks and you really really should consider going back and editing your publication again.
the "content", so to speak, was effectively auto-generated.
the whole process ended up saving some companies many tens of thousands of pounds: one company had been quoted £90,000 to produce a publication, and the planner tool calculated only £12,000. a quick phone call and my client was able to review the calculations and confirm that yes, £12,000 looked about right. the person was absolutely furious at having been ripped off for so long and so of course asked my client to do his publication in the future.
here's the problem:
the "business process" development was well beyond my client's ability to understand. in other words, i had fulfilled their requirements - to produce a web site that allowed them to edit everything, without any programming knowledge...
... but even with the "business logic" coded in simple editable formulae like "cost = number_of_text_pages * cost_per_page + number_of_photo_pages * cost_per_photo_page + editorial_cost" etc. they then considered this to be far too "complex".
actually, the entire project had been drastically underestimated for cost: i was expecting to provide the tool by which they would enter the business logic, and they were expecting me to be the one to enter the business logic as well on their behalf. and customise the front-end, well beyond the means for it to be easily "managed" from an administrative interface.
it was a damn good tool - yet it was only possible for me to provide most of what they asked for by virtue of being a decent - and ambitious - programmer, but even then it was well beyond their expectations of what such a project should cost to develop.
The problem is that the majority of businesses simply have no idea what they need when certain topics come up. Or they know what they want; something that looks like X, but they have no idea what goes on behind the scenes to actually bring X to fruition. So that's where the disconnect begins; the requirements. It's a difficult thing to get right though so all the fault doesn't lie with the business. Even when due diligence is done it can be difficult defining what exactly is required. Nonetheless, unless the process can be defined in regards to the business and the right tools chosen for the job the product will be mediocre at best or something the client/business simply doesn't need. Or in your case they receive a tool that is too much for them and they don't understand. In regards to the web and software applications; every business I believe now needs a process manager. Separate to that of a project manager or product manager; someone who understands the process and workflow scenarios and is able to provide that information in a way all parties involved understand. So the developers, designers, creative, understand the workflow but so does management and all of the in-between. This makes it much easier for developers to write code and saves money in the long run; OR in your case gets the right amount on the table ahead of time.
y'know... this has me thinking. what it is about the "process" of free software development that is ... so "disjoint"?
it would appear that, due to the inherent focus on "the code talks" i.e. "if you can't code, you are not worth respecting", we have no "process managers"...
good article btw.
Thanks, there is actually more to this that I am still working on. Once I got it all figured out I'll post. The major problem remains in the social dynamic of a successful deployment; which will be different for every business process but the general facets that make this true i'm not sure of yet. It's something I think about a lot, is it primarily the people, the process, the language, code or implementation. Which facets are definitely required more than the others etc.
The process manager thing is seriously an issue in free software though. If the lead developer or team lead isn't doing the process managing things can go to hell really quick, or things take for ever to come to fruition; you get bickering etc etc. People always extol the Linux kernel as being extremely successful but it's only that way because Linus institutes strong process and if it's not working; changes it, for the good of the project. If the tools don't exist, they are created etc. Obviously this won't work for every free software project but when and where it can, someone should be taking the role of process manager or holding the reigns.
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!