I have seen my fair share of initiatives focus endlessly on requirements, design, development, security & maintenance but not on the actual point of the system – the data. This is especially true in content-based systems in which the data is information delivered as unstructured or semi-structured content. Great content means the difference between a system that is hollow and one that is relevant.
Content is king. Content is the network. Content is theinterface. In an increasingly interconnected world, content quality is rapidly becoming the difference between success and failure. FaceBook vs. Orkut /Google vs. Cuil / NetFlix vs. BlockbusterOnline…. the list is endless where battles have been won and lost on the content battlefield. One could argue that content-related aspects are not the software architect’s problem – but I think the next decade will certainly disprove that.
Part of the design process for a new system should be devoted assessing content inventory. Designing an effective domain/object/data model is not enough.
Analyze all available content and assess its value on the following criteria:
- Is there enough content available? If not, how do we attain critical mass?
- Is the content fresh enough? If not, how do we improve delivery rates?
- Have all possible content channels been explored? RSS feeds, Email, Paper Forms are all channels.
- Are there effective input streams built to facilitate the continual delivery of this content into the system? It’s one thing to identify valuable content, but another thing altogether to harvest it regularly.
Make no mistake, the success of a system depends on its content. Spend a healthy part of the design process to assess the value of your content. If your findings are less than satisfactory then that’s a red flag and the stakeholders must be advised about. I have seen many systems that fulfill all contractual obligations, meet every requirement and still fail because this fairly obvious aspect was ignored. Great content creates great systems.