情報システムサイクルは、繰り返し回し続けるものですが、それには 短期間での開発を繰り返すアジャイル開発が適していると考えます。またモデリングとアジャイル開発は、相性が良く、相互に補完しあう性質があると考えます。
アジャイル開発とは一言でいうと短期間のイテレーティブな(繰り返し型)の開発手法ということになりますが、別の言い方をすると、最初にすべての要求(仕様)が固まらないことを前提とした開発手法と言えます。逆に最初にすべての要求を固めて(仕様凍結)して進めるのが従来のウォーターフォール型です。
アジャイル開発の重要なコンセプトは次のとおりです。

現在の(ちょっと前の過去ではない)顧客の要求に応える。それが価値を提供。


短い期間での頻繁なリリースをする。このことで最も優先度の高い機能のみを実装することとなり、選択と集中がなされる。さらにリリースを受け取った顧客は、それを使ってみて次の要求を的確にできるようになる。

短い期間での頻繁なリリースをする。このことで最も優先度の高い機能のみを実装することとなり、選択と集中がなされる。さらにリリースを受け取った顧客は、それを使ってみて次の要求を的確にできるようになる。


しかしイテレーションによって変化が発生し、改造が必要となれば、ソフトウェアを見直して手を入れることをおこなう。重複をなくす、簡潔にする、柔軟性を向上させるなどの場合にも行う。


ソースコードを書く前に、テストコードとテストデータを書く。
その後も常にテストを実行し、正しく動き品質の高いソフトウェアであるようにする。


包括的なドキュメントよりも、動作する製品(ソフトウェア)を提供する。

契約交渉よりも、顧客との協調を優先。顧客側のチームと開発側のチームはパートナー関係を結ぶ。変化の激しい、あるいはすべての仕様が最初に固められない(それがほとんどと考えますが)ような開発においては、一致協力していく関係となるべき。

プロセスやツールよりも、個人と対話を優先。
これらの特長にプラスして、情報システムサイクルで述べた、モデルがアジャイル開発には重要な要素と考えます。
イテレーションでのさまざまな変化に対しては、あらかじめ設計者が作ったモデルに立ち返り、それにおいて新たな変化への対応をどのように実現するかの検討をし、実装するということをしていくべきです。この過程でモデルに修正をすることも厭いません。
こうすることで、変化に対して1から考えなおすというリスクを回避することができ、より短期間に品質の高いソフトウェアを提供
できるからです。この意味で、モデル駆動型アジャイル開発と呼びます。
このように、モデルは情報システム全体を見渡せる共通海図・青写真のようなものといえ、きわめて重要なものです。
もちろん、モデルを作成したあとに、要求事項がほとんどすべて出しつくせるような開発ケースにおいては、
従来型の開発手法で開発することでも構いません。