Effect of Model Based Software Development on Productivity of Enhancement Tasks -- An Industrial Study

Model based software development promises to increase productivity by generating executable code automatically from design/models thereby eliminating the manual coding phase. Although new software development projects have yielded high productivity using model based development, its effect on productivity of maintenance projects involving enhancement tasks are not well researched. In this paper we study the impact of model based development on productivity and quality of maintenance tasks. In our study, we observed 173 enhancement tasks done using model based software development, and 156 enhancement tasks using traditional software development, in six live projects over one year at Robert Bosch Engineering & Business Solutions Ltd., a CMMi level 5 software company. For each of these tasks, we collected data on size, effort taken to complete the task, and rework effort to fix any bugs. We found that the productivity of enhancement tasks executed using model based software development was higher by over 10% as compared to traditional software development. No statistically significant difference was found between the model based and traditional software development for the rework effort suggesting that there is no adverse effect on quality.

[1]  Stefania Gnesi,et al.  Lessons Learnt from the Adoption of Formal Model-Based Development , 2012, NASA Formal Methods.

[2]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[3]  Michel R. V. Chaudron,et al.  The impact of UML modeling on defect density and defect resolution time in a proprietary system , 2013, Empirical Software Engineering.

[4]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[5]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[6]  Thomas Weigert Practical experiences in using model-driven engineering to develop trustworthy computing systems , 2006, IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing (SUTC'06).

[7]  Juha-Pekka Tolvanen,et al.  Domain-Specific Modeling: Enabling Full Code Generation , 2008 .

[8]  Emilia Mendes,et al.  Software productivity measurement using multiple size measures , 2004, IEEE Transactions on Software Engineering.

[9]  Steel T. Huang,et al.  Software productivity measurements , 1990 .

[10]  Alan W. Brown,et al.  Introduction: Models, Modeling, and Model-Driven Architecture (MDA) , 2005, Model-Driven Software Development.

[11]  Roderic Geoffrey Galton Cattell,et al.  Formalization and Automatic Derivation of Code Generators , 1982 .

[12]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

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

[14]  Gabor Karsai,et al.  Model-integrated development of embedded software , 2003, Proc. IEEE.

[15]  Shailey Minocha,et al.  Supporting Scenario-Based Requirements Engineering , 1998, IEEE Trans. Software Eng..

[16]  Damodaram Kamma,et al.  Effective unit-testing in model-based software development , 2014, AST 2014.

[17]  KitchenhamBarbara,et al.  Software Productivity Measurement Using Multiple Size Measures , 2004 .

[18]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[19]  Michel R. V. Chaudron,et al.  How effective is UML modeling ? , 2012, Software & Systems Modeling.

[20]  Norman E. Gibbs,et al.  Software productivity measurement , 1983, AFIPS '83.