Applying Distributed Cognition Theory to Agile Requirements Engineering
conference contribution
posted on 2020-01-01, 00:00authored byJim Buchan, Didar Zowghi, Muneera Bano
[Context & Motivation] Agile Requirements Engineering (ARE) is a collaborative, team-based process based on frequent elicitation, elaboration, estimation and prioritization of the user requirements, typically represented as user stories. While it is claimed that this Agile approach and the associated RE activities are effective, there is sparse empirical evidence and limited theoretical foundation to explain this efficacy. [Question/problem] We aim to understand and explain aspects of the ARE process by focusing on a cognitive perspective. We appropriate ideas and techniques from Distributed Cognition (DC) theory to analyze the cognitive roles of people, artefacts and the physical work environment in a successful collaborative ARE activity, namely requirement prioritization. [Principal idea/results] This paper presents a field study of two early requirements related meetings in an Agile product development project. Observation data, field notes and transcripts were collected and qualitatively analyzed. We have used DiCoT, a framework for systematically applying DC as a methodological contribution, to analyze the ARE process and explain its efficacy from a cognitive perspective. The analysis identified three main areas of cognitive effort in the ARE process as well as the significant information flows and artefacts. Analysis of these have identified that the use of physical user story cards, specific facilitator skills, and development of shared understanding of the user stories, were all key to the effectiveness of the ARE activity observed. [Contribution] The deeper understanding of cognition involved in ARE provides an empirically evidenced explanation, based on DC theory, of why this way of collaboratively prioritizing requirements was effective. Our result provides a basis for designing other ARE activities.