Fellow blogger Philip Virgo mentioned to me today that he was developing a new security process model. It got me thinking about the principles of model development. Regardless of their purpose, the art of model development is a subject close to my heart. I’ve spent much of my career creating them for many various purposes. I’ve also studied the tips of the trade of master craftsmen, such as Matthew West, Shell’s brilliant information architect, and Richard Pawson, inventor of “expressive systems” a revolutionary technique for developing agile information systems. These skills don’t seem to be taught at universities or on IT training courses. Why not? That’s why so many operational models are clunky and sub-optimal if not downright inefficient.
So how do you design a good model? Well for me the first lesson is to accept that models are a means to an end, not an end. Focus on the objective and use, not the model itself. Each model represents an abstraction of reality, designed for a particular purpose and audience. They will not be as effective when applied in a different context. There are also distinct types of model. Process models are generally based on verbs, and data models on nouns. In practice you need both, especially if you’re designing an information system. But you have to be careful about how you mix them. Agile systems can be built on flexible user interfaces based on the “nouns first, verbs second rule” principle of object oriented system design.
Structure is crucial because it facilitates navigation and enables substitution of components, which might require revision at varying times. Fast-changing content needs to be isolated to endure longevity. Smart designers employ four dimensional principles, taking account of the known past and potential future possibilities for the evolution of an entity or process. But even the smartest designer can miss the political consequences of design decisions. In my experience, the top level representation of any model is dictated by political, cosmetic and navigation considerations (in that order). It doesn’t matter how purist the top level design is from a modeling perspective. Its effectiveness will be determined by the lower level content and structure. But success is determined by acceptance and use. Because, as for many things in life first impressions count for a lot.