Skip to content

Model Driven Engineering: the next step in software development

The biggest challenge in developing software for systems is communication and coordination between all disciplines and everyone involved in the process.Model Driven Engineering(MDE) is a relatively new methodology that allows for complete synergy between all parties. A next step in software development that is not entirely new, but for which the time now seems ripe. Operations Manager atICT Group, Ronald Wiericx and Senior Software Designer, Olaf Donk are pioneers with MDE.

"The original approach to developing systems is to create a design in which the customers specify the requirements," Olaf explains. "The designer creates a design of the requirements and the programmer develops the code. But each discipline speaks a different language and often the result is not what other stakeholders are focused on. In this process, all parties involved make a lot of assumptions that may ultimately prove to be incorrect."

"This so-calledwaterfall method is a very linear way of developing software and takes a lot of time," Olaf continues. "Right now, many companies are already working in a much more agile way. There are more delivery and testing moments. But it is still a very traditional way of developing systems".

Working on a central model

"When applying MDE, we all start with the same starting point," Ronald explains. "The designer, the developers and the users all work on the same model. A model that is written in a language that all parties involved understand." Olaf adds, "a language that is domain-specific. It's a lot easier to have in-depth discussions if you know what you're talking about and if you know where you want to go. The methodology allows you to analyze more aspects before you actually build the system. It allows you to generate code from the model. Changes in the model will propagate easily in the code. The approach enables a more efficient way of testing the software. This complete development cycle results in an accurate system that fits or exceeds customer expectations.

The market seems to be ready to apply Model Driven Engineering ...

"MDE is not incredibly new, but right now the market seems ready to take over," says Ronald. "When I learned about it seven years ago, I immediately believed in it, but today it's still not widely used. That's probably mostly because this approach is not what generations of developers have learned. They learned to program code, and that's what they put into practice and what they are very good at. These days, people are trained differently. Recently we hired some professionals fresh out of school who are used to thinking in models and they love MDE."

Different skills required for Model Driven Engineering

"Other reasons why the market now seems ready to adopt MDE is that years ago MDE tooling simply wasn't attractive," adds Olaf. "Today there are many tools and, in addition, computing power has increased. Computers are faster and offer more capacity". Olaf agrees that the different way of working is the main barrier to rapid adoption of MDE. "Applying Model Driven Engineering requires a different way of thinking. Getting people to work on a good model and validate it, together with other disciplines, is a totally different approach and requires different skills. Soft skills and more abstract thinking are becoming increasingly important for developers."

Invest in refining the central model

Although MDE is increasingly being adopted by companies, Ronald and Olaf expect it will be some time before the approach is widely adopted. "You spend a lot more time tuning the requirements and the design phase and a lot less time on implementation and testing." Olaf explains. "Once you have perfected the model, you need much less manual labor. Moreover, the MDE approach forces you to be more complete on requirements aspects, in a language that all disciplines involved understand. It will lead to efficiency in the long run, but it takes time to apply MDE. It requires all disciplines to work in a different way. The first few projects you do with MDE are serious investments for a company."

Thinking about the essentials during a team effort

Olaf regularly puts this new way of working into practice. For example, he recently worked on an MDE project for a large company in the Brainport Eindhoven region that aimed to make some of the machine the company produces more sustainable. "At the moment I spend 1.5 days of my time enthusing others and spend about two days developing models, the rest of my time is spent on research. What I like about the way the MDE approach has changed my role is that you work more intensely with other roles. It has really become a team effort, interaction is key and you work closely together. On top of that, I like puzzles. When you use MDE, you really think about the essentials."

"A long time ago, I learned to develop in the traditional way," he says. "But somewhere along the way I realized that it's just not efficient and it's time for a change. You have to align the process and everyone involved. And that's what you do with MDE."

A real transition in the market is yet to come

"In my role as operations manager, I am less involved in technology than Olaf," continues Ronald. "ICT is building its network with companies that are also interested in the MDE methodology. You have to work together. Software engineers with the right profile are scarce and need to be trained. At ICT Groep, I hire developers who work with MDE and make sure they are properly trained. Something that is not easy for MDE because there are currently only a few parties that are properly trained. MDE education is still in its infancy".

"The ICT Group is investing a lot in Model Driven Engineering," says Ronald, "but it is still nascent; the real transition in the market is yet to come. That's why you see companies starting with small pilot projects alongside their regular processes and gradually expanding the approach. Nevertheless, I believe that MDE will be the future methodology for software development."

HTSC

HTSC

The High Tech Software Cluster is a partnership of over 30 innovative software companies, research organizations and educational institutions that support you in making the digitization of your business affordable and practical.

Read more
Sign up for our newsletter and receive updates.