Evaluating the Impact of a Model-Driven Web Engineering Approach on the Productivity and the Satisfaction of Software Development Teams
BACKGROUND: Model-Driven Engineering claims a positive impact on software productivity and satisfaction. However, few efforts have been made to collect evidences that assess its true benefits and limitations.
OBJECTIVE: To compare the productivity and satisfaction of junior Web developers during the development of the business layer of a Web 2.0 Application when using either a code-centric, a model-based (UML) or a Model-Driven Engineering approach (OOH4RIA).
RESEARCH METHOD: We designed a full factorial, intra-subject experiment in which 26 subjects, divided into five groups, were asked to develop the same three modules of a Web application, each one using a different method. We measured their productivity and satisfaction with each approach.
RESULTS: The use of Model-Driven Engineering practices seems to significantly increase both productivity and satisfaction of junior Web developers, regardless of the particular application. However, modeling activities that are not accompanied by a strong generation environment make productivity and satisfaction decrease below code-centric practices. Further experimentation is needed to be able to generalize the results to a different population, different languages and tools, different domains and different application sizes.
KeywordsSoftware Development Process Software Development Team Model Drive Development Data Access Object Satisfaction Hypothesis
- 1.CMU/SEI: CMMI Product Development Team, CMMI for Development verion 1.2 (2006)Google Scholar
- 3.Fowler, M.: UML distilled: a brief guide to the standard object modeling language, 3rd edn. Addison-Wesley Longman Publishing Co., Inc., Boston (2004)Google Scholar
- 4.Kleppe, A.G., Warmer, J., Bast, W.: MDA explained: the model driven architecture: practice and promise. Addison-Wesley Longman Publishing Co., Inc., Boston (2003)Google Scholar
- 7.Abrahão, S., Iborra, E., Vanderdonckt, J.: Usability evaluation of user interfaces generated with a model-driven architecture tool. Maturing Usability, 3–32 (2008)Google Scholar
- 9.Heijstek, W., Chaudron, M.R.V.: Empirical investigations of model size, complexity and effort in a large scale, distributed model driven development process. In: 35th Euromicro Conference on Software Engineering and Advanced Applications, SEAA 2009, pp. 113–120. IEEE (2009)Google Scholar
- 10.Mohagheghi, P.: An Approach for Empirical Evaluation of Model-Driven Engineering in Multiple Dimensions. In: C2M:EEMDD 2010 Workshop- from Code Centric to Model Centric: Evaluating the Effectiveness of MDD, pp. 6–17. CEA LIST Publication (2010)Google Scholar
- 16.Afonso, M., Vogel, R., Teixeira, J.: From code centric to model centric software engineering: practical case study of MDD infusion in a systems integration company (2006)Google Scholar
- 17.Krogmann, K., Becker, S.: A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor. Software Engineering, 169–176 (2007)Google Scholar
- 18.Staron, M.: Transitioning from code-centric to model-driven industrial projects–empirical studies in industry and academia. Model Driven Software Development: Integrating Quality Assurance (2008)Google Scholar
- 19.Kapteijns, T., Jansen, S., Brinkkemper, S., Houët, H., Barendse, R.: A Comparative Case Study of Model Driven Development vs Traditional Development: The Tortoise or the Hare. From code centric to model centric software engineering: Practices, Implications and ROI, 22 (2009)Google Scholar
- 20.Mellegård, N., Staron, M.: Distribution of Effort among Software Development Artefacts: An Initial Case Study. In: Bider, I., Halpin, T., Krogstie, J., Nurcan, S., Proper, E., Schmidt, R., Ukor, R. (eds.) BPMDS 2010 and EMMSAD 2010. LNBIP, vol. 50, pp. 234–246. Springer, Heidelberg (2010)CrossRefGoogle Scholar
- 21.Panach, J.: Incorporación de mecanismos de usabilidad en un entorno de producción de software dirigido por modelos. Tesis doctotal, Universidad Politécnica de Valencia (2010)Google Scholar
- 23.Perry, D.E., Porter, A.A., Votta, L.G.: Empirical studies of software engineering: a roadmap. In: Proceedings of the Conference on the Future of Software Engineering, pp. 345–355. ACM (2000)Google Scholar
- 24.Ambler, S.: Agile Modeling: Effective Practices for eXtreme Programming and the Unified Process. Wiley (2002)Google Scholar
- 25.Kruchten, P.: The rational unified process: an introduction. Addison-Wesley Professional (2004)Google Scholar
- 27.Montgomery, D.C.: Design and analysis of experiments. John Wiley & Sons Inc. (2008)Google Scholar
- 28.Plonsky, M.: Psychological Statistics (2009)Google Scholar
- 29.Gollapudi, K.: Function points or lines of code?–an insight. Global Microsoft Business Unit, Wipro Technologies (2004)Google Scholar
- 30.Seato: Counting Lines of Code in C# (2004)Google Scholar
- 31.SPSS Inc. an IBM CompanyHeadquarters: PASW Statistics 18 - Content Guide (2009)Google Scholar
- 33.Cook, T.D., Campbell, D.T., Day, A.: Quasi-experimentation: Design & analysis issues for field settings. Houghton Mifflin, Boston (1979)Google Scholar