In search of evidence for model-driven development claims: An experiment on quality, effort, productivity and satisfaction

ContextModel-Driven Development (MDD) is a paradigm that prescribes building conceptual models that abstractly represent the system and generating code from these models through transformation rules. The literature is rife with claims about the benefits of MDD, but they are hardly supported by evidences. ObjectiveThis experimental investigation aims to verify some of the most cited benefits of MDD. MethodWe run an experiment on a small set of classes using student subjects to compare the quality, effort, productivity and satisfaction of traditional development and MDD. The experiment participants built two web applications from scratch, one where the developers implement the code by hand and another using an industrial MDD tool that automatically generates the code from a conceptual model. ResultsOutcomes show that there are no significant differences between both methods with regard to effort, productivity and satisfaction, although quality in MDD is more robust to small variations in problem complexity. We discuss possible explanations for these results. ConclusionsFor small systems and less programming-experienced subjects, MDD does not always yield better results than a traditional method, even regarding effort and productivity. This contradicts some previous statements about MDD advantages. The benefits of developing a system with MDD appear to depend on certain characteristics of the development context.

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

[2]  Oscar Pastor,et al.  Model-driven architecture in practice - a software production environment based on conceptual modeling , 2007 .

[3]  W. Bean Parkinson's Law, and Other Studies in Administration. , 1958 .

[4]  Eugene Miya,et al.  On "Software engineering" , 1985, SOEN.

[5]  Ashley McNeile MDA: The Vision with the Hole? , 2004 .

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

[7]  Tore Dybå,et al.  A systematic review of statistical power in software engineering experiments , 2006, Inf. Softw. Technol..

[8]  Gabor Karsai,et al.  Model-Integrated Development of Cyber-Physical Systems , 2008, SEUS.

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

[10]  Christian Bunse,et al.  Embedded System Construction - Evaluation of Model-Driven and Component-Based Development Approaches , 2008, MoDELS Workshops.

[11]  Yashwant Singh,et al.  Model Driven Architecture: A Perspective , 2009, 2009 IEEE International Advance Computing Conference.

[12]  R. Grissom,et al.  Effect sizes for research: A broad practical approach. , 2005 .

[13]  Antoni Olivé,et al.  Conceptual Schema-Centric Development: A Grand Challenge for Information Systems Research , 2005, CAiSE.

[14]  Naji Habra,et al.  Towards a generic framework for empirical studies of Model-Driven Engineering , 2008 .

[15]  Dietmar Pfahl,et al.  Reporting guidelines for controlled experiments in software engineering , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

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

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

[18]  Beatriz Marín,et al.  Interoperability for model-driven development: Current state and future challenges , 2012, 2012 Sixth International Conference on Research Challenges in Information Science (RCIS).

[19]  Glenn Gamst,et al.  Applied Multivariate Research: Design and Interpretation , 2005 .

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

[21]  María José Escalona Cuaresma,et al.  NDT. A Model-Driven Approach for Web Requirements , 2008, IEEE Transactions on Software Engineering.

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

[23]  Petra Kaufmann,et al.  Experimental And Quasi Experimental Designs For Research , 2016 .

[24]  Daniel Schwabe,et al.  OOHDM-Web: an environment for implementation of hypermedia applications in the WWW , 1999, LINK.

[25]  Thomas O. Meservy,et al.  Transforming software development: an MDA road map , 2005, Computer.

[26]  Marco Brambilla,et al.  WebRatio 5: An Eclipse-Based CASE Tool for Engineering Web Applications , 2007, ICWE.

[27]  Arne Sølvberg,et al.  Understanding quality in conceptual modeling , 1994, IEEE Software.

[28]  Peri L. Tarr,et al.  Model-driven development : The good , the bad , and the ugly & , 2006 .

[29]  Tony Clark,et al.  Model-driven development - Guest editor's introduction , 2003 .

[30]  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.

[31]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[32]  Edgar Erdfelder,et al.  G*Power 3: A flexible statistical power analysis program for the social, behavioral, and biomedical sciences , 2007, Behavior research methods.

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

[34]  Oscar Pastor,et al.  Conceptual-Model Programming: A Manifesto , 2011, Handbook of Conceptual Modeling.

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

[36]  Shane Sendall,et al.  Model Transformation: The Heart and Soul of Model-Driven Software Development , 2003, IEEE Softw..

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

[38]  Miroslaw Staron,et al.  Transitioning from Code-Centric to Model-Driven Industrial Projects: Empirical Studies in Industry and Academia , 2009 .

[39]  Natalia Juristo Juzgado,et al.  Basics of Software Engineering Experimentation , 2010, Springer US.

[40]  C. Sunder,et al.  Model-driven embedded systems design environment for the industrial automation sector , 2008, 2008 6th IEEE International Conference on Industrial Informatics.

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