with Jorn Bettin
To use Model-Driven Software Development, it is necessary to distinguish between the development of concrete applications and the development of the domain architecture. The reasons for this distinction are practical: first, concrete projects must be finished at a certain point in time to meet deadlines, so possible technical problems in domain architecture development cannot be considered. Second, the domain architecture’s quality is decisive for the success of MDSD. We advise against forcing compromises on the domain architecture’s design when under pressure. Third, the knowledge needed for developing the domain architecture differs from the knowledge needed for application development. Thus the two aspects are separated. The goal of organizational best practices for MDSD is to create an environment that supports a useful coordination of tasks.
MDSD is scalable and well-suited for use in larger, distributed project environments. Distributed software development is not only an issue in very large projects, but increasingly also in the context of offshoring.
19.1 Assignment of Roles
This section addresses the MDSD-specific assignment of roles. The development process sketched in Chapter 13 serves as our guideline here.
19.1.1 Domain Architecture Development
For successful domain architecture development, both profound knowledge and experience of the domain are required. These are usually dispersed through a group of people. Some ...