Grounded requirements engineering: An approach to use case driven requirements engineering
We present a systematic approach for eliciting, analyzing, and modeling requirements.It combines established methods from social sciences and software engineering.It prevents the three issues discussed in the paper: unawareness, early commitment, and ungroundedness. Requirements engineering produces specifications of the needs or conditions to meet for a software product. These specifications may be vague and ungrounded, i.e. the relation of the requirements to the observations they are derived from may be unclear or not documented. Furthermore, stakeholders may be influenced by solutions of existing software without knowing if these actually suit the software to be developed.To cope with the above issues, it is important to understand the complete task, before designing a software system to support the task. Thus, we developed a method called Grounded Requirements Engineering (GRE) that leverages the Grounded Theory method to observe and analyze processes and user activities in the real world.GRE is an iterative process consisting of two steps. First, Grounded Theory methods are used to analyze user experiments or interviews. Second, the resulting abstract descriptions of the user behavior are transferred into use cases. GRE produces comprehensible and grounded requirements for the software system to be built, i.e. the requirements are traceable back to their origins.In this paper, we provide an elaborate description of the GRE method and illustrate it by applying it to derive requirements for an interactive software tool for model merging. The development of this tool both served as a basis for the design of GRE as well as to test it.