User:Kevinlano/sandbox

Agile Model-driven Engineering
Agile methods have become a widely-used software development approach across many industry sectors, with established benefits in terms of increased responsiveness to change and decreased time to market. Agile practices emphasise lightweight and iterative development, designed to deliver value to customers quickly.

The model-driven approach to software development (MDE) originated at about the same time as Agile, in the late 1990's, and has been most widely utilised in high-integrity domains such as vehicle control systems and aerospace. It has the benefits of a rigorous and systematic approach to software construction, based on models which represent the key concepts of the application.

Because Agile and MDE both have attractive features, the idea arose of producing an integration of the two approaches, in order to gain the advantages of both.

The concept of combining Agile and MDE has therefore been considered by researchers and practitioners from 2002 onwards, resulting in new integrated methods, and tools and industrial applications. Two research teams at European universities specialise in the topic, and major companies such as Motorola and Volvo have adopted Agile MDE approaches.


 * 1) Early Agile MDE approaches 2000-2009
 * 2) Advances and industrial application 2010-2020
 * 3) Current status

Early Agile MDE approaches 2000-2009
One of the first attempts to combine Agile and MDE was Scott Ambler's 'Agile modelling' approach in 2002. This attempted to reconcile the least plan-based Agile approach, XP, with the heavyweight Rational Unified Process for UML-based MDE. Another approach was Stephen Mellor's 'Agile MDA' method, which focussed on using MDE models as executable artefacts, to which agile techniques could be applied in the same manner as to conventional programs. This line of work has continued with the definition of an executable variant, fUML, of the Unified Modeling Language.

Advances and industrial application 2010-2020
More detailed and specific Agile MDE approaches began to emerge from industrial experience with major projects, in telecoms, business systems, Web applications and automotive systems. The MDD-SLAP method of integrates a Scrum-based agile approach with a V-model MDE process for the construction of telecoms systems. The method of introduced 'meta-sprints' to organise activities and artefacts - such as business-level models - which endure beyond the scope of individual sprints. In the automotive sector, the industry-standard AUTOSAR method combines aspects of MDE and Agile development, and has been utilised by several major companies Agile MDE approaches have also been utilised in aerospace systems and financial systems and

An important tendency that can be observed in the application-based work was to utilise relatively small and lightweight domain-specific modelling languages (DSLs) instead of complex UML modelling notations. This choice has an impact in reducing the complexity and costs of tooling for modelling support, and hence in increasing agility.

Surveys of Agile MDE also began to appear, for example and together with books proposing specific Agile MDE methods

Tools supporting agile modelling also appeared, such as Simulink and AgileUML.

Current status
In recent years, two significant research directions have appeared in software development, which have particular implications for Agile MDE: (i) the increasing use of machine learning (ML) to automate software development steps such as requirements analysis and the construction of model transformations:, ; (ii) an increasing emphasis on 'low code' approaches minimising the amount of manual coding required to build an application. These low code approaches usually involve a machine-learning element, such as, and. Potentially, such approaches could be applied to accelerate software modelling and reduce the amount of specialised skills necessary to use MDE, which is one of the main obstacles to MDE adoption, whether agile or plan-based.