Exploring Costs and Benefits of Using UML on Maintenance: Preliminary Findings of a Case Study in a Large IT Department

UML has become the de-facto standard for graphical modelling of software. One source of resistance to model-based development in software organizations is the perception that the use of UML is not cost-effective. It is important to study what costs and benefits are experienced in industrial use, and in what context. In this paper we pay special attention to the maintenance phase, because maintenance consumes a significant part of software project resources. This paper describes a case study in an industrial context: the software department of a large multinational company. This case study presents qualitative analysis based on 2 0 out of 36 interviews performed with employees who played different roles in the company and provided different views about the use of UML. The results revealed that the investment needed for using UML in a company is relatively small and that it is mostly related to tooling and training. The principal use of UML diagrams is communication. The use of UML diagrams is also found to be related to fewer software defects. The costs of UML use should not be considered as a high investment. The paybacks of using UML are a better understanding of the problem domain, improved communication, reduction of software defects, improvement in software quality or reduction of software maintenance effort.

[1]  Giuseppe Scanniello,et al.  Investigating the Role of UML in the Software Modeling and Maintenance - A Preliminary Industrial Survey , 2010, ICEIS.

[2]  Siw Elisabeth Hove,et al.  The impact of UML documentation on software maintenance: an experimental evaluation , 2006, IEEE Transactions on Software Engineering.

[3]  Giuseppe Scanniello,et al.  On the impact of UML analysis models on source-code comprehensibility and modifiability , 2014, ACM Trans. Softw. Eng. Methodol..

[4]  Giuseppe Scanniello,et al.  Does the combined use of class and sequence diagrams improve the source code comprehension?: results from a controlled experiment , 2012, EESSMod '12.

[5]  Michel R. V. Chaudron,et al.  Does the Level of Detail of UML Models Affect the Maintainability of Source Code? , 2011, EESSMod@MoDELS.

[6]  Michel R. V. Chaudron,et al.  Empirical studies concerning the maintenance of UML diagrams and their use in the maintenance of code: A systematic mapping study , 2013, Inf. Softw. Technol..

[7]  Jeffrey Parsons,et al.  How UML is used , 2006, CACM.

[8]  Austen Rainer,et al.  Case Study Research in Software Engineering - Guidelines and Examples , 2012 .

[9]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[10]  Lionel C. Briand,et al.  A Realistic Empirical Evaluation of the Costs and Benefits of UML in Software Maintenance , 2008, IEEE Transactions on Software Engineering.

[11]  Isabel M. Ramos,et al.  Are forward designed or reverse-engineered UML diagrams more helpful for code maintenance?: a controlled experiment , 2013, EASE '13.

[12]  Danilo Caivano,et al.  Does the level of detail of UML diagrams affect the maintainability of source code?: a family of experiments , 2016, Empirical Software Engineering.