Adoption of Software Modeling Tools: Modeler Experience, Barriers and Benefits
Loading...
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Université d'Ottawa / University of Ottawa
Abstract
By providing an abstract view of a complex system, simplifying communication among stakeholders, and generating reliable code, software modeling has been shown to be able to benefit many stakeholders. However, there are ongoing challenges regarding the adoption of modeling.
We present a series of studies about the attitudes that software developers have towards software modeling, and their modeling experience (MX), with some recommendations for improvements.
We followed a multi-method approach, including literature reviews, an interview-based grounded theory study and two surveys. These methods were to some extent iterative, and they informed each other. The earliest literature reviews informed the surveys and the interview study, which in turn informed the later survey and further literature reviews as new themes evolved.
The outcomes of our work can be grouped into three groups of themes. The first group we call mindset barriers. The themes in this group include tooling and support concerns, challenges from modern work practices, behavioural resistance, lack of perceived value and knowledge deficiency. Each of these themes leads us to make various recommendations to modeling tool developers, development managers, and developers themselves. The second group of themes are the perceptions of the benefits of modeling, including improved communication, improved development and improved information representation. These themes can be used to encourage tool developers to focus on the benefits, and to encourage general developers and their management to adopt modeling practices. The third group of themes examines the current practices and utilization of software modeling among developers.
For each of the main themes, we provide both qualitative data, particularly quotations from the interviews and survey comments, and quantitative data. The quantitative data allows us to distinguish how opinions differ depending on the types of modeling tools used, the experience level of developers and other factors.
