Evaluating the Benefits of Model-Driven Development

Researchers have been evaluating the benefits of Model-Driven Development (MDD) for more than a decade now. Although some works suggest that MDD decreases development time, other works limit MDD benefits to academic exercises and to developers without experience. To clarify the benefits of MDD, we present the results of our experiment, which compares MDD and Code-centric Development (CcD) in terms of correctness, efficiency, and satisfaction. Our experiment achieves fidelity to real-world settings because the tasks are taken from real-world video game development, and the subjects use domain frameworks as they are used in real-world developments. Our results challenge previous ideas that limit the benefits of MDD to academic exercises and to developers without experience. Furthermore, our results also suggest that understanding the benefits of MDD might require researchers to rethink their experiments to include the social part of software development.

[1]  Luís Ferreira Pires,et al.  A Quantitative Analysis of Model-Driven Code Generation through Software Experimentation , 2013, CAiSE.

[2]  Brady T. West,et al.  Linear Mixed Models: A Practical Guide Using Statistical Software , 2006 .

[3]  Fred D. Davis Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology , 1989, MIS Q..

[4]  PastorOscar,et al.  In search of evidence for model-driven development claims , 2015 .

[5]  Miroslaw Staron,et al.  Distribution of Effort among Software Development Artefacts: An Initial Case Study , 2010, BMMDS/EMMSAD.

[6]  Shinichi Nakagawa,et al.  A general and simple method for obtaining R2 from generalized linear mixed‐effects models , 2013 .

[7]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[8]  Burak Turhan,et al.  A Controlled Experiment with Novice Developers on the Impact of Task Description Granularity on Software Quality in Test-Driven Development , 2021, IEEE Transactions on Software Engineering.

[9]  Norman Wilde,et al.  A comparison of methods for locating features in legacy software , 2003, J. Syst. Softw..

[10]  Cristina Cachero,et al.  MDD vs. traditional software development: A practitioner's subjective perspective , 2013, Inf. Softw. Technol..

[11]  Beatriz Marín,et al.  Evaluating Model-Driven Development Claims with Respect to Quality: A Family of Experiments , 2018, IEEE Transactions on Software Engineering.

[12]  Frank Weil,et al.  Model-Driven engineering in a large industrial context — motorola case study , 2005, MoDELS'05.

[13]  Oscar Pastor,et al.  In search of evidence for model-driven development claims: An experiment on quality, effort, productivity and satisfaction , 2015, Inf. Softw. Technol..

[14]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[15]  Bente Anda,et al.  A case study on the application of UML in legacy development , 2006, ISESE '06.

[16]  Steffen Becker,et al.  A Case Study on Model-Driven and Conventional Software Development: The palladio editor , 2007, Software Engineering.

[17]  Slinger Jansen,et al.  A Comparative Case Study of Model Driven Development vs Traditional Development : The Tortoise or the Hare , 2010 .

[18]  Mark Rouncefield,et al.  Model-driven engineering practices in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[19]  Daniel L. Moody,et al.  The method evaluation model: a theoretical model for validating information systems design methods , 2003, ECIS.

[20]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[21]  Victor R. Basili,et al.  The TAME Project: Towards Improvement-Oriented Software Environments , 1988, IEEE Trans. Software Eng..

[22]  Michel R. V. Chaudron,et al.  Empirical Investigations of Model Size, Complexity and Effort in a Large Scale, Distributed Model Driven Development Process , 2009, 2009 35th Euromicro Conference on Software Engineering and Advanced Applications.