ViaData's focus when developing a business system for a client has always been the data. Indeed, the name "ViaData" was adopted because of our belief that an information system will only be useful, reliable, adaptable, and economic if its development is based firstly on sound data modelling, and only secondarily on process analysis. Our experience has shown that:
- Thought invested in planning a database structure flexible enough to suit changing process possibilities yields immense dividends in terms of work not thrown away and opportunities not lost waiting for something better to be built.
- An effective data model is durable, and ensures that a system built on its foundation will meet unanticipated process requirements for years to come. A durable data model is sufficiently complete that the system does not need constant reconstruction to accommodate new business requirements and processes.
- Furthermore, as additional data structures are defined over time, an effective data model is easily maintained and adapted because it reflects permanent truths about the underlying subjects rather than temporary techniques for dealing with those subjects.
- Model the data with business representatives:
The data model is developed in one or more facilitated workshops. The process followed is rigorous, but is fun and almost always results in some significant "aha" moments for the participants. The participants should be from the business (not IT) and should represent different perspectives of the business process. The language used is non-technical and the model developed soon becomes the "property" of the participants. The facilitator is supported by a business analyst, who documents the results of the workshops. After each workshop, the facilitator and business analyst review the model and identify any issues that need to be raised with participants during the next workshop.
- Optimise the model:
Once the model has been completed, the facilitator and the business analyst apply a process of abstraction to the model to make it more easily adaptable to future (as yet unknown) changes to business requirements.
For example, the current business process might indicate a need to keep information about a "car". During abstraction, the facilitator and business analyst may introduce the concept of a "vehicle", of which a car is a sub-type. The optimised model would then easily support the addition of new vehicle types, through minor extension rather than through major re-structuring.
- Test the ability of the data model to support the business.
In this step, we carry out comprehensive testing of the data model using real business data, and our Catalyst™ prototyping tool. The testing enables us to confirm (before a single cent is committed to system design or coding) that our understanding of the business is accurate and comprehensive. Furthermore, it enables us to illustrate, through practical examples using real business data, how specialised concepts (e.g. car) are supported by abstract data structures (e.g. vehicle). These illustrations have proved to be of tremendous practical benefit to system development staff in the past.