Colin Potts
Georgia Tech, School of Interactive Computing
|
|
|
|
| by email |
potts@cc.gatech.edu |
| by phone |
(+1) (404) 894-5551 |
| by foot |
Tech Square Research Building, Room 339 |
| by mail |
School of Interactive Computing
Georgia Institute of Technology Technology Square Research Building, 85 5th Street,
Atlanta, GA, 30332-0760 |
| by fax |
(+1) (404) 894-0673 |
|
Design rationale
Background. Design is an intellectual process in which choices are continually made among alternatives, and there are reasons for choosing one alternative over another. Retrospective design rationale is the recording of decisions and their rationale for future reference (e.g. in regulated industries where business decisions must be justified to regulators or in generic design patterns and guidelines where standard rationales operate in many design settings). Prospective design rationale is the recording of currently open decisions, criteria being considered, informal inputs and suggestions. Its goal is to sustain awareness of loose ends and recent commitments. I have investigated both retrospective and prospective design rationale, and my current interest is mainly in prospective rationale during requirements evolution (e.g. keeping track of what further questions we need to ask a customer representative.)
Ancient History: Design Rationale and 1980s Design Methods. My early work in design rationale, conducted at MCC, was influenced by Horst Rittel's issue-based information systems. The intention was to take issue-based models and technology and marry them to the evolution of system descriptions that occurs during the application of a standard design method. This was before object-oriented analysis, and so we used Liskov and Guttag's abstraction-based method and Jackson's JSD, but the ideas apply to any design method:
- Part of a design method involves representing information in the method's standard notation. (Today, most practitioners use UML notations.)
- A true method, as opposed to a mere collection of notations, involves guidelines about what to look for in the problem domain and in current representations, what questions to ask, standard criteria for resolving issues, and how to revise the representations created so far (or create new ones).
- Some methods involve domain guidelines, not just generic design guidelines.
All these guidelines and questions can be modeled as miniature issue bases that annotate one or mediate between several representations.
The Inquiry Cycle. Taking these ideas further led to the Inquiry Cycle and prototype hypertext engines Tuiqiao and EColabor developed at NTT Research Laboratory in Musashino, Japan. In the Inquiry Cycle, designers collaboratively express designs in documents that they tag with notes of several types. There is a simple grammar that constrains what types of additional notes can be spawned to comment on other notes or relevant attached design objects. This is relatively independent of the design method in question. We used a scenario-based goal-refinement method (see the requirements page for further details). ScenIC is based on the same ideas, but for a more methodical use of scenario analysis during requirements elaboration.
Relevant publications (mostly old!).
- Colin Potts, Design Rationale in Retrospect, under review
- Potts, C. ScenIC: A Strategy for Inquiry-Driven Requirements Determination, IEEE Fourth International Symposium on Requirements Engineering (RE'99), University of Limerick, Ireland, pp. 58-65, 7-11 June 1999.
- Potts, C. Tutorial: Inquiry-Driven Requirements Determination, International Conference on Software Engineering (ICSE'99), Los Angeles, May, 1999. IEEE CS Press.
- C. Potts, Supporting Software Design: Integrating Design Methods and Design Rationale, in T. P. Moran & J. M. Carroll (Eds.), Design rationale: Concepts, techniques, and use. Hillsdale, NJ: Lawrence Erlbaum Associates, 1996.
- Takahashi, K., Potts, C., Kumar, V., Ota, K. and Smith, J.D., Hypermedia support for collaboration in requirements analysis, Proc. 2nd Int. Conf. Software Engineering, Colorado Springs, CO: 15-18 April 1996 pp:31 - 40.
- C. Potts, K. Takahashi, J. Smith, and K. Ota, An Evaluation of Inquiry-Based Requirements Analysis for an Internet Service, Proc. RE'95: Second International Symposium on Requirements Engineering, York, UK, March, 1995, IEEE Computer Society Press, 1995.
- C. Potts, K. Takahashi and A. Anton, Inquiry-Based Requirements Analysis, IEEE Software, March, 1994.IEEE Xplore
- C.Potts, K.Takahashi and A.Anton, Inquiry-Based Scenario Analysis of System Requirements, Proc. International Conference on Requirements Engineering (ICRE'94), Colorado Springs, CO, April, 1994
- C. Potts and K. Takahashi, An Active Hypertext Model for System Requirements, Proc. 7th Int. Workshop on Software Specification and Design (IWSSD7), Redondo Beach, December, 1993.
- C. Potts, Choices and Assumptions in Requirements Definition, Proc. RE'93: 1st Int. Symposium on Requirements Eng., San Diego, January, 1993, IEEE Comp. Soc. Press, 1993.
- Potts, Colin, Jay D. Bolter and Albert Badre, Collaborative Pre-Writing with a Video-Based Group Working Memory, Georgia Institute of Technology, Graphics, Visualization and Usability Center Technical Report GIT-GVU-93-35, 1993.
- C. Potts, A Generic Model for Representing Design Methods, Proc. 11th Int. Conf. Software Eng., Pittsburgh, IEEE Comp. Soc. Press, 1989.ACM Digital Library entry
- C. Potts and G. Bruns, Recording the Reasons for Design Decisions, Proc. 10th Int. Conf. Software Eng., Singapore, IEEE Comp. Soc. Press, 1988.ACM Digital Library entry