A guide to agile development of interactive software with a "User Objectives"-driven methodology

This paper presents the InterMod methodology. By combining the widely accepted Agile Methods, Model-Driven Developments and User-Centred Design it allows us to develop high-quality interactive applications. As a main characteristic, it plans and organises the software project as a series of iterations that are guided by the User Objectives in an agile and user-centred manner. At each iteration, the software development work can be distributed to different teams according to some developmental and integration activities. Each activity is driven by models that are validated by a multidisciplinary team composed of developers and users. The requirements are incrementally collected and formalised by means of models based on user-centred design. Besides, the Semantically Enriched Human-Computer Interaction model is proposed to speed up project validation. This model enriches a human-computer interaction model with some visual characteristics and the application semantic. Thus, the enriched model provides enough information to generate prototypes so users and developers can easily validate this model. Diagram project is a real case study that is used to illustrate the application of the InterMod methodology through the whole paper.

[1]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[2]  Carolyn Snyder,et al.  Paper Prototyping: The Fast and Easy Way to Design and Refine User Interfaces , 2003 .

[3]  Scott W. Ambler,et al.  The Object Primer: Agile Model–Driven Development (AMDD) , 2004 .

[4]  Donald A. Norman,et al.  The invisible computer , 1998 .

[5]  A. van Lamsweerde Goal-oriented requirements enginering: a roundtrip from research to practice [enginering read engineering] , 2004 .

[6]  Nigel Bevan,et al.  Quality in use: Meeting user needs for quality , 1999, J. Syst. Softw..

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

[8]  Donald A. Norman,et al.  Why doing user observations first is wrong , 2006, INTR.

[9]  Jennifer Ferreira,et al.  Interaction Design and Agile Development: a Real World Perspective , 2007 .

[10]  K. D. Duncan,et al.  TASK ANALYSIS AND TRAINING DESIGN. , 1967 .

[11]  David Brown,et al.  Model-driven systems development , 2006, IEEE Engineering Management Review.

[12]  Larry L. Constantine,et al.  Software for Use - A Practical Guide to the Models and Methods of Usage-Centered Design , 1999 .

[13]  Evans,et al.  Domain-driven design , 2003 .

[14]  Pete McBreen,et al.  Questioning Extreme Programming , 2002 .

[15]  Angel R. Puerta,et al.  A Model-Based Interface Development Environment , 1997, IEEE Softw..

[16]  Jakob Nielsen,et al.  Usability engineering , 1997, The Computer Science and Engineering Handbook.

[17]  Benjamin Michotte,et al.  USIXML: A Language Supporting Multi-path Development of User Interfaces , 2004, EHCI/DS-VIS.

[18]  Steve R. Palmer,et al.  A Practical Guide to Feature-Driven Development , 2002 .

[19]  Begoña Losada,et al.  The InterMod Methodology: An Interface Engineering Process Linked with Software Engineering Stages , 2007, Interacción.

[20]  Fabio Paternò Model-Based Design and Evaluation of Interactive Applications , 2000 .

[21]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[22]  Alistair Cockburn,et al.  Agile Software Development: The Business of Innovation , 2001, Computer.

[23]  Craig Larman,et al.  Agile and Iterative Development: A Manager's Guide , 2003 .

[24]  Alistair Cockburn,et al.  Agile Software Development , 2001 .

[25]  Donald A. Norman,et al.  User-centered systems design , 1986 .

[26]  W. Buxton Human-Computer Interaction , 1988, Springer Berlin Heidelberg.

[27]  Daniel Robey,et al.  Traditional, iterative, and component-based development: A social analysis of software development paradigms , 2001, Inf. Technol. Manag..

[28]  Alan Cooper,et al.  About Face 3: the essentials of interaction design , 1995 .

[29]  Donald A. Norman,et al.  User Centered System Design , 1986 .

[30]  Axel van Lamsweerde,et al.  Goal-oriented requirements enginering: a roundtrip from research to practice [enginering read engineering] , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[31]  Deborah J. Mayhew,et al.  The usability engineering lifecycle , 1999, CHI Extended Abstracts.

[32]  T.L.J. Ferris,et al.  User-Centered Design: An Integrated Approach , 2004, IEEE Transactions on Professional Communication.

[33]  Toni Granollers,et al.  New Trends on Human-Computer Interaction: Research, Development, New Tools and Methods , 2009 .

[34]  Orit Hazzan,et al.  The Agile Manifesto , 2014 .

[35]  Peter Forbrig,et al.  Integration of usability evaluation and model-based software development , 2009, Adv. Eng. Softw..

[36]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[37]  Scott Isensee,et al.  User-Centered Design: An Integrated Approach with Cdrom , 2001 .

[38]  Gustavo Rossi,et al.  Bridging Test and Model-Driven Approaches in Web Engineering , 2009, ICWE.