Is Model Driven Development (MDD) panacea to IT Development?Cigniti Technologies
Listen on the go!
[Tweet ““Every business will be a software business” – Satya Nadella, CEO of Microsoft”]
The Software is driving every kind of business and technology (IoT, Agile, Cloud, Mobile, Big Data & Big testing) across creation of products and their operations. High software development costs have a significant monetary impact, and bad software design impairs the productivity which has serious consequences.
Modern day system developers have some serious problems to cope with i.e., complexity, faster delivery, richer functionality and shorter turnaround time. The evolution of software engineering is characterized by the methodology proposals aiming to answer these questions channeled as how to produce working software and derivatives of it, according to the customer needs. IT helps bridge the gap and achieve business goals despite an increase of business complexity and challenge.
A straw man approach stitched to answer the problems of integration of systems engineering and software engineering activities is based on Models and industry-specific frameworks including Software Engineering standards (ISO/IEC 12207 or NIST standards on Risk/Security) or best in class methodologies (Scrum) and the evolving model of Model Driven Development (MDD).
Ram Krishna Annavazala, Lead Test Consultant – Advisory & Transformation Services at Cigniti Technologies, gives an overview of MDD and its advantages here in this post.
Model Driven Development – An Overview
MDD helps users visually interpret complex applications. Interest is ever increasing in the model with the ease of features to use and speed to deploy applications. The model provides higher productivity over traditional development methods with smaller teams. Candidates for simulation or finding compatibility are demonstrated in the examples below.
A requirement of manufacturing has complex engineering fields, such as mechanical, electrical, electronic engineering, i.e., a computer-controlled mill that is fed CAD data that enables it to transform a model into a physical workpiece automatically or consider an automotive production line or an order for a car that includes custom features to be turned into reality. A click here and a selection there and the customer designs the desired features for “Customized Product”, i.e., choice of color of exterior or interior, ergo seat, leg space, engine power and other features. So a pre-production simulation or proof of concept through MDD helps the cause.
Today’s ALM systems in IT world are a heterogeneous mix of project management aspects (Project, Portfolio, Version, Deployment, Traceability, Production Monitoring, Incident Management, and IDE Integration). MDD can help simulate the scenarios to find compatibility of piecemeal assembled ALM system.
A multitude of disciplines is involved in any kind of business systems as the above examples demonstrate. The synchronization between different engineering disciplines on the process and artifact level in a coherent manner is a challenge. Process standards address this challenge by defining a transition between the involved activities. A framework for modeling would help support a seamless transition.
Advantages of MDD
- Higher speed of development through automation
- Enhances software quality through structured software architecture
- Higher re-usability through defined architectures, modeling languages and transformations.