ゴール指向要求分析を用いたステークホルダの対立の検出
新
原
敦
介Ý
海
谷
治
彦ÝÝÝ 佐 伯 元 司
河
野
仁
一ÝÝ
ÝÝ
本稿では,要求獲得の段階でステークホルダのギャップを識別する手法を提案し,
実験を通してその手法の有効性について確認した.本手法では要求分析手法として,
我々が提案した属性付きゴール指向要求分析法 を用い,その支援ツールを用いる.そして我々は,ステークホルダのギャッ
プとして,解釈の違いによって起こるものと評価の違いによって起こるものの二つ
に着目し,これらを の満足度行列から識別する.これは,満足度行列に,
ゴールの誤解や利益供与の違いが特徴的に表れるからである.実験結果の分析を通
して,我々は他の種類のギャップを検出した.そしてどのようにこれらのギャップを
検出し,解決するべきか論じた.
Ý
ÝÝ
ÝÝÝ
ÝÝ
! " ! " # $
$ ! % ! &
' " ( " !
は じ め に
要求獲得を正確に行うことは,高信頼のソ
Ý 東京工業大学 工学部 情報工学科
ÝÝ 東京工業大学 情報理工学研究科 計算工学専攻
ÝÝÝ 信州大学 工学部
フトウェアを効率的に行う上できわめて重要
である.これまでにも,ゴール指向分析法
やユースケース法 などの方法論が確立さ
れ,実用にも附されつつある.
要求獲得は複数のステークホルダが参加す
る協調作業であり,この作業を通して,要求
を漏れなく吸い上げることが重要となる.し
かしながら,すべてのステークホルダが共通
の同じ要求を持っているわけではない.例え
ば,顧客はできるだけ多くの機能と高性能の
製品を安い値段で作らせようとし,開発者は
高い値段で開発の手間の少ない製品を作ろう
とするであろう.
このような異なる要求は,矛盾やコンフリ
クトとなって現れる.) らの論文 で
は,*
のコンフリクト
が矛盾を引き起こし,深刻な破綻を起こした
いくつかのプロジェクトの例が紹介されてい
る.これらの例からもわかるように,要求獲
得の段階で,矛盾やコンフリクトを起こす
可能性のある要求を発見することが重要で
ある.
また,ステークホルダが持っている知識が
異なるために,他のステークホルダが出した
要求を理解できなかったり,誤解してしまっ
たりすることもある.これらも低品質の要求
仕様書を生み出す大きな原因となるため,要
求獲得の段階で検出,解消が必要となる.
本論文では,要求に対してステークホルダ
の解釈やその評価が異なる場合をステーク
ホルダのギャップと呼ぶ.そして,ステーク
ホルダの理解が異なっている場合,ステーク
ホルダ間で要求の評価が異なる場合,これら
を統一的に要求獲得の段階で検出する手法を
提案し,その効果について述べる.要求獲得
は,ゴール指向要求分析に基づき,識別され
たゴールに対してステークホルダが満足度を
振るように拡張された属性付きゴール指向要
求分析法 を用いる.そして満足度
の分散により,ゴールにおけるステークホル
ダのギャップを検出する.また実際に,対象
領域,獲得環境の違う + つの実験において,
その効果を試した.この実験では,支援ツー
ルも使用した.
論文の構成を以下に示す., 節では,
の概要を述べる.さらに,分類したステーク
ホルダのギャップがゴールの満足度行列にど
のように表れるかについても解説する.+ 節
では実験に使用した, の支援ツー
ルを紹介する.- 節では,+ つの実験の実験
結果を述べ,所見を述べる.. 節では,まと
めと今後の課題について述べる.
属性付きゴール指向要求分析
我々は,ゴール指向要求分析法にステーク
ホルダごとの満足度を記録する機能を追加し
た を既に提案している! この方法
を用いれば,ステークホルダのギャップを系
統的に発見することが可能となる.
概要
ゴール指向要求分析法は,ステークホルダ
の持つ抽象的なニーズや目標を表すゴールを
用いて,それらを達成するためのサブゴール
へと詳細化していくことによって,システム
の要求を明らかにする手法である.
属性付きゴール指向要求分析法 / は,ゴール指向要求分析
法の 01 グラフに属性値をふることで,
分析者がゴールの選択肢を選別したり,ゴー
ル間の対立を認識したり,要求変更における
インパクトを分析したりする作業を支援す
る. では属性値として,ゴール分
Webアカウントシステム
+7
+3
他人が勝手に登録しない
誰でも登録可能
-10
すぐに登録可能
-7
+10
本人確認しない
+10
本人確認する
-5
10
10
-5
-5
-5
-5
-5
10
-2
10
-5
10
-5
10
5
10
-5
ゴール
AND分解
図
2 ,2
安全
登録しやすい
+7
! の概要
OR分解
解されたサブゴールの親ゴールへの貢献度
をゴール木の枝に付加し,ゴールに対する
ステークホルダの満足度として満足度行列
を節に付加する.図 3
まず,全てのステークホルダの参加のもと,
ゴールグラフを作成する.その上で,各ス
テークホルダがそれぞれに,各ゴールに対
する満足度を満足度行列に記入する.満足
度については,上位の抽象度の高いゴール
に関しては満足度も抽象的になってしまう
ので,記入しなくても良い.
満足度は,各ステークホルダが自分自身の
満足度を評価するだけでなく,他のステーク
ホルダの満足度も評価するため,行列で表現
する.また,ゴールに肯定的なとき正の値,
否定的なとき負の値で,234 から 34 の範囲
で評価する.表 3 の例では,ステークホルダ
は,ステークホルダ ・)・5 の満足度を
34・+・+ と評価し記入している.また,満
足度行列の記入の際は,評価理由を別途記入
する.
ステークホルダのギャップの検出
本稿で扱うステークホルダのギャップは以
下の , つに分けられる 図 ,.また,本稿で
は,達成すべき目標を表すゴールを要求と
考え,ステークホルダのギャップの検出を目
指す.
解釈の違い そのゴールが達成されて何
表
評価者
満足度行列の凡例
#$
" #$
(
被評価者
" % %
$ &'
) &*
,", はステークホルダ
要求
(1)
(2)
解釈 理解 評価
ステークホルダの思考
利益
図
ステークホルダのギャップの分類
2 +2
が起こるかという解釈がステークホルダ
同士で異なる場合に起こる.これらは,
図 , の 3 の時点で生じる.
評価の違い 要求の解釈が一致していて
も,何を持って利益とするかという評価
機構に違いがある場合も存在する.たと
えば,開発者がよかれと考え加えた機能
が,実際にユーザには不要な機能となっ
ている場合などである.これらは,図 ,
の , の時点で生じる.
これらのステークホルダのギャップを,満
足度行列から検出する.まず,満足度行列内
の数値対立に着目する.これは,特定の要素
内に,正負の値が同時に存在するときのこと
を示す.
満足度行列では, , 種類の数値対立が検出
できる.表 3 におけるステークホルダ 5 の
列 +,2-,26 で, はこのゴールが達成
されることで 5 は好ましいと考え, 5 の満
足度 行 5 列 に正の値 + をつけているが,
) と 5 は 5 の満足度2-,26) 行 5 列と 5
行 5 列 に負の値をつけている.これは表中
に縦列に見ることで検出できる 以後この数
値対立を縦数値対立と呼ぶ.もうひとつは,
各ステークホルダが自分自身の満足度として
評価した値で起きる数値対立で,表中の対角
要素を調べることで検出できる 以後この数
値対立を対角数値対立と呼ぶ.表 3 では の に対する評価 34 行 列, ) の ) に
対する評価 4) 行 ) 列, 5 の 5 に対する
評価265 行 5 列 と,対角数値対立が検出
できる.
列要素は,評価対象が同じで評価者が違う.
そのため,縦数値対立が起きるということは
ステークホルダの評価対象への認識が違うこ
とを意味する.よって,縦数値対立からは,
解釈の違いが検出できる.
また,対角要素は,ステークホルダ自身が
自分のゴールに対する利益を評価している.
そのため,ステークホルダ間の本質的な対
立である評価の違いを検出できると考えら
れる.
図
! 支援ツール
支援ツール
支援ツール
図 + に,我々が開発した, 支援
ツールの画面を示す.画面は上下二つに分か
れ,両方に同じゴールグラフが表示される.
これは,ノード間のリンクを張る操作を支援
するためである.たとえば,ノード と )
の間にリンクを張る場合,画面上部の /
7 ボタンを押し,上の画面のノード か
ら下の画面のノード ) にドラッグする.ま
た,大きなゴールグラフの別の部分を見る際
も,画面分割が有利に働く.
上下に分割された画面は,それぞれ左右に
分かれており,左側にゴールグラフ構造を木
構造の形で,ネストしたものを表示する.そ
して左側で選択されているゴールの属性値を
2 -2
入力したり編集したりするのが右側となる.
右側には次のようなものがある. は
ノード名を表し,ゴールの内容を端的に表
した語句をつける. は,ゴール
内容の詳細な記述を記入し,さらに属性値
の評価理由もここに記入する. 部分は,
が親ゴールを示し,
が親ゴールへの貢献度を表している.貢献
度には234 から 34 の値を入力する.同様に,
% は親ゴール以外のゴールとのリンク
の貢献度を入力・編集する部分である.最後
に, が満足度行列を記入する部分
である.
による要求分析会議
による要求分析作業は対面式会議
にて行われる.3 人の進行役と複数のステー
クホルダが参加するが,進行役を補佐する秘
A
B
S1
S2
C
B
0
7
3
4 –2
9
5
0 -5
6
6 -5 –4
5
縦数値対立
E
D
2 –2 0 7
2 –2
C
E
D
S1
S2
S3
S4
A
3 4 –2 9
対角
数値対立
A
1
B
2
3
C
D
E
A
Facilitator
B
A
B
D
C
D
5 0 -5 6
C
E
Stakeholder
S3
図
S4
E
6 -5 –4 5
満足度行列の作成
書がいても良い.参加者にはそれぞれ 85 が
割り当てられ,+!3 節の ツールを起
動する.このツールは,全員が共有する一つ
のゴールグラフを参照,入力,編集できるよ
うになっている.
要求分析では,共同・共有作業と個別作業
に分かれる.
共同・共有作業では,進行役 9
がステークホルダの意見を聞きながら,ゴー
ルグラフを作っていく.基本的には進行役が
ゴールグラフを入力・編集する(図 - の矢印
3).全員の議論を促進するため,進行役の
85 の画面がプロジェクタで投影され,議論
している部分をポインターで指す.そして,
参加者全員の合意でゴールグラフ構造を作成
していく.
個別作業として,各ステークホルダは,満
足度行列を記入する.各ステークホルダは,
自分が評価する値しか入力・編集できず,他
のステークホルダが評価した値は,画面に表
示されない.ステークホルダはゴールグラフ
2 .2
作成する共有・共同作業中でも,自由に入力・
編集ができる.たとえば,図 - では,ステー
クホルダ :- は,:3・:,・:+・:- の満足度を,
6・2.・2-・. と採点している.
共同・共有作業と個別作業が相互に作用し
て全体の作業が進む(図 - の矢印 ,).
進行役は,ステークホルダが一通り満足度
行列を記入した時点で,全員のものをマー
ジする(図 - の矢印 +).ステークホルダの
ギャップの検出は,マージした際に,正負の
分散によって自動的に行われる.ステークホ
ルダのギャップのあるゴールに対して,ネゴ
シエーションなどの解消作業に入るが,今回
はこれを支援してない.
実 験 分 析
実 験 結 果
の満足度行列が実際にステークホ
ルダのギャップを抽出できるかどうかを三つ
の実験で確かめた(図 .).実験には + 節の
ツールを使用し,実験内容は表 , のとおり
図
実験
#
表
実験風景
実験の概要
実験
)
東京工業大学
実験
%
実施
東京工業大学
開発システム
+++ レポート提出システム
ステークホルダ
先生役の学生
管理者
店員
学生
会員
開発者役の学生
開発者役の学生
開発者役の学生
佐伯研究室
表
佐伯研究室
" 会管理システム
実験の結果
実験
#
実験 )
'#
%,
縦数値対立
#*
##
原
ゴールの誤解
)
因
評価基準の違い
*
別
その他
$
対角数値対立 .利益供与の違い/
#$
#)
総作業時間
) 時間 '0 分 ) 時間 %$ 分
全ゴール数
である.実験 3 のステークホルダは,学生
以外は, アプリケーション開発経験
をもっていたが,実験 , における管理者と
実験 + の店員は,ドメインの専門家であるが
コンピュータの知識のないステークホルダで
あった.
進行役が,対面式会議でステークホルダの
2 62
信州大学
海尻海谷研究室
スーパー商品管理システム
%
)$
%
$
%
$
'
# 時間 %$ 分
実験
要求を聞き出し,参加者の前でゴールグラフ
を作成し会議をコントロールした.ステーク
ホルダは,適宜,満足度行列に数値を入力し
た.ステークホルダは,自由に自分の要求や
アイデアを述べても良いが,他のステークホ
ルダに影響を与えてしまうため,満足度行列
に関する意見を述べてはならない.
実験 3 はゴールグラフが完成してから満足
度行列に記入をした.実験 ,・+ は,ゴール
グラフ作成中にも満足度行列に記入していた
が大部分は,ゴールグラフ完成後に入力して
もらった.
作業が終わった段階で,進行役が満足度行
列の値をもとに,ステークホルダのギャップ
の見られるゴールについて該当ステークホ
ルダになぜこのような満足度をつけたかを
質問した.その答えから,ステークホルダの
ギャップの生じた原因を元に,ゴールの理解
が異なっているか,理解は同じであるが評価
が異なっているかを分類していった.この作
業は共同作業で行われた.
ゴール数,数値対立の分布を表 + に示す.
表 + の原因別の部分は,縦数値対立に関し
て,ステークホルダに評価理由を聞いて分
類したものである.
実験結果分析
,!, 節で,ステークホルダのギャップが解
釈の違いと評価の違いに分けられると述べ
たが,実験によってさらに分類できることが
わかった.解釈の違いは,縦数値対立から,
“ ゴールの誤解 ”として検出された.評価の
違いは,
“ 評価基準の違い ”と“ 利益供与の
違い ”の二つに分けられ,評価基準の違いは
縦数値対立から,利益供与の違いは対角数値
対立から検出された.
これらを実験 , で検出された具体的なギャッ
プの例とともに説明する.
ゴールの誤解 実験 , におけるゴール;海外
の会員への送付ラベル印刷;を考える.開
発者はこのゴールを英語の一形式のみで
あると考えたが,会員は様々な言語に対
応した複数の形式を用意する必要がある
と考えた.そのため,開発者は開発者の
満足度を正の値にし,会員は開発者の満
足度に負の値を付け,縦数値対立が生じ
た.このように,ゴール解釈の違いから
ステークホルダのギャップが生じ,満足
度行列から検出できた.
評価基準の違い 実験 , におけるゴール;,
ページある会員一覧を 3 ページに自動的
2 <2
にサイズ調整し印刷;を考える.このゴー
ルは,3 ページを少し上回ってしまった
とき,, 枚に分けて印刷したくないため,
自動的にフォントや形式を調整し,一枚
に収まるよう印刷する機能という意味で
ある.このシステムのユーザである管理
者は,情報分野の知識が無いため,この
ゴールの達成を簡単だと考え,開発者の
満足度に正の値を付けた.しかし,開発
者にとっては,実現が難しい機能で,開
発者の満足度は負の値となった.この場
合,ゴールの解釈は両者ともに同じもの
であったが,お互いの知識差が原因となっ
て,評価に違いが生じてしまった.
利益供与の違い 実験 , におけるゴール;定
期的に自動で会社名と業種を調べる;を
考える.このゴールは,システムが定期
的にインターネットにアクセスし,会社
名とその業種を自動的に集めてくる機能
のことである.管理者は,このゴールの
達成が非常に難しいと理解した上で,自
分にとっては便利なため,管理者の満足
度に正の値を付けた.一方,開発者は,
このゴールの達成には,自然言語処理や
データマイニング等の高度な技術が必要
となるため,開発者の満足度に負の値を
付け,対角数値対立となった.この場合,
ゴールの解釈も評価基準も両者に違いが
ないが,ステークホルダそれぞれのゴー
ルから受け取る利益・不利益が違うため起
こるステークホルダのギャップといえる.
実験 3 では,縦数値対立のうちステークホ
ルダのギャップでないものとして表 + の原因
別・その他の行に < つ表れている.これは,
同じ親を持つ兄弟ゴールの相対的な評価が原
因となったためである.たとえば,最初にあ
る兄弟ゴールに正の低い点をつけ,他の兄弟
ゴールの満足度がそれよりも低いために,相
対的に負の値をつけてしまった場合などであ
る.これに関しては,点の付け方に問題があ
るとわかる.実験 ,・+ では,縦数値対立はい
ずれもステークホルダのギャップであった.
また,今回の実験では,数値対立の無かっ
協点の模索法が有効だと考えられる.また,
評価基準の違いでは,各ステークホルダご
との,評価理由を記録・参照・更新するため
の機構が必要となる.これによって,個々の
ステークホルダも一貫した評価がしやすく
なる.
たゴールに関してステークホルダにインタ
ビューしなかったため,検出すべきステーク
ホルダのギャップが検出されなかった場合に
ついては考慮していない.全てのゴールに関
してステークホルダのギャップが無いかどう
かをステークホルダにインタビューするのは
現実的ではないため,どれがステークホルダ
のギャップであるかをつきとめる別のやり方
を考え,比較する必要がある.
個々の実験の特徴としては,実験 3 では,ス
テークホルダが学生以外は アプリケー
ション開発の知識を持っていたため,ステー
クホルダのギャップの数は多くはない.実験
, では情報工学の知識が無いステークホルダ
がいたため,ゴールの誤解も多かった.実験
+ に関しては,満足度行列に記入する作業中
にもゴール分解やゴール内容に関する議論が
行われたため,ステークホルダのギャップの
数が減少した.それに対して,実験 3・, で
は,進行役が満足度行列の記入を促し,その
際の議論は止まっていたため,ステークホル
ダのギャップの数が多くなった.
参
まとめと今後の課題
ステークホルダのギャップを要求獲得の初
期段階で検出・解消することで,品質の高い
ソフトウェア製品を効率的に開発することが
可能となる.また,このようなステークホル
ダのギャップは,その発生原因によって解消
方法は異なるため,原因別の分類と,それぞ
れについての解消方法を明らかにする必要が
ある.
本稿では,このようなステークホルダの
ギャップを,その発生原因に基づき分類した.
加えて,ステークホルダのギャップを発見し,
それを分類するのに,我々の提案した要求分
析法 は有効であることを示し,支
援ツールを用いた実験を通して,それを確認
した.
今後の課題としては,ステークホルダの
ギャップの分類に応じた,その解消支援法を
明確にすることが挙げられる.利益供与の違
いでは, で採用しているような妥
2 F2
考
文
献
3 = 7" > ?> &
!,-@,6+
,443
, A B !" # $ % &
'
()
% 3@@,!
+ ) )! C A! *
'+
A??? :
" / 3@@6 !,.+.
- C
D C
C / :! %, %$ %!
, %
- ! A??? B A ? 5
?'4, ! 3+,, ! ,44,!
. : &!7! . % /
/"C 0" E [email protected]!
6 ) )! ) 8! C"G ?! 7 /! # %
0 '
9 A
5 ?A5?@-! 3@@-! 5
: 5> A??? 5
:
8!
ダウンロード

ゴール指向要求分析を用いたステークホルダの対立の検出