Real-Life MDA: Solving Business Problems with Model Driven Architecture
Model Driven Architecture (MDA) is a new approach to software development that helps companies manage large, complex software projects and save development costs while allowing new technologies that come along to be readily incorporated. Although it is based on many long-standing industry precepts and best practices, such as UML, it is enough of a departure from traditional IT approaches to require some "proof of the pudding." Real-Life MDA is composed of six case studies of real companies using MDA that will furnish that proof. The authors' approach MDA projects by describing all aspects of the project from the viewpoint of the end-users—from the reason for choosing an MDA approach to the results and benefits. The case studies are preceded by an introductory chapter and are followed by a wrap-up chapter summarizing lessons learned.
Review By: Daniel Campanelli
10/09/2007Model-driven architecture (MDA) is an approach that allows code to be generated directly from system models. This book is not about the mechanics of MDA. Instead, it describes six case studies of companies and government agencies that have successfully implemented MDA into their environments to solve service problems.
The case study organizations use MDA to:
- Integrate transfer of delivery, scheduling, and activity report information to and from strategic partners in a business cooperative
- Restructure systems to provide a unified face to the customer
- Transform a telecommunications application into one that could be tailored to needs of specific customers
- Integrate new functionality with legacy applications
- Replace redundant processes and systems
- Maximize IT staff productivity
- Migrate the IT infrastructure to a new development platform
- Standardize the architecture and development approach across the organization
Each organization reports resistance in its ranks when first introducing MDA. However, they eventually overcome this resistance by implementing MDA in a step-wise fashion through proof-of-concept and pilot projects with the assistance of third-party MDA service providers. Once MDA is successfully implemented, the organizations realize the following benefits:
- Improved lifecycle traceability and governance
- Improved stakeholder communication
- Facilitated agile and iterative development
In short, MDA implementation is a challenge, but the benefits are everlasting.
The authors present a well-balanced picture of how MDA solves a broad spectrum of business problems. They present a representative cross section of both public and private sectors to avoid any industry bias. They also present quotes from the actual project participants to reinforce key points.
As with many books dealing with new technologies, the book contains some new terminology that can be a bit challenging to the reader. It addresses this by providing an appendix that provides an excellent overview of MDA. In addition a glossary is also provided to explain some of the abstract concepts presented in the book. The reader is encouraged to read both sections before undertaking the case histories.
Each of the cases presented in the book is easy to follow, as each was presented as a discussion of the organization under study, the problem the organization was trying to solve, and why the organization chose MDA. The authors then discuss the details of how MDA was implemented, along with problems encountered along the way. They finish up by recapping the benefits realized as a result of implementing MDA.
I personally would like to see more books such as this one written from the business point of view. That would help to sell the MDA technology to other business users and technologists reluctant to accept it.