<< 関連の設計と実装 | main | 昔は、DOA。今は、ROA。 >>

ドメイン駆動設計とは要求開発である

ドメイン駆動設計では、反復的に、インクリメンタルに、ドメインの知識を掘り下げて、洗練させていく。

問題領域の専門家と、開発者が、同じ言語を使って、コミュニケーションしながら、その言語を使って、設計して、その言語でそのまま実装する。(ユビキタス言語)

伝統的なやり方だと、プロジェクトの前半は、要求仕様の定義と固定。後半は、実装とテスト。

ドメイン駆動設計が前提にしているアジャイルなやり方はこうではない。

毎日が、要求仕様の検討であり、設計であり、実装とテストでもある。少なくもと、週に一回くらいは、デモできるバージョンをリリースする。

これを毎日、毎週、繰り返しながら、要求を掘り下げていき、また、実装を洗練させていく。

確立した要求は無い。最初から無いし、最後まで確定しない。
あるバージョンが完成したら、それ自身が、改良と発展の土台になり、新たな出発点。

モデリング、設計、実装をなんどを繰り返しながら、真の要求を具体的に発見していく。

「要求」とは、事前に確定して、ドキュメント化されたものではなく、問題領域の専門家、利用者、開発者がひとつのチームで対話をしながら、生み出していくもの。

チームが開発しているのは、プログラムやデータベースだけではなく「要求」そのものをいっしょに開発している。

ドメインオブジェクトのモデリング・設計とは、まさに要件定義の作業だということ。

こういうやり方が、どんな案件でも最善とは限らない。

でも、私が参加している
・ビジネスモデル、成功パターンをいつも模索し続けているベンチャー系の企業
・インターネットでのサービス提供を本業としてしている企業
の案件の場合、要求を開発しながら、ソフトウェアを開発する、というのが、本流だし、それしか、選択肢はない。

コメント
コメントする









この記事のトラックバックURL
トラックバック
calendar
 123456
78910111213
14151617181920
21222324252627
28293031   
<< May 2017 >>
システム設計日記を検索
プロフィール
リンク
システム開発日記(実装編)
有限会社 システム設計
twitter @masuda220
selected entries
recent comment
recent trackback
categories
archives
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM