First of all, as enterprise architect you have several architecture frameworks to implement the EA of your company. Here, I assume we have selected TOGAF which is using Archimate as technical standard of phases B, C and D of the ADM; see Figure 1.
Archimate is intended for describing an enterprise architecture with more level of abstraction (less detail) than MDA from an enterprise architect point of view; see Figure 2.
MDA is also intended for describing an enterprise architecture by using CIM, PIM and PSM models, but from a software architect point of view; see Figure 3.
CIM is defined for part of the Business level, but it doesn't have a proper language to describe it in terms of a concrete model. Here is where I see that Archimate could be more useful than MDA. Archimate uses a semantics language for modeling EA instead of UML that is used for syntactic representations, e.g. PIM and PSM in MDA.
Therefore, if you model an EA with Archimate (enterprise architect), then
- could you use PIM and PSM (of MDA) to have more details (less level of abstraction) for implementation phase (software architect)?
- so, can you derive a PIM from an Archimate model?
- Is an Archimate model sufficient for a software engineer to implement an application?
As Archimate gives you an abstract view of (architecture) the application layer and its components, I think it's necessary to derive a more detailed model from it by using UML to give a more concrete artifact to software engineers for implementing an application. According to Archimate documentation it's possible to derive UML models from an Archimate model. However, this could imply rework since you're modeling twice.
Because each company has a particular problem (reality) and expertise of its enterprise architects and software architects, they should avoid such rework. These are more clear options for a company to avoid that:
- Use TOGAF framework and Archimate as modeling language and derive less abstract models using the same language for software architects. Derive UML models for implementation purpose only if necessary.
- Use TOGAF framework and UML as modeling language, but following the mapping of ADM and MDA.
Every company should select which path is going to walk by using TOGAF, Archimate or MDA to define its EA according to the expertise of its enterprise architects and software architects.