概念モデルをオフショア開発に適用してはいかが?

投稿日:2008年02月25日 作成者:yasunaka

以前金融系のシステムを担当していたとき、私の業務のもっとも重要な部分は、対象の業務を理解してその業務をうまく回るようにシステムを設計することでした。そのためには業務を理解していることは大前提で、頭の中には自然に対象業務のモデルが出来上がっていました。なので、正直なところ、概念モデルというのはあまり私にとってはメリットが感じられないものでした。

自分で既に理解していることを書き出しても、あまりメリットが無かったからです。実際、以前のブログ「重複を削ろう」では、概念モデルなんて削れるんであれば削っちまえ、ということを書いていました。(まあそのときの趣旨は、業務をモデリングするならばいいけど、概念モデルと称してシステムをモデリングすると、物理モデリングと重複感があるよね、ということですけどね)

ただ最近はちょっと考え方が変わってきて、改めて概念モデルというのは結構いいものだ、と考えるようになってきました。それは自分のためというのではなく、他の人に説明するための道具として、です。特にオフショア開発など、分散拠点開発を行う場合には有効な道具になりそうな気がします。

システムの開発を依頼する場合、相手が対象の領域に精通している場合には必要ないですが、オフショア開発などの場合には、こちらの事情を先方が理解している場合は少ないと思います。結構理解していたとしても、なかなか100%こちらと同じ、というわけにはいかないでしょう。

こんな場合に、まずは概念モデルで対象の業務について、どういうもの(用語)をどのような意味で使っていて、どのように関連しているのか、ということを最初に理解してもらう。これをやって相手(オフショア側)にバックグラウンドをきちっと理解してもらえれば、相手側に創意工夫をしてもらいやすくなり、互いにシステム開発を進めやすくなるのではないでしょうか?

難点としては、そのような業務に精通していて、かつ概念モデルをUMLで書ける人というのはだいぶ限られてしまう、ということでしょうか? でもこういった部分にはニーズがありそうですね。

ということで、業務寄りの設計者ほどUMLに精通すべきかもしれない、というのが今日の提案です。