A Framework to Diminish the Gap between the Business Specialist and the Software Designer Fernando Wanderley Programa de Pós-Graduação em Engenharia da Computação Universidade de Pernambuco - UPE Pernambuco, Brasil fjaw@ecomp.poli.br Denis Silva da Silveria Programa de Pós-Graduação em Administração - PROPAD Departamento de Ciências Administrativas - DCA Universidade Federal de Pernambuco, UFPE dsilveira@ufpe.br Abstract - Requirements Engineering establishes the process for defining requirements as one in which elicitation, modeling and analysis are tasks which must be carried out. This process should involve different stakeholders and their different viewpoints. Among these stakeholders, there is the software designer, responsible for creating models based on the information gathered by business specialists. However, this communication channel may create some “noise” that leads to information being lost. This loss produces a semantic gap between what is desired and what will be developed. The semantic gap is characterized by inconsistencies in the requirements represented by scenarios user stories in a behavior-driven context and by the conceptual model. This paper presents an interactive approach to the agile requirements modeling, thus fostering greater consistency between the artifacts of the scenarios and the conceptual model. This consistency is ensured by using a mind model specification which will serve as a basis for transforming the definitions of the scenario and generating a conceptual model represented by a UML class diagram. The mind model represents the main role of this approach, and functions as a bond that represents the business entities, thus enabling the requirements to be more consistent with the reality of the business. Keywords-component; Agile Modeling Requirements, Behaviour Driven Development, UML, Mind Map Modeling, Domain Model I. INTRODUCTION According to a study conducted by the Standish Group [1], about 66% of software programs did not meet users’ expectations with regard to their functionalities and behaviors. In 1987, Brooks [2] pointed out that the most difficult part in building a software program is to understand, comprehend and decide precisely what will be built. However, no other part of the work is as hard as establishing communication that is aligned between the business specialist and the software designer that can consolidate the technical details of the business in one and the same model of requirements. No activity of the software development process generates so much loss as the Requirements Specification if this is conducted incorrectly [3, 4]. According to Evans [18], business experts talk to analysts, who should understand, model and pass the specification to the programmers. However, this process fails, because there is a lack of feedback on the common understanding among these stakeholders. The responsibility of designers is to create models based on information conveyed to them by business specialists. But this channel of communication generates noises, dispensing in a large majority of cases with details on the business. In other words, in the process of communication between the domain expert and the software designer, information normally gets lost. This loss produces a semantic gap between what is wanted and what will actually be produced. The semantic gap is characterized by inconsistencies between the artifacts of requirements, here represented by scenarios (User Stories), within a context of a behavior-driven process, and the conceptual model of information. Given the foregoing, this paper puts forward an interactive approach to the agile requirements modeling that fosters greater consistency among the artifacts of scenarios, scripts by business specialists, and the conceptual model of information. This article sets out to increase this consistency by transforming the mind models of the domain into a conceptual model of information, represented by the UML (Unified Modeling Language) class diagram, and of the generation of a vocabulary extracted from this conceptual model to support the business specialist in defining the scenarios. In other words, the mind model will play a central role in this approach, as it acts as a unifier in representing the business entities, thus enabling a transformation that is able to recover inferences and predictions that are compatible with what was really modeled by the business specialist. This article is structured into the following sections: Section II below, addresses the theoretical framework needed to understand the approach proposed, Section III presents the details of the framework proposed; in Section IV a case study is presented that gives a practical illustration of the benefits expected from such an approach, and finally Section V lists conclusions and suggests further related studies that could usefully be undertaken. II. THEORETICAL FOUNDATION A. Mind Map Modeling A Mind Map is a diagram used to connect words, ideas and concepts to a central idea or concept, which is used to view, classify and structure concepts and generate new ideas [19]. It is similar to a semantic network, or a cognitive map. However, there are no restrictions on the types of connections used (Figure 1). In a mind map, the elements are ranked intuitively, in accordance with the importance of the concepts related to a domain, which are then organized into groupings, branches or areas. In other words, a mind map is a radial diagram that by using vocabulary (keywords), distributed in a certain order and