Chart topping app

How do you match pace with the relentless mobile commerce space? Our client had plans for a mobile application, but needed...

Read full case study

Configured for success

Our configuration management skills were put to work as we created a virtualised test environment, avoiding downtime but...

Read full case study

New payment system

Park Group wanted an entirely new payment system, all of their own, in order to differentiate themselves in the savings and...

Read full case study

Scalable eCommerce

Northern Rock needed an eCommerce portal that could grow with their business and adapt to the changing needs of their...

Read full case study

Show the case studies

Systems Blog

Model Driven Delivery reducing the time and cost of software development

A model is a description of something that focuses on some aspects of interest and leaves out irrelevant ones. A model of a house, for example, may be an engineering drawing focusing on the structural aspects and leaving out aesthetics, materials, plumbing, wiring etc.

In software, models are used to capture the different aspects of an application, for example process, data, rules, user interface, usually before it’s built. Our models are a bit like engineering drawings and our program code is the bricks and mortar used for construction. Modelling is key to building quality software, as it allows us to understand and design what we have to build before we start coding, avoiding mistakes and rework.

Model Driven Delivery (MDD) is a relatively new discipline in software development. The idea is that, since software is not solid matter like bricks and mortar and can be generated by other software, it should be possible to translate models into code automatically, or even to execute models directly, reducing the need to hand-craft code in languages such as Java and C#. This has the potential to drastically reduce the time and cost of software development.

The trend towards automatic generation of code is visible in a number of programming environments such as Eclipse, where generators exist for various parts of applications, such as database schemas, user interfaces, web service descriptions, etc. Developers often use visual tools to describe what they need, and the generator does the rest. With MDD, this trend extends to the guts of the application, including process, data and interfaces.

In order for this to be possible, models must be precise and complete. Producing models with these qualities is not as easy as producing descriptions meant only for human consumption, for example functional or use case specifications written in English. It demands the ability to be precise and abstract at the same time.

MDD facilitates agile development, allowing the same people who capture the requirements to develop the solution. With MDD tools becoming mainstream, the barrier between business analyst and developer roles will fall. The new agile application builder will be multi-skilled. The role demands the rigour and precision of programming, the creativity of design, and the business and communication skills of analysis.

RDF have partnered Mendix, whose Agile Business Platform fits very well with our modelling practices, as it is an extension of a Java framework and all models are object-oriented. Solutions can be extended in Java, if needed, and the change-execute cycle time is blazingly fast, making it ideal for agile, business-driven development.

If you have never tried or even considered MDD, take a closer look now. Free yourself from the tyranny of code and become truly agile.

Share |
Brighton 01273 200 100
Livingston 01506 401 440