ユーティリティツリーとは何か?使われる場面と役割を解説

2021年7月7日

ユーティリティツリーの概要

ユーティリティツリーのイメージ

ユーティリティツリーとは、主にシステムの要件定義で活用される文書です。
大規模なシステムを製作する際、開発者と顧客の要望・イメージのすり合わせに重要な役割を果たします。

ユーティリティツリーを使用するケース

ユーティリティツリーを主に使用する職種に「ITアーキテクト」があります。
彼らはシステム開発の序盤において、最適なシステムを企画・立案したり、全体的な方向からシステムの仕組み、運用・保守についてまで提示する存在です。
最初期にシステム共通の仕様を提案したり、要件定義を主体となって行うこともあります。

彼らが活躍するのは、より専門性や特別な手法が求められる大規模開発・複雑な企業経営に向けての開発が主です。
ユーティリティツリーは、ITアーキテクトが活躍するような大規模システム開発ほど重宝されます。

ユーティリティツリーの役割

ユーティリティツリーが使われるのは、要件定義の終盤、最終的な設計の原型を作成する場面です。

非機能要件をまとめたユーティリティツリー

ユーティリティツリーは要件の中でも、「非機能要件」をまとめる時の有効な手段です。
非機能要件とは、要件の中で「具体的な機能でないもの」全般を指します。この表現では分かりづらいですが、たとえばシステムの性能や信頼性、セキュリティ、拡張性や運用性など、いわゆる「プログラミングのみでは表現できない部分」と捉えるといいかもしれません。
規模の大きなシステムでは、言及すべき非機能要件も多岐にわたります。その中で特に重要なポイントに絞ってユーティリティツリーは作成されます。

この非機能要件については、下記のページをご参照ください。

ユーティリティツリーの特徴「シナリオ」

ユーティリティツリーの特徴的な文書に、「シナリオ」と呼ばれるものがあります。
これは「仕様を一文で表現したもの」です。
ユーティリティツリーはその名の通り、枝状の文書として作成されます。まず大きな話題があり、その話題からいくつかポイントを挙げ、そのポイントに対してさらに枝を広げて言及する……という形です。
その枝の最終地点に記されるものが「シナリオ」となります。
このシナリオは「○○のとき○○のように動作する」「○○時も運用は継続する」など、箇条書きよりもさらに詳細にイメージを記した文書です。
表としてまとめるのはもちろん、文書として記載することにより、より細かな点まで開発者と顧客の間で認識をすり合わせることが可能になります。

参考

  • D.C. ゴーズ(著)、G.M. ワインバーグ(著)、黒田純一郎(監訳)、栁川志津子(訳)『要求仕様の探検学―設計に先立つ品質の作り込み』共立出版、1993年
  • [第2回]要件定義(システム視点)