Many potentially breakthrough ideas fall into the so-called technological “valley of death” due to a gap between academic research and industrial commercialization. This is a missed opportunity for economic and social progress, so I decided to write about it. After just three months with PwC, here is my first contribution to our Digital Transformation blog: five actions for academia and industry to bridge the gap and co-create innovation.
Model-driven engineering (MDE)1 is a branch of software engineering that aims to improve the effectiveness and efficiency of software development by shifting the paradigm from code-centric to model-centric.
I have been in the MDE community on and off for about 15 years. My supervisor at the University of L’Aquila, Alfonso Pierantonio, introduced me to MDE in 2003. Back then, the approach was still in its infancy and was not even called model-driven engineering. I wrote my Bachelor thesis in 2003 on code generation based on Unified Modeling Language (UML), and my Master thesis in 2006 on model versioning.
During my four years as a PhD candidate at the University of Bergen, I researched formal aspects of model versioning and multi-level modeling, and successfully defended my PhD thesis in 2011. During my following four+ years as a researcher at SINTEF, I conducted applied research on domain-specific languages and models@run-time for automating cloud management platforms. I also compared two-level and multi-level techniques to modeling cloud application topologies. My work has led to several publications in journals and conference proceedings.
Eventually, I decided to come back to the business world, with the aim of transferring these research results to industry. As an advisor and manager at Norway’s largest IT organizations, I have worked with architectures and solutions as well as trained colleagues and clients. While I did not expect MDE to be widespread, I did expect UML and domain-specific languages (DSLs) to be an integral part of these activities. Unfortunately, I have been disappointed.
- Some researchers in the field would argue that this approach is not an engineering discipline and that it should be called model-driven development (MDD) instead. The Oxford English Dictionary defines engineering as “the branch of science and technology concerned with the design, building, and use of engines, machines, and structures.” Considering that software and data are in fact structures, I am perfectly comfortable with the term model-driven engineering, and I will not distinguish between MDE and MDD. ↩
Today I have had my last day at EVRY. The picture shows a glimpse of my farewell gathering, where I presented the history of chocolate-hazelnut spreads. Because sometimes, you have to have fun at work!
It has been great getting to know my colleagues during my time with the company. While I am excited about the new opportunity ahead of me, leaving excellent working relationships is bittersweet.
In two weeks I will start as a Senior Manager in the Business Technology group at PwC Consulting in Oslo. I look forward to learning more about new domains, about management, and about myself.
As an ex-researcher turned advisor, I still consider several practices of the corporate world as bizarre. One of them caught my attention as soon as I started in my new position this year: hyper-inflated job titles1 and acronyms. Here is a list of my favourites:
- Key Account Manager (KAM)
- Personal Assistant (PA)
- Subject Matter Expert (SME)
- Vice President (VP)
George Carlin would probably have considered this list as “tortured modern language designed to soften reality, make people feel good, and in general dress things up a little.” 🙂 In this post, I aim to show how you could reduce the number of words in these titles and make a better use of the lingua franca we all agreed on.
- For simplicity, I will not distinguish between titles, ranks, and roles. ↩