User and System Stories: an Agile Approach for Managing Requirements in AOSE
Total Page:16
File Type:pdf, Size:1020Kb
Main Track AAMAS 2021, May 3-7, 2021, Online User and System Stories: An Agile Approach for Managing Requirements in AOSE Sebastian Rodriguez John Thangarajah Michael Winikoff RMIT University RMIT University Victoria University of Wellington Melbourne, Australia Melbourne, Australia Wellington, New Zealand [email protected] [email protected] [email protected] ABSTRACT A User Story is a brief informal description of a feature described The agile software development life cycle is widely used in industry from the perspective of a user of the system. For example, for a today due to its highly flexible and iterative processes that facilitate bookstore system: As a customer, I want to search for books by rapid prototyping. There has been recent work in bringing concepts keywords, so that I can find the book I want. and processes from agile methodologies to agent-oriented software Some of the key benefits of using User Stories are that they[8]: engineering (AOSE). We contribute to this effort by presenting in are comprehensible by both the users and the developers; enables this paper a novel approach to capturing requirements of agent better scoping of requirements; encourage deferring details until a systems in AOSE using and extending agile concepts. In this paper, better understanding of the needs are established; and promote a we propose to adopt and extend the well-known concept of User greater understanding of the domain specific concepts and logic by Stories to facilitate the development of agent systems. We introduce the system developers. a novel concept, System Story, that defines requirements from the In current agent development methodologies such as TDF [16], perspective of the system. These System Stories are refinements of Prometheus [25], Tropos [4], O-MaSE [11], INGENIAS [26], and User Stories and provide more intuitive mappings to agent concepts ASPECS [10] the process of managing requirements from elicitation in the design and implementation. We show how our approach to implementation follows the more traditional way of developing allows better traceability of requirements between stories and the software, rather than the more modern agile approaches. different software development artifacts. We validate our proposal Most of the agent methodologies use concepts and techniques with a feature-based comparison to recent related work, and a that are foreign to the domain experts and end users. The initial preliminary user evaluation based on a drone simulation of a simple stages of gathering the requirements of the system are often cum- search and rescue case study. bersome and require extensive modelling to map the requirements to suitable artifacts of the respective methodologies. KEYWORDS In this article we present an approach that not only adopts the concept of User Stories, but also extends the concept to System AOSE; Engineering MAS; Agile methodologies Stories, which capture features from the system’s perspective, con- ACM Reference Format: sidering the system as a first class citizen. In our approach, we refine Sebastian Rodriguez, John Thangarajah, and Michael Winikoff. 2021. User User Stories to System Stories. For example, w.r.t to the User Story and System Stories: An Agile Approach for Managing Requirements in above, a System Story might be: As the System, I want to index all AOSE. In Proc. of the 20th International Conference on Autonomous Agents the books by keywords, so that I can retrieve them by keyword. and Multiagent Systems (AAMAS 2021), Online, May 3–7, 2021, IFAAMAS, 9 pages. These System and User Stories are mapped to AOSE design artifacts and corresponding constructs in an agent programming language. 1 INTRODUCTION Although there has been recent work on agile AOSE methodolo- gies (e.g. [5, 33]), they do not include System Stories or acceptance The agile software development life cycle (SDLC) is widely used in criteria, the conditions under which the system behaviour can be industry today. In 2017, 71% of the organizations consulted in [27] accepted by the stakeholders. Our work, by including both these responded that they use agile approaches in at least some of their aspects, provides a richer approach with better traceability. projects. The agile approach encourages a flexible and iterative We hypothesize that the agile approach we propose will provide process that generates rapid prototypes that are continuously re- a more natural and flexible way to managing requirements that are: fined. This involves much more interaction and collaboration with (i) easy to understand; (ii) mapped to the agent design concepts the users and developers of the software system. The core values that realise them; (iii) easier to maintain; and (iv) allow traceability expressed in the agile manifesto [2] are at the center of this success. from execution to requirements. There has been recent work in bringing concepts and processes Our approach is general and complementary to existing AOSE from agile SDLC to agent-oriented software engineering (AOSE) [5, methodologies. For the purpose of illustrating our approach we 21, 22, 31, 33]. We contribute to this effort in this paper - we present use in this paper the TDF (Tactics Development Framework) agent a novel approach to capturing requirements of agent systems in design methodology [16] and the SARL agent implementation plat- AOSE using and extending agile concepts. form [29]. The choice of these tools are due to the fact that they Proc. of the 20th International Conference on Autonomous Agents and Multiagent Systems are used for an industry project that necessitates this work. (AAMAS 2021), U. Endriss, A. Nowé, F. Dignum, A. Lomuscio (eds.), May 3–7, 2021, Online. In this paper we: (i) present an agile approach to capturing the © 2021 International Foundation for Autonomous Agents and Multiagent Systems requirements via User and System Stories (USS); (ii) show how USS (www.ifaamas.org). All rights reserved. 1064 Main Track AAMAS 2021, May 3-7, 2021, Online map to agent concepts in AOSE; (iii) describe a traceability frame- The requirements specification approach described in this paper work with supporting tool; (iv) present a feature-based comparison via User and System Stories is intended to complement the existing of USS to other approaches; and (v) provide a proof-of-concept AOSE methodologies rather than replace any of them. For the pur- evaluation of the above mentioned hypotheses with users from our pose of grounding our work we chose the TDF methodology as it current industry collaborations. is used in the industry project that motivates this work. TDF [15, 16] is the successor to Prometheus [25], a mature and 2 BACKGROUND popular AOSE methodology. A pilot study has shown that TDF sig- In this section we introduce the preliminaries in terms of User nificantly improves comprehension of behaviour models, compared Stories and acceptance criteria as used in agile approaches, and a to UML [18]. The methodology follows 3 phases in an iterative brief overview of TDF and SARL. manner: System specification where the system-level artifacts are identified, namely goals, scenarios, percepts, actions, data, actors 2.1 Agile & User Stories and roles; System architecture where the internals of the system are specified, namely the agents that enact the different rolesand Agile approaches finds their roots in the movement started by the the interactions between them; and Detailed design that defines the Agile Manifesto [2] that defines its core values and principles. A internals of the agents, namely plan diagrams, tactics and internal number of software development life cycles (SDLC) have embraced messages/sub-goals. the fundamental principles, e.g. Scrum [30] and Extreme Program- There are several agent implementation frameworks that support ming [1]. A key value of agile approaches is the close collaboration the implementation of intelligent agent systems, e.g. JACK [34], of the development team with stakeholders. Agile methods always SARL [29], Jadex [28], and Jason [3]. We use SARL in our work, favor and encourage conversations to develop a shared understand- since it is what is currently used in our industry project and the TDF ing over rigid requirement specification documents. A number of design artifacts are readily implemented in SARL (recent work [18] techniques have been proposed to understand the objectives and ex- also used this combination). pectations of the stakeholders (e.g User Interviews, Questionnaires, SARL is a general-purpose agent-oriented system implemen- Story-Writing workshops) [8]. In this context, the most common tation framework that provides the fundamental abstractions to technique to gather and document requirements in agile frame- develop and deploy distributed complex systems. Due to its generic works are User Stories [1]: a brief informal description of a feature and highly extensible architecture, SARL is able to integrate new described from the perspective of a user of the system. concepts and features quickly and has been adopted by a number Writing good User Stories and capturing sufficient detail is still of academic and industrial institutions to develop a wide range of a matter of debate and often requires specialized training. However, applications. Space preclude a more detailed introduction to SARL, there is a general agreement that stories should remain high level which is not required for this paper. For further details see [29]. in the early stages [8, 9]. They are then refined and detailed as they get a higher priority in the project development. 3 APPROACH While there is no single format of User Stories, the most widely In this section we describe our approach to specifying the require- used template is: As (role), I want to (do something), so that (reason). ments of the system via User and System Stories and how they For example, for a bookstore system: As a customer, I want to search translate to agent concepts, resulting in all of the benefits described for books by keywords, so that I can find the book I want.