Javier Cánovas presents his work on the application of MDE in Small Software Enterprises. Enter Javier.
Despite their promises, MDE adoption by the industry is still limited. There are a growing number of companies which have successfully applied MDE, but “its use by the industry is still an exception rather the norm”. Indeed, the industrial adoption of a software innovation is usually not immediate, but a period of time (more than two decades in the case of object technology) is required to reach the needed conditions: a stable and mature foundation, usable and robust tools, skilled professionals and companies aware of the benefits of the new technology. We believe that three main actions must be carried out for MDE to be successful: more research and development effort to overcome the technical challenges; including MDE in the University curricula; and projects of Transfer of Technology (ToT) intended to increase the awareness of industry, as well as training software developers in the model-based style of thinking.
While several experience reports about MDE adoption on large companies can be found, the number of experiences in small companies is scarce. Both large and small companies face similar software engineering challenges, but the solutions have to be adapted to the size and nature of the company. For instance, small companies are more responsive and flexible, but they do not typically have enough resources to build custom, in-house solutions. Furthermore, it is not reasonable to convert the code-centric development style of a small company into a model-centric style, since the cost is high, and the benefits have not been clearly assessed yet. Instead, a better alternative is to use MDE techniques to automate certain development problems as a means to enhance the company productivity. In this way, the adoption of MDE in a small company has to be different from a large one.
In this work we report on our practical experience in two ToT projects. Unlike most experience reports, we have dealt with two small software companies: Sinergia with around 100 employees, with which we carried out a modernization project in the context of a migration of Oracle Forms applications to the Java platform, and Visualtis with 12 employees (at the time of the project) which built a generative architecture to generate CRUD (Create-Read-Update-Delete) forms using a language specially adapted to the task (i.e., they defined a Domain-Specific Language). The following figure briefly illustrate these projects:
The analysis of these experiences suggest that MDE has the potential to make small companies more competitive, because it enables them to build powerful automation tools at modest cost. By reporting on these projects, our hope is to give insights that may help other ToT projects aiming at introducing MDE to small software companies. To this end, we introduce some factors that affect the success of this kind of projects, and provide an assessment of both projects on the light of these factors. The assessment is based on qualitative data about the projects, and quantitative data in the form of metrics. We also present some lessons learned. In addition, the description of each pilot project may serve as an inspiration for small companies that want to begin with MDE on their own, since they are prototypical small medium projects that can be addressed without spending much resources and pay off rapidly. We will also present our approach for training companies in MDE, and we contribute the teaching material (http://mde-training.com) so that it can be used or adapted by other ToT projects.
Jesús Sánchez Cuadrado, Javier Luis Cánovas Izquierdo and Jesús García Molina: Applying Model-Driven Engineering in Small Software Enterprises. Science of Computer Programming. Available online 9 May 2013 (Free access link)