SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

リレーションシップ駆動要件分析による実践的な要件定義手法

要件定義支援ツール「要件のツボ」によるRDRAの実践

リレーションシップ駆動要件分析による実践的な要件定義手法(4)

  • X ポスト
  • このエントリーをはてなブックマークに追加

表計算ソフトの限界

 図2に示したように情報をつなげて定義するのであれば、表計算ソフトでも十分可能です。しかし、要件定義は何度も内容を見直し、徐々に洗練化する必要があります。表計算ソフトは情報のつながりをセルの位置で表現し、同じ情報が複数のシートに出てくる(アクターが要求や利用シーンなど複数のシートに出てくる)ので、元となる情報が変わったときには、関係する所を全て手で直す必要があるからです。

 例えばアクターを削除した場合には、そのアクターにつながっていた要求や利用シーンの各シートでも、対象のアクターを削除する必要があります。また、UMLのツールと同じく表計算ソフト上の各シートをどのような順番で定義し、どの情報をつなげるかを全て自分で管理しなくてはいけません。RDRAの考え方や情報のつながりを理解した上でないと、うまく使えません。

 さらに表計算ソフトのような汎用ツールはスタンドアローンでの使用を前提にしているので、複数人で同一ファイルを共有することに不向きです。

 一方、要件定義の専用ツールであれば、自由度は減りますが要件定義に特化した支援を行うことができます。情報をつなげて入力する仕組みを提供することや、入力のナビゲートもできます。さらにサーバに情報を置き、情報の一元管理を行うこともできます。精度を向上させるための分析機能を使い素早く不整合を発見することや、ドキュメントの生成などを自動化することにより、いつでも最新の状態で要件定義書を作成することもできます。

 このように要件定義専用のツールを使って情報を一元管理すると、さまざまな利点があります。

「要件のツボ」のコンセプト

 要件定義専用ツールに必要な「要件のツボ」のコンセプトを以下に示します。

  • 思考を邪魔しない簡易な入力
  • 要件定義をナビゲートする
  • 入力した情報を分析するさまざまなツール
  • 任意の形式でのドキュメント生成
  • 定義情報を俯瞰的に見られるビュー
  • 複数ユーザーによる利用
  • マイルストーンとテーマの共有

 一言で言うと「要件定義に不慣れな人がツールのナビゲートに従って要件を定義し、多様な分析ツールで精度を上げ、要件定義書を生成するツール」となります。

 ツールの使い方が複雑で思考を邪魔するようなツールでは、要件定義のツールとしては失格です。要件定義では発散と収束を繰り返しながら情報の精度を高めていきます。従って、定義情報の登録と修正、削除が頻繁に起こるので、それらがストレスなく行えなくてはなりません。

 そこで「要件のツボ」では各情報を名前と説明の2つだけで表現します。アクターであれば「営業」や「顧客」などのアクター名とそのアクターの役割や責務を説明として書きます。アクターに関わる情報であれば図3の左にあるアクターの一覧として登録します。つながりを持って入力するものは導出元となる情報を示し、その横に並べて順次入力します。

 図3の例では利用シーンの入力画面で登録したアクターが表示され、そこにつながる利用シーンを順次入力していくことでつながりを表現します。

 このように入力を表計算ソフトのような形式にし、一方でデータの整合性を合わせる仕組み(導出元の修正、削除)を持たせることで、簡易な入力と整合性の維持の両方を実現します。

図3 つなげて入力
図3 つなげて入力

要件定義をナビゲートする

 RDRAの考え方はシンプルですが、さまざまな情報を扱うことから、全体を整合させて理解するには慣れが必要です。基本的な考え方を知り、後は要件を登録しながら徐々に要件定義の全体像をつかんでいくことが理想です。

 「要件のツボ」では10種類のモデルを10回のステップで作成します。図4の(1)がステップを表し、その順番で定義を進めることで必要な情報が揃います。

 「1.システムにはどのような人が関わりますか?」という問いに従い、システムに関わるアクターを洗い出します。1ステップごとの問いかけに答えることで、順次登録作業を行います。また、登録する情報がどのようなものであり、なぜその情報を登録する必要があるのかを図4(2)で示しています。

 要件定義は洗練化しながら進めていく作業なので、マイルストーンごとに定義する視点が変わってきます。そのアドバイスを行うのが図4(3)です。

 初めて要件定義を行う方は、このアドバイスに従いながら作業を進めることで要件定義に必要な情報が分かってきます。要件そのものを組み立てることはそんなに簡単なことではありませんが、少なくとも何をどのような手順で定義すればいいのかを理解し、自分が分かる範囲で要件を定義していくことで徐々に要件定義のスキルが上がってきます。ユーザーとの打ち合わせなど、経験を積まないと上達しない部分を除外すれば、要件定義の構造を理解し、そのための表現方法を理解するだけでスキルを向上させることができます。

図4 定義の手順を示す画面
図4 定義の手順を示す画面

 RDRAで定義する「システム価値」「システム外部環境」「システム境界」そして「システム」の4つの視点で定義する情報は全てつながりがあり、「システム価値」から順次そのつながりに従って説明していくことで、定義した要件を分かりやすく説明できると考えています。

 「要件のツボ」で生成するデフォルトのドキュメントはその構造に則っています。従って、生成されたドキュメントの先頭から各情報をつなげて見ていくことで、定義した内容が理解できるようになっています。

 生成するドキュメントはテンプレートを変えることで任意の形式で出力でき、XMLとして出力することで表計算ソフトなど他のソフトウェアで再利用できます。テンプレートからは入力した全ての情報が参照できるようになっているので必要な情報だけを抽出することも可能です。

 情報の再利用用途としては、複数案件の要件定義を一元管理することや、見積もりの算出根拠として利用することが考えられます。

図5 関係性を利用して説明する
図5 関係性を利用して説明する

次のページ
素早く要件を定義する

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
リレーションシップ駆動要件分析による実践的な要件定義手法連載記事一覧

もっと読む

この記事の著者

神崎 善司(カンザキ ゼンジ)

(株)バリューソース代表大手SIerにおいて大小10システム以上のプロジェクトリーダを勤め、20年ほど前に独立。2002年から5年間(株)豆蔵での社員も兼任しながら要件定義などの上流工程のコンサルティングを行う。2008年に要件定義手法「リレーションシップ駆動要件分析(RDRA)」を開発し現在はその...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5848 2011/04/01 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング