Experiences from introducing UML-based development in a large safety-critical project

UML and UML-based development methods have become de facto standards in industry, and there are many claims for the positive effects of modelling object-oriented systems using methods based on UML. However, there is no reported empirical evaluation of UML-based development in large, industrial projects. This paper reports a case study in ABB, a global company with 120,000 employees, conducted to identify immediate benefits as well as difficulties and their causes when introducing UML-based development in large projects. ABB decided to use UML-based development in the company’s system development projects as part of an effort to enable certification according to the IEC 61508 safety standard. A UML-based development method was first applied in a large, international project with 230 system developers, testers and managers. The goal of the project was to build a new version of a safety-critical process control system. Most of the software was embedded. The project members were mostly newcomers to the use of UML. Interviews with 16 system developers and project managers at their sites in Sweden and Norway were conducted to identify the extent to which the introduction of UML-based development had improved their development process. The interviewees had experienced improvements with traceability from requirements to code, design of the code, and development of test cases as well as in communication and documentation. These results thus support claims in the literature regarding improvements that may be obtained through the use of UML. However, the results also show that the positive effects of UML-based development were reduced due to (1) legacy code that it was not feasible to reverse engineer into UML, (2) the distribution of requirements to development teams based on physical units and not on functionality, (3) training that was not particularly adapted to this project and considered too expensive to give to project members not directly involved in development with UML, and (4) a choice of modelling tools with functionality that was not in accordance with the needs of the project. The results from this study should be useful in enabling other UML adopters to have more realistic expectations and a better basis for making project management decisions.

[1]  AgarwalRitu,et al.  Object-oriented modeling with UML , 2003 .

[2]  Daryl Kulak,et al.  Use cases: requirements in context , 2000, SOEN.

[3]  Dov Dori,et al.  The Model Multiplicity Problem: Experimenting with Real-Time Specification Methods , 2000, IEEE Trans. Software Eng..

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

[5]  Keith Phalp,et al.  Replicating the CREWS Use Case Authoring Guidelines Experiment , 2000, Empirical Software Engineering.

[6]  J. Maxwell Understanding and Validity in Qualitative Research , 1992 .

[7]  Alistair Cockburn,et al.  Writing Effective Use Cases , 2000 .

[8]  R. Bell,et al.  IEC 61508: functional safety of electrical/electronic/ programme electronic safety-related systems: overview , 1999 .

[9]  Kendall Scott,et al.  UML distilled - a brief guide to the Standard Object Modeling Language (2. ed.) , 2000, notThenot Addison-Wesley object technology series.

[10]  W BoyerKenneth Advanced use case modeling , 2002 .

[11]  Derek Coleman,et al.  Lessons from the experiences of leading-edge object technology projects in Hewlett-Packard , 1995, OOPSLA.

[12]  Brian Fitzgerald,et al.  The use of systems development methodologies in practice: a field study , 1997, Inf. Syst. J..

[13]  R.G. Pettit Lessons learned applying UML in embedded software systems designs , 2004, Second IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems, 2004. Proceedings..

[14]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[15]  Bente Anda,et al.  Experiences from conducting semi-structured interviews in empirical software engineering research , 2005, 11th IEEE International Software Metrics Symposium (METRICS'05).

[16]  M. Miles,et al.  The Qualitative Researcher's Companion , 2002 .

[17]  Bruce Powel Douglass,et al.  Real Time UML: Advances in the UML for Real-Time Systems (3rd Edition) , 2004 .

[18]  K. Eisenhardt Building theories from case study research , 1989, STUDI ORGANIZZATIVI.

[19]  Amela Karahasanovic,et al.  A survey of controlled experiments in software engineering , 2005, IEEE Transactions on Software Engineering.

[20]  Franz Lehner,et al.  Experimental comparison of coarse-grained concepts in UML, OML, and TOS , 2001, J. Syst. Softw..

[21]  Anselm L. Strauss,et al.  Basics of qualitative research : techniques and procedures for developing grounded theory , 1998 .

[22]  I K SjobergDag,et al.  A Survey of Controlled Experiments in Software Engineering , 2005 .

[23]  Kai T. Hansen Utilizing UML and patterns for safety critical systems , 2002 .

[24]  R. Yin Case Study Research: Design and Methods , 1984 .

[25]  José Javier Dolado,et al.  An Initial Experimental Assessment of the Dynamic Modelling in UML , 2004, Empirical Software Engineering.

[26]  Ritu Agarwal,et al.  Object-oriented modeling with UML: a study of developers' perceptions , 2003, CACM.

[27]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..