At the same time as our experiments with CM/1 were occurring, another thread in the lab was concerned with developing a model-based approach to system and business process design, influenced by traditional systems analysis methods a la Yourdon, the European knowledge modeling methodology called CommonKADS, and other approaches such as Soft Systems Methodology.
As with the explorations of CM/1, there was a good deal of ferment about this as we looked for ways to reap the benefits of such structured approaches while contending with the cognitive overhead of having to work with such frameworks. At the same time, we were limited by the lack of availability of good software tools for such modeling, especially in the area of CommonKADS for which no tools yet existed.
Coming out of this mix of influences, we’d developed a hybrid modeling framework called World Modeling which prescribed relationships between current state and future state, “implementation” and “essential” (abstract), and other sorts of models. We were quite excited about its potential to organize the work of the project teams we were engaged with, if only we could find a good tool.
One day in early 1993, I was sitting in a meeting in Manhattan, listening to a group of people from New York Telephone debating approaches to redesigning their capital investment process. I had developed a good deal of facility with the software by this time and was easily able to keep up with the discussion, recording ideas and representing them in IBIS format as the discussion proceeded. As usual, the conversation was a mixture of ideas for process design, systems changes, resource issues, problems and opportunities, arguments and brainstorms. It suddenly occurred to me that CM/1 itself could be used as the tool for World Modeling.
Beyond providing a way of mapping and managing IBIS, CM/1 had some very powerful hypertext features, including the ability to copy nodes from one map and paste them in another such that a true “transclusion” was made – the same object appearing in multiple places, changes made in one place would appear immediately in all the views that object appeared in, and you could right-click on the node to see a clickable list of all the “containing views” for that node.
This was a key requirement for World Modeling. We needed to be able to show, for example, how a piece of data used in one business process was used in another, without losing the connection or identity of that piece of data. At the same time, we could get the benefit of IBIS argumentation and design rationale capture within the same tool – attaching rationale to model elements as we went, recording debates about how models should be constructed, and the like.
We came up with ways to tag nodes with searchable annotations (e.g., identifying nodes as “tasks”, “problems”, “resources” and the like), and used CM/1’s export/import capability to build templates of questions corresponding to different model types (e.g. organization models, process models, object models, etc.). It started to look like the good tool was within our grasp.