Blogs
Categories
- Development (17)
- Duurzaamheid (4)
- Enterprise Architecture (60)
- Alignment (15)
- Archimate (7)
- BPM (4)
- EDA (1)
- Governance (19)
- Leadership (20)
- MDA (7)
- Modeling (19)
- SaaS (3)
- SOA (5)
- TOGAF (4)
- ViaNovaArchitectura (3)
- Web 2.0 (1)
- General (76)
- Knowledge and Craftmanship (33)
- Measuring (3)
- Practical (32)
- Security & Privacy (2)
- Testen (2)
- Theory (12)
- Trends (22)
- Uncategorized (111)
Tags
agile agile IT organisatie agile organisatie Agile project management agilization application management architecture CI Cloud Transformation collaboration Compliance customer intelligence Customer Management Customer Value efficiency emergence enterprise collaboration future proof Holland Heineken House innovatie Insight Klantbehoud Klantgerichtheid Kosten besparen kostenbesparing Legacy London2012 MDA MDD model driven development Modernization motivation Move ICT offshore onderzoek product innovatie productivity quality Scrum Simplicity software development software factory Sourcing Visualization wendbaarheid
Model Driven Offshore
July 20th, 2011 Kees Kranenburg Tags: MDA, MDD, model driven development, offshore
Posted in MDA, Modeling, Trends |
Model Driven Architecture (MDA) gave software modeling and software generation a new impetus. Developed by the Object Management Group, MDA succeeded in defining a framework for software engineering. To many of us, MDA is a familiar concept. First, a high-level system model is developed. Next, system requirements are modeled. Finally, with the system requirements acting as a base, the software is generated, rendering a complete and working application.
However, the MDA model is considered to be somewhat academic. This is why software engineers prefer to talk about Model Driven Development. Applying a model-driven approach can drastically enhance the whole software engineering cycle, from analysis through to maintenance. The application generator, for example, is already used during the system specification phase enabling working system versions to serve as prototypes. Designing and programming have been replaced by modeling and generating. Therefore, the software engineer no longer has to deal with cumbersome technical platform details, resulting in an improved productivity and improved quality, and a less complex application maintenance process.
One of the shortcomings of Model Driven Development is generating the business logic. Tools can nowadays generate software based upon data structure models, i.e. using Unified Modeling Language. They generate retrieve, update, delete and query functions, including key constraints, referential integrity, mandatory attributes rules, some validation rules, enforced update and delete constraints, browse synchronization between parent and child relations, and a default user interface. But these tools are deficient in handling the business logic. One of the reasons for this is the lack of an international standard for defining business rules. This implies that the business rules specifications have to be coded manually.
Business logic is usually specified in Word documents, and coding them is done by hand in, for example, C# or Java. As we know, programming in C# or Java is very labor-intensive and expensive when done in Europe. However, when something is labor-intensive, we prefer to source these activities in low-cost offshore delivery centers. This is how the Model Driven Offshore concept was born. It combines the benefits of Model Driven Development with the benefits of off shoring.
Model Driven Offshore – a pun or the near future?



Hi Kees,
Since the first mention of MDA in 2001 the field has evolved very fast. MDA is an OMG trademarked term and implies UML, MOF and difficult model transformations. Recent efforts, mostly referred to as MDD are mostly focusing on the use of Domain-Specific Languages (DSLs) instead of UML. I have seen many success stories of MDD in practice, and not only with modeling data, but especially with modeling business logic.
Have a look at this article it gives an example of how to use multiple DSLs to model applications. These models are directly executable.
To answer your question about Model Driven Offshore… I do not believe in it. The technology is available and mature to model full applications including business logic. The advantage of MDD is to have mixed teams building software, i.e. business analysts can create part of the models. The modeling work needs to be done as close to the customer as possible, preferably using an agile methodology. I think MDD as an enabler for Agile Application Lifecycle management is a huge opportunity to NOT offshore. People in the Netherlands can be much more productive and deliver much more value, not in the least because they understand the business and can sit close to the customer.
Hi Johan, thanks for your comment.
First, regarding DSL and executable models, you are right. Atos is also using DSL to generate software. But, my point is that Atos is applying DSL, not the customer. The industry is lacking an accepted standard for specifying business logic that can be applied by customers. In the past there were some initiatives, like INFOMOD (predicate logic) and OCL. But who can apply these?
Secondly, you say you do not believe in Model Driven Offshore. OK, but it is happening right now as we speak. Atos is applying Model Driven Offshore based on its BATOK environment. The BATOK environment is operational in Atos’ SDMC in The Netherlands and in the Atos Java Software Factory in Mumbai. Dutch and India architects and software engineers jointly use, and even extend the DSLs in various large scale projects. The combination of whitebox DSLs to architect the application, and the remaining labour intensive work to reside at the offshore location proves to be a winning combination.