This Project's

Software Design Rationale

Theme: Software and Engineering Design


CRC_SoftwareDesignRationale_logo.jpg
Design Rationale research is concerned with developing effective methods and computer-supported representations for capturing, maintaining and re-using records of why designers have made the decisions they have. Possibly the critical challenge is to negotiate the capture bottleneck: how do we make the effort of recording rationale pay off not only for people trying to understand the design at a later date, but also at capture time for the designers? Or is rationale capture simply something that must be mandated as a form of compulsory documentation? We have investigated argumentation-based design rationale. Decisions in teams/organisations are invariably made through debate and discussion, but a lot of the effort and reasoning invested is often then lost, or locked in particular individuals' heads. In purely representational terms, by making the issues, alternatives and trade-offs in a discussion explicit, the context and rationale behind key decisions can be captured for future reference and re-use. To cut to the chase, we have been exploring how to negotiate the rationale capture cost-benefit tradeoff by providing tools for real time and asynchronous knowledge representation: combining hypermedia (for flexible linking), modelling (for explicit conceptualisation of problems) and meeting facilitation skills. This combination turns out to be a powerful approach to a particular flavour of 'knowledge management', with wider applicability than just software design. We call this overall approach Compendium. Contact: Simon Buckingham-Shum