この手法では、概念モデルを継続的に使用してアプリケーションの開発を駆動し、また、ラウンド・トリップ・エンジニアリングの概念をサポートします。アーキテクトが UML を使用して詳細なクラス・レベルのモデルを作成すると、このモデルが 3GL コード・モデルのシードになります。 アーキテクトはモデルに変換を直接適用し、アプリケーションの構造 (多くの場合、実際のコンパイル用コード) を生成します。
アーキテクトが引き続き大まかな UML モデルを設計する一方で、開発者は自由にコード・モデルを開発することができます。この並列ワークフローによって UML モデルとコード・モデルが分かれることになり、コラボレーションが難しくなりますが、初期変換構成では、前方および後方変換のほか、モデル調整もサポートしています。
モデルの相違が大きくなるにつれて高まるリスクを最小化するには、アーキテクトがコード・モデルに対して後方変換を実行し、調整操作で使用する一時スナップショットを作成して、概念モデルに変更を選択的にマージします。 モデルをマージした後は、変換を適用して実装レベルのコードを更新し、それによってアーキテクトによる概念モデルの変更をコード・モデルに改めて反映することができます。 このプロセスは、開発プロセスの間、必要なだけ繰り返すことができます。 両方のモデルが平行して開発され、所定のチェックポイントで調整されます。
概念モデル駆動開発が、以下の状況で使用すると最適になるプロトコル。
この方式は、アーキテクトから開発者まで、チーム全体で使用することができます。
概念モデル駆動型開発手法では、厳密なガバナンスが実施されます。コード実装には、常にアーキテクチャーの仕様が反映されます。 この手法では、ハンド・コーディングの削減、再現性の強化、品質向上、問題点の減少なども実現します。また、開発のどのフェーズにおいても設計に変更を行えることが、この手法を非常にアジャイルなものにしています。
概念モデル駆動型開発手法では、厳密なガバナンスが実施され、 フィックスを作成してアプリケーション全体に渡る訂正を行うことができます。小さな変更は、実装することや、変換プロセスによる影響を受けないようにすることが難しい場合があります。