図解化のメリット
前回は、業務分析の重要性とシナリオによる業務分析について紹介した。シナリオは自然言語をベースとしているため、非IT技術者にとっても扱いやすいというメリットがある。さて、今回はSBVA(Scenario-Based Visual Analysis:シナリオ図解化分析)法のもう1つの特徴である図解化のメリットについて述べたい。
前回述べた通り、業務に導入するITシステムの開発においては、「なま」の業務の姿の分析から始まり、いくつかの目的の異なるモデル(ビジネスアーキテクチャを記述したモデルや、ITシステムアーキテクチャを記述したモデル)を作成する作業を行い、最終的にITシステムのアーキテクチャを抽出するプロセスを経る。
この過程で行うモデリングは一般的に豊富な経験が必要で、難しい作業だといわれている。筆者は初心者に対してUMLを使ったモデリングの教育を行った経験があるが、その際に最も教えるのが難しいと感じたのは「抽象化」という作業であった。そこで、モデリングにおいて重要な抽象化の作業をより簡単に行うことができる方法がないかを検討した。
その結果、KJ法にヒントを得てモデルの要素を図解上に配置し、それらを移動したり、グループ化したりする操作を通して実施する図解操作の技法が、モデリングの初心者にとっても分かりやすいとの結論を得たのである。
今回は、SBVA法における図解操作を通した抽象化の考え方について説明する。そのために、まずモデルの視点・抽象度・粒度という3つの座標軸からなるモデルのVGA空間について述べる。その上で、このVGA空間の考え方に基づきモデリングにおける抽象化とはどのような作業であるかを整理していく。
これらの議論を踏まえて、SBVA法ではどうやって抽象化作業を行うのか、またビジネス寄りのモデルをどうやってITシステム寄りのモデルに変換するのか、という点について述べていく。
(画像をクリックすると別ウィンドウに拡大図を表示します)
モデリングの目的と「モデルのVGA空間」
一言でモデルといってもさまざまである。まず、モデルは表記法の違いで分類することができる。表記法にはお馴染みのUMLや、前回取り上げたシナリオ、あるいは「E=mc^2」のような数式などがある。どれもモデルを記述するための道具立てである。モデルの表記法が異なると、それらは全く別のものに見える。しかしながら、モデリングにおいて表記法の差異は実はさほど大きな問題ではない。モデルというものを分類するとき、より重要なのは「モデルの目的」の違いである。
例えば、「ビジネスアーキテクチャのモデルを、ビジネスパーソン同士が、業務の本質的な姿についての何らかの合意を形成しようという目的で作成する」場合と、「ITシステムのアーキテクチャのモデルを、IT技術者同士がソフトウェアとハードウェアからなるシステムの論理的な構造を明確にするという目的で作成する」場合を比べてみるとわかりやすい。このケースでは、仮にどちらも同じUMLを使っていたとしても、その内容が大きく違ってくることは容易に理解できるはずだ。
こういった目的によるモデルの違いを整理するために、「モデルのVGA空間」という概念を導入する。V、G、Aとは、それぞれ「視点(Viewpoint)」「粒度(Granularity)」「抽象度(Abstraction level)」のことを指す。これらを3次元空間におけるx、y、z軸に見立てて表現したものが図1だ。
この空間を意識することにより、例えば「ビジネス寄りの視点で、それほど抽象度は高くなく具体的で、業務全体を捉えた粗い粒度のモデル」であるとか、「ITシステム寄りで、抽象的で再利用性が高く、細かい詳細なモデル」といった表現が可能となる。 次のページ