Sunday, October 19, 2008

More Compendium history (part 5): Developing the Software

We soon began to identify desired enhancements for the software, and tried to work with CMSI to build them in to the tool (by then renamed "QuestMap"). QuestMap offered great speed and capacity for navigating even very large maps, and worked extremely well for managing IBIS (argumentation) nodes and links. We wanted greater ability to access and manage the underlying database as well as to be able to create richer representations, especially to support business process modeling. QuestMap was developed with an encrypted, embedded database that did not allow direct access or manipulation by users, and there was no way to add different kinds of icons or images, or to extend or customize the software in other ways. We also wanted to make greater use of transclusions, which we felt were the true "secret sauce" that allowed the tool to be used for multi-dimensional representations. However, CMSI felt that their core market was in IBIS mapping and did not want to extend the software in those directions.

Despite the limitations, though, we were able to support some very large projects with the existing software coupled with the Conversational Modeling approach. These included both small group and multi-team analysis and design projects. A few small software development teams that we were members of used the approach to manage their work over longer periods. One of these, that built a forecasting tool, used the approach to manage all of its work over a couple of years, growing a large repository of models and issue tracking with both clients and developers, capturing a great deal of rationale along the way.

To work around the limitations and help connect the work we did in QuestMap with material developed in other applications and settings, we developed small “glueware” extensions, particularly in the areas of importing and exporting content from applications like Microsoft Office and Visio. Most of these were written in Microsoft's Visual Basic for Applications, which transformed QuestMap's exported text files into forms that other programs could use, or formatted material from other programs into QuestMap's import file structure. VBA let even someone like me, with elementary (at best) programming skills, create tools that let us produce richer representations than IBIS maps. When we needed to use these on critical projects (such as a large Y2K contingency planning effort that required us to generate data-flow diagrams in Visio based on our Conversational Modeling maps), real developers like Maarten and Bea Zimmermann were able to beef up my dining-room-table attempts considerably.

These helper tools only took us so far, though, and required a lot of manual intervention on the part of the user. In 1998 we decided to begin developing our own software tool that would combine QuestMap’s capabilities with the features and enhancements we wanted. The early software design, taking advantage of then-new Java, envisioned a fully-featured mapping tool combined with over-the-internet groupware capabilities.

Around the same time we dropped the “Conversational Modeling” name (which we liked, but few others did) in favor of the friendlier term “Compendium.” This became the name of both our approach in general and the software in particular. We had toyed with a variety of other names, most of which were even more turgid and obscure than Conversational Modeling. While laboring one day at the aforementioned dining room table, I asked my non-technical wife Debbie what she would call a method that let you create collections of ideas related together. She suggested "Compendium", and it stuck.