This chapter explains the economic advantages and the investments that come with Model-Driven Software Development (MDSD) in general and architecture-centric MDSD in particular. It also attempts to answer both typical and critical questions.
You can find an overview of the motivation for, and basic principles of, MDSD in Chapter 2, Sections 2.1 to 2.3. We recommend you read those sections before this chapter.
18.1 Business Potential
MDSD combines the scalable aspects of agile approaches with other techniques to prevent quality and maintainability problems in large systems, as well as with techniques for the automation of recurring development steps in software development.
The potential of MDSD is based on a few basic principles:
- Formalization and condensation of software designs via the creation of modeling languages that are oriented more towards the problem space than the solution space.
- Abstraction from the level of expressiveness of today’s programming languages and platforms.
- Use of generators to automate repetitive activities.
- Separation of concerns, which to a large extent enables separate processing and evolution of functional and technical code.
- Reusability across project boundaries through the formation of software system families and product lines (see Section 4.1.4).
Based on these basic principles, a considerable number of features of the software systems developed in this manner can be derived and mapped to economic ...