Colin Potts

Georgia Tech, School of Interactive Computing

Portrait of the artist with teapots
How to get me
Where to get me
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

Requirements elicitation and evolution

Background. Requirements are what stakeholders want a future or to-be-revised technology to provide or the properties that they want it to have. Studies have shown that misidentified requirements have a greater detrimental effect on customer satisfaction, software delivery schedules and costs, than any other type of error made during the development process. For most of my career, I have been working in the area of requirements engineering, which is the investigation of techniques for eliciting, representing, analyzing, confirming and managing requirements. In particular, my interests are in the following areas: Some of these interests go back a long way, and I am no longer very active; others have morphed into another arena (I no longer work in formalization, for example, but the same research issues nevertheless come up in investigations of privacy policy specifications.)

Goal-oriented requirements elaboration. Goal refinement is a way to elaborate the detailed requirements for an application from an informal starting point, consisting of goals that the user/customer wants to achieve or uphold. During the process of refinement, goals are decomposed, and refined into special obstacle-overcoming secondary goals. New goals are also discovered. The early work in this research theme emphasized the use of scenario analysis (below) in elaborating goals and the hierarchical refinement process. This led to the GBRAM method of Annie Anton's dissertation work, and then SecnIC. More recent work (STRAP) has specialized it for identifying security and privacy-specific goals when analyzing existing or proposed Internet technology.

Scenario analysis. Scenarios are concrete descriptions of envisaged uses of a technology. Their value is to induce thinking about consequences that is usually not prompted when a system is described in high-level terms or even when it is described in detail but for general cases. ScenIC is a technology and method that was developed to elaborate goal-oriented descriptions using scenarios, and in particular obstacle scenarios that investigate what happens when things do not go according to plan (e.g. breakdowns, unexpected user behavior, etc.)

ScenIC is based on the story grammar formalism in which a scenario (previously, a narrative) has a well-defined, memorable and satisfying structure. Story grammars were once a theory of narrative memory in humans. They are no longer thought to be psychologically real, but they do create a heuristic structure for constructing artificial stories or scenarios.

Requirements formalization. I no longer do work in formal specification (and haven't for a very long time!), however, goal refinement is an upstream analogue of formalization, since it takes a vague formulation of goals and transforms it into something more tractable. Similarly, our work in policy specification (see the policy page) seeks to transform policy statements into a semi-formal graphical language that is amenable to what-if analyses.

Naturalistic methods. Requirements can be obtained by asking customers what they want. This begs the interesting sociotechnical questions: who is the customer, and do people know what features they want an application to have? Two approaches that go beyond naive interviewing are goal refinement, which provides some structure to the process, and scenario analysis, in which stakeholders are confronted with the concrete consequences of their stated preferences (see above for both of these). Another is not to ask: What do you want? but instead to ask: What do you do? This is the normal m.o. of ethnographers who seek to understand other cultures.

I have performed research in the construction of ethnographically informed design methods and the use of ethnographic investigations into the software development process itself. These are effort-intensive, and are currently on hold.

Relevant publications.