SnapMind: A framework to support consistency and validation of model-based requirements in agile development

Two fundamental principles and values of agile methods are customer satisfaction by rapid delivery of useful software and the improvement of the communication process by continuous stakeholders' involvement. But, how to deal with customers' satisfaction and find a better visualization model at the requirements level (which stakeholders can understand and be involved) in an agile development context? Also, how this visualization model enhancement can guarantee consistency between agile requirements artefacts (e.g., user stories and domain models)? Thus, to answer these questions, this paper presents the SnapMind framework. This framework aims to make the requirements modelling process more user-centered, through the definition of a visual requirements language, based on mind maps, model-driven and domain specific language techniques. Moreover, through these techniques, the SnapMind framework focuses on support for consistency between user stories and the domain models using a model animation technique called snapshots. The framework was applied to an industrial case study to investigate its feasibility.

[1]  Brian Hambling,et al.  User Acceptance Testing: A step-by-step guide , 2013 .

[2]  Jeff Sutherland,et al.  Manifesto for Agile Software Development , 2013 .

[3]  Ian Sommerville,et al.  Requirements Engineering: Processes and Techniques , 1998 .

[4]  Anthony Chen,et al.  Visual Models for Software Requirements , 2012 .

[5]  Mike Cohn,et al.  User Stories Applied: For Agile Software Development , 2004 .

[6]  João Baptista da Silva Araújo Júnior Generating feature model from creative requirements using model driven design , 2012, SPLC 2012.

[7]  Klaas Sikkel,et al.  Agile requirements prioritization in large-scale outsourced system projects: An empirical study , 2013, J. Syst. Softw..

[8]  João Araújo,et al.  Generating goal-oriented models from creative requirements using model driven engineering , 2013, 2013 3rd International Workshop on Model-Driven Requirements Engineering (MoDRE).

[9]  Constance L. Heitmeyer,et al.  SCR*: A Toolset for Specifying and Analyzing Software Requirements , 1998, CAV.

[10]  João Araújo,et al.  Transforming creative requirements into conceptual models , 2013, IEEE 7th International Conference on Research Challenges in Information Science (RCIS).

[11]  Alistair G. Sutcliffe,et al.  Experience with user-centred requirements engineering , 2011, Requirements Engineering.

[12]  Karl E. Wiegers,et al.  Software Requirements , 1999 .

[13]  Phillip A. Laplante,et al.  What Every Engineer Should Know about Software Engineering , 2007 .

[14]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[15]  T. Buzan,et al.  The Mind Map Book , 1993 .

[16]  Martin Gogolla,et al.  Validating UML and OCL models in USE by automatic snapshot generation , 2005, Software & Systems Modeling.

[17]  Peri Loucopoulos,et al.  Conceptual Modeling, Databases, and Case: An Integrated View of Information Systems Development , 1992 .

[18]  Scott W. Ambler,et al.  The Object Primer: Agile Model-Driven Development with UML 2.0 , 2004 .

[19]  Denis Silva da Silveira,et al.  A Framework to Diminish the Gap between the Business Specialist and the Software Designer , 2012, 2012 Eighth International Conference on the Quality of Information and Communications Technology.

[20]  Daniel L. Moody,et al.  The “Physics” of Notations: Toward a Scientific Basis for Constructing Visual Notations in Software Engineering , 2009, IEEE Transactions on Software Engineering.

[21]  Martin Glinz,et al.  A lightweight approach to consistency of scenarios and class models , 2000, Proceedings Fourth International Conference on Requirements Engineering. ICRE 2000. (Cat. No.98TB100219).

[22]  Robert B. France,et al.  UMLAnT: an Eclipse plugin for animating and testing UML designs , 2005, eclipse '05.

[23]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[24]  Patrick Heymans,et al.  Visual notation design 2.0: Towards user comprehensible requirements engineering notations , 2013, 2013 21st IEEE International Requirements Engineering Conference (RE).

[25]  Ron Jeffries,et al.  Agile Modeling: Effective Practices for eXtreme Programming and the Unified Process , 2002 .

[26]  Juan de Lara,et al.  Bottom-up meta-modelling: an interactive approach , 2012, MODELS'12.

[27]  Filippo A. Salustri,et al.  Cognitive mapping: Revealing the links between human factors and strategic goals in organizations , 2013 .

[28]  Martin Glinz,et al.  Flexible Sketch-Based Requirements Modeling , 2011, REFSQ.

[29]  Neil Maiden,et al.  Scenarios, Stories, Use Cases: Through the Systems Development Life-Cycle , 2004 .

[30]  Juan de Lara,et al.  Example-driven meta-model development , 2015, Software & Systems Modeling.

[31]  R. Kitchin,et al.  Cognitive maps: What are they and why study them? , 1994 .

[32]  Martin Fowler,et al.  Domain-Specific Languages , 2010, The Addison-Wesley signature series.

[33]  Tony Clark Model based functional testing using pattern directed filmstrips , 2009, 2009 ICSE Workshop on Automation of Software Test.

[34]  T.L.J. Ferris,et al.  Participatory IT Design: Designing for Business and Workplace Realities , 2005, IEEE Transactions on Professional Communication.

[35]  Mark Rouncefield,et al.  Concept mapping as a means of requirements tracing , 2010, 2010 Third International Workshop on Managing Requirements Knowledge.

[36]  Indrakshi Ray,et al.  Systematic Scenario-Based Analysis of UML Design Class Models , 2012, 2012 IEEE 17th International Conference on Engineering of Complex Computer Systems.

[37]  Dean Leffingwell,et al.  Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise , 2011 .

[38]  Martin Gogolla,et al.  USE: A UML-based specification environment for validating UML and OCL , 2007, Sci. Comput. Program..

[39]  Patrick Heymans,et al.  Improving the Effectiveness of Visual Representations in Requirements Engineering: An Evaluation of i* Visual Syntax , 2009, 2009 17th IEEE International Requirements Engineering Conference.

[40]  Vito Veneziano,et al.  Mind-mapping: An effective technique to facilitate requirements engineering in agile software development , 2011, 14th International Conference on Computer and Information Technology (ICCIT 2011).

[41]  Michal Antkiewicz,et al.  Example-Driven Modeling: Model = Abstractions + Examples , 2013, 2013 35th International Conference on Software Engineering (ICSE).