社団法人

電子情報通信学会

信学技報

プロジェクトマネージャへのアンケートに対する因子分析に基づいたソフトウェア開発コスト推定モデルの提案
足立卓也

水野修

菊野亨

高木徳生

大阪大学大学院基礎工学研究科 情報数理系専攻
大阪府豊中市待兼山町〒
オムロン株式会社 ソーシアルシステムズカンパニー プロセス革新部〒
滋賀県草津市西草津

あらまし

本研究ではリスク調査アンケート結果に対して因子分析を行い，そこで抽出された因子に基づく開発コストを推定する手法について述べる．ソフトウェア開発プロジェクトに対するリスク調査アンケートの項目には，直接的には開発コストに対して統計的に有意な関係はみられないが，他の項目に対して影響を与えているものが存在する．従来の回帰モデルによるコスト推定手法ではこうした項目を除外してしまうため，その影響を考慮に入れることができなかった．本研究で新しく提案する手法では，因子分析によってアンケート項目の再編成を行い，個の質問項目をいくつかの因子に集約する．更に，得られる因子スコアを利用してコストに対する回帰式を作成する．適用実験の結果，多くのリスク要因を含むコスト予測が行えることを確認した．
キーワード

ソフトウェア開発プロジェクト，リスク管理，コスト見積，因子分析まえがきやコストと期間の見積りと実測の間の誤差を予測する研究を行ってきた．ここではそれらについて簡単に述べる．
リスク調査アンケート表の作成
まず，開発現場やプロジェクトマネージャが意識しているリスク要因を調べるためのアンケート表をにおいてリス作成した 表 ．これは実際にクのチェックリストとして使用されていたものを再編成したものである．

ソフトウェア開発プロジェクトには多くのリスク要因が複雑に関係して発生する問題が多いことが知．特に，コストや開発期間の増加られているに伴う問題はその中でも重要なものである．
また，実際の開発現場ではプロジェクトの状況が把握できなくなってしまい，プロジェクトが混乱し．多くの企業ではプてしまうことが少なくない
ロジェクトマネージャがプロジェクトを監視し，混表アンケート調査表．
乱を未然に防ぐ試みがなされている
我々は，ある企業の協力の下でソフトウェア開発プロジェクトの混乱状態をロジスティック回帰分析により統計的に予測する研究を行ってきた ．また，この研究の過程で開発現場からのニーズとして，プロジェクトが混乱するという事象の予測よりも，コストや期間が見積りに比べ増加するかどうかのほうが重要な問題であるとの認識を得た．そこでリスクアンケート調査の回答とコスト・期間の初期見積りからの誤差との関連を重回帰分析を用いて調べてき．
た
これまでの研究で用いてきた手法では，リスク調
査アンケートの回答項目を独立変数の候補と見なし，ステップワイズ法によって独立変数の絞り込みを行い，回帰分析を行ってきた．しかし，この方法では関連が薄いと判断された項目は除外されてしまうので，結果的にごく一部の特徴的な項目に基づいた回帰式による予測となっていた．またアンケートの回答値が 段階の値であったため推定されたコスト誤差，期間誤差も順序関係しかもたないものであった．
ロジスティック回帰分析による統計的混乱予
そこで本研究ではリスク調査アンケート結果に対測モデルの作成する因子分析を行い，そこで抽出された因子に基づプロジェクトの最終状態を 値の事象「混乱有り」
く開発コストと開発期間の誤差を推定する試みにつ「混乱無し」と位置づけ，先に収集したリスク調査アいて述べる．因子分析により，できる限り多くの項ンケートの回答から混乱の有無への回帰モデルを作
目から得られた情報を使った因子を抽出する．それ成した．ここではロジスティック回帰分析を利用しにより得られた因子スコアを使用して重回帰式を作，，年に実施された合計た．また，成することにより順序関係に依存しない予測式の作件のプロジェクトに対してアンケート調査を行った．
成をする．また，実際のプロジェクトに対して行っ実験では，年のアンケートデータから作たリスク調査アンケートから得られたデータに対し年のプロジェクトの混乱予測成したモデルをて適用実験を行う．に使用した．その結果，非常に高い精度で混乱を予測できることが確かめられた．また，上で述べたア研究の背景と目的ンケートの配布・収集，そして回帰モデルの作成をこれまでの成果ブラウザ上から行うシステムを実装した．
重回帰分析によるコスト・期間の見積と実績
我々の研究グループでは，プロジェクトマネージャの誤差予測に対するリスク調査アンケートからプロジェクトの最終的な状態 混乱したか否か を予測する研究
プロジェクトの最終状態でのコスト・期間の実測

値とそれらの見積値の誤差 コスト誤差，期間誤差と呼ぶ を目的変数とし，リスク調査アンケートの回答からコスト誤差，期間誤差を推定する重回帰モデルを作成した． と同様の予測実験を行ったところ，提案するモデルがある程度の推定精度を持つことが確認できた．
本研究の目的これらの研究を進めてきた中で，次のような課題， が開発現場から指摘されてきた．
アンケート項目の評価が順序尺度であるた
課題
め，回帰分析の結果得られる推定値も順序関係しか保存していなかった．そのため，データのある全プロジェクト中での順位という形での評価しかできなかった．つまりコストの値そのものの評価はできなかった．
また，現場へのフィードバックを考えた場
課題
合，少数の項目に対する回答だけで判断が確定すると，ある特定のリスク要因のみが重要であり，その他の項目は重要でないという錯覚を招きやすい．
本研究では，これらの課題 ， に対処することを目的とする．
具体的には，まず，プロジェクトマネージャから得られたリスク調査アンケートの回答に対して，因子分析を行う．因子分析の結果，回答の傾向が似たアンケート項目は集約され，幾つかの因子にまでまとめられる．そして得られた因子に対して各プロジェクトが持つ因子スコアを算出し，この因子スコアに基づいて，コスト誤差に対する重回帰分析を行う．
この結果，従来のように幾つかのアンケート項目だけを用いてコスト誤差に対する重回帰を行った場
合に比べ，より多くのアンケート項目が因子の構成要素として考慮に入れられることになる．これにより，一部の要因に依存した推定モデルではなく，より多くの情報を反映した推定モデルを構築できると期待できる．また，因子分析により算出される因子スコアを重回帰分析に用いることにより，推定値を比率尺度として扱うことができる．

因子分析を用いたコスト誤差，期間誤差の予測手法
メトリクスの定義
プロジェクトマネージャに対して表 に示すアンケート調査表を配布し，彼らの手がけたプロジェク
トに対する回答を回収した．プロジェクトマネージャ
はこれらの項目に対して，「はい」，「いいえ」，「どちらでもない」，「分からない」の中から回答を選択する．
「いいえ」
それらの回答に対して「はい」なら 点を，「どちらでもない」なら 点を，「分からなら 点を，ない」なら 点を割り当てた．それらの値は順序関係しか持たないので，順序尺度のメトリクスと見なされる．
また，それぞれのプロジェクトのコストが，見積りコストに対してどれくらいの割合で増減したのかを評価した．更に見積り期を測るコスト誤差間に対しても開発期間がどれくらい増減したのかをを評価する．これら つの測る期間誤差
メトリクスの定義は次に示す通りである．

コスト誤差
コスト実測値 人月
コスト見積り値 人月

期間誤差
期間実測値 月
期間見積値 月因子分析
因子分析とは，多変量データをより低次元のデータに集約し，現象の理解を容易にすることを目的としている．本来，様々なデータは互いに完全に独立ではなく，相関のあるデータも存在している．因子分析により，それらのデータから，より少数の独立した因子を探り出すことが可能である．従来の我々の研究では，観測データをそのまま重回帰分析の独立変数の候補と考えて回帰式の作成を行ってきた．しかしその場合採用されるデータにおいても完全に独立ではなく，またデータのうち一部しか結果に反映されない回帰式となっていた．先に因子分析をデータに適用することにより，よりデータを有効に用いたモデルを作成することが可能になる．
ここでは観測対象数が ，観測項目数がが ，抽出された因子数が の場合の因子分析の基本モデルを示す．

は観測値を標準化したデータのの行列である．本報告では がアンケートに対する回答データにあたる． は因子スコア行列と呼ばれる．行に観測対象（特に本報告ではプロジェクトとなる），列に因子をとったの行列である．つまり抽出された因子とプロジェクトの関係を示したものになる．
また は因子負荷行列と呼ばれる．これは，行に変量（本報告ではアンケート項目），列に因子をとっの行列である．それぞれの因子がアンケーた〜 の数値ト項目とどのような関係にあるのかをは独自因子で因子分析でで示したものとなる．
は説明できない部分となり，考慮には入れない．
この基本式を基に， と の値を推定するのが因子分析の主な役割である．まず観測データから因子数を推定する．そしてその因子に対する因子負荷行列，因子スコア行列を計算していく．因子分析の手．本報告での法には多くのものが知られている
因子負荷行列の推定には最も一般的に使われる主因分散法を利用している．
子法，因子数の推定には因子スコア
因子分析の結果を外的要因と関連付けて考える場合に利用されるのが因子スコアである．前述の がそれにあたる．これは抽出されたそえぞれの因子に対して観測対象がどれだけの影響を持っているのかを表したものである．つまり本報告の場合，プロジェクトがそれぞれの因子に対してどれだけ高いリスクをもっているのかを表していることになる．この値を基に重回帰分析を行い，コスト誤差，期間誤差の〜 の推定式を作成する．なお因子スコアの値は間の連続値をとる．
重回帰分析
重回帰分析では つ以上の独立変数から従属変数の値を予測する．具体的には次に示す重回帰式を作成する．

ここで は従属変数，は独立変数であり，収集されたデータを用いて係数の値を推定する．運用時には，こうして作成した予測式に の値を代入して予測値 を得る．
重回帰分析とは，複数の独立変数が従属変数に及ぼす線形の効果を探るものである．本研究では，因子スコアと開発コスト誤差，開発期間誤差の間に線型関係の仮定をおき，その関係の説明を試みる．また推定された係数をみることで，どの因子がコスト，期間に大きく影響を及ぼしているのかということが分かる．
提案する手法
提案する手法は次のステップから構成される．
アンケートにより得られたアンケート回答値に因子分析を適用することにより，アンケート項目を統合し簡略化をする．その際に得られる値は，因子数，因子負荷量，因子スコアである．
得られた因子スコアを独立変数，開発コスト誤差，開発期間誤差を従属変数として重回帰分析を適用する．それにより，開発コスト誤差，開発期間誤差にそれぞれ対する重回帰式が得られる．

適用実験
ここでは，提案する手法に基づいて実際のプロジェクトデータに対して行った適用実験について述べる．
対象プロジェクト
本報告で対象にしたプロジェクトは，ある企業に年から年に実施された 個の組みおいて込みソフトウェアの開発プロジェクトである．これらに対してリスク調査アンケートを配布し，それらに対する回答を得た．さらに，この企業で従来から実施されているソフトウェアメトリクス収集活動の結を得た．
果
しかしながら， プロジェクトにおいて期間に関するデータが不正確であったため，これらを分析から除外することにした．その結果，今回の分析では個のプロジェクトデータを用いる．
因子分析結果まず各プロジェクトに対するアンケートの回答値に分因子分析を適用した．因子数の決定法として散法，因子の抽出法として主因子法，また因子解の回転法としてバリマックス変換を利用した．
因子分析を実行した結果，アンケート項目は つの因子に集約された．表 に各アンケート項目に対する因子負荷量行列を，また，表 に各プロジェクトに対する因子スコア行列を示す．
表 に示す因子負荷量を元に，それぞれの因子の意味を考えることができる．ここでは特に因子 と因子 について例をあげる．
表 における因子 に対する因子負荷量からを図に示す．図 からアンケート項目のが因子 に特に強く関わっていることが分かる．表から，項目は「要件の理解力不足」， は「要は「要件に対する顧客側，件の引出し力不足」，実現側相互の合意不足」，となっている．これらのことから，因子 は要求仕様段階での危険性を表している．
同様に因子 に対する因子負荷量 図 から，アンが因子 に特に強く関わっ
ケート項目のは「見積りていることが分かる．表 から，項目の根拠不足」， は「非技術的圧力に妥協」， は

図

因子

表

各アンケート項目に対する因子負荷量の因子負荷量

図「見積りの重要さの認識不足」，となっている．これ
らのことから，因子 は見積もり段階での危険性を表していると考えることができる．
同様に考えると残りの因子は以下のように名前を付けることができる．
因子 ：進捗管理に関する危険性
因子 ：工程計画に関する危険性
因子 ：要件や仕様の変更の管理に関する危険性
因子 ：プロジェクトの体制に関する危険性
因子 ：プロジェクトの目標設定に関する危険性
このように，それぞれの因子に対して特に影響の強因子の因子負荷量いアンケート項目をそれぞれの因子の特徴と考える．
重回帰モデル
ここでは表 に示す因子スコアを利用してコスト誤差，期間誤差の回帰式を求める．
先の因子分析によって得られた つの因子に対する因子スコアを独立変数の候補とし，開発コスト誤差，開発期間誤差を従属変数として重回帰式を作成する．予測式作成についてはステップワイズ法を用いた．その結果得られた開発コスト誤差の回帰式はは実測
次のように求まった． 予測式の左辺のと区別する目的で小文字の表値として求まる記を用いる．

表プロジェクトに対する因子スコア

因子と共に以下であったので統計的に有意である．
因子値はであった．
またモデルの適合度を表す
因子
またこれらの式から得られる推定値は比率尺度で（注 ）式の有意性を示す 値
はより小さく，係数あり，推定値そのものの評価が可能である．
以下であったので統計的に有意での 値と共に
ここでコスト誤差に関して従来法と本手法の比較（注 ）値はある．またモデルの適合度を表すを考える．従来法ではコスト誤差に強い関わりを持であった．
つとされたアンケート項目は「要件の理解力不足」
また，開発期間誤差の回帰式は次のように求まった． 「技術的課題に対する楽観的見積り」 「モラール不足」の つであった．コスト誤差に影響を及ぼしているリスク要因がこの つだけであるとは現実的には考えにくい．これに比べ今回の提案法においてコ因子
スト誤差の増減に関連しているとみられるアンケー
因子
ト項目は，それぞれの因子において影響の強い項目因子「要だけを考えても因子 では「要件の理解力不足」，式の有意性を示す 値はであり，係数の 値件の引出し力不足」，「要件に対する顧客側，実現側相互の合意不足」などが挙げられ，また因子 では（注 ）：ここで， 値とは「式中の係数が本当はすべて であり上記のような値になったのはただの偶然だった」という仮説が成「見積りの根拠不足」，「非技術的圧力に妥協」，「見積立する確率を示す．
りの重要さの認識不足」，因子 では「要件，仕様値は程度の値があ（注 ）：ソフトウェア工学の文献ではれば良いとされていることが多い．

表変更管理不足」など多くのアンケート項目が関連していると言える．期間誤差についても同様である．
このように，コスト誤差，期間誤差について統計的に有意でモデルの適合度の高い回帰式を作成することができた．またここで二つの回帰式に採用された因子 と因子 については先に述べたように要求仕様，見積りに関わる因子であるので，これらの段階での影響がコスト誤差と期間誤差に強く反映していることが分かる．
予測実験
得られた重回帰式は開発コスト誤差，開発期間誤差について共に統計的に有意であり，モデルの適合度も悪くない．そこで，この手法の有効性を調べるために予測実験を行った．
予測実験の手順は次の通りである．
（ ） 全 プロジェクトのうち，任意の つを予測対象のプロジェクトとする．
（ ） 残りの プロジェクトのデータを用いて重回帰式を作成する．
（ ） 得られた重回帰式を用いてで選択したプロジェクトのコスト誤差，期間誤差の予測を行う．の手順をプロジェクトの全てに（ ）ついて繰り返す．
この手順に基づいて 回の実験を行った結果を表に示す．また，コスト誤差についての実測値と予測値の関係を表したグラフを図 に，期間誤差についての実測値と予測値の関係を図 に示す．

図

予測実験結果

コスト誤差の実測と予測の関係
図

コスト誤差の予測値と実測値の相関係数は，また期間誤差の予測値と実測値の誤差の相関係数はとなり，共にかなり相関があると言える ．この結果より，提案する因子分析を用いたコスト誤差，期間誤差の推定手法の有効性を統計的に確認できた．
しかしながら，プロットしたグラフを見てみると，実際に非常に大きなコスト誤差，期間誤差を出してい

期間誤差の実測と予測の関係るプロジェクトに関してはあまり予測精度が良くないと言える．これは，回帰式の作成に使用したデータの中にそのようなプロジェクトの例が少ないことが主な原因と考えられ，またコスト誤差，期間誤差が非常に増大してしまうことにはアンケート項目以外の要因が関連しているとも考えられる．

まとめ

本報告ではソフトウェア開発プロジェクトのコス
ト誤差，期間誤差の推定手法として，因子分析と重回帰分析を用いる手法を提案した．提案する手法では，まずプロジェクトマネージャに対するリスク調査アンケートの結果に対する因子分析を行い，特徴的な因子の抽出を行った．次に，求まった因子を用いて重回帰分析を行い，コスト誤差，期間誤差の推定モデルを作成した．この結果より多くのアンケートの回答を反映し，従来法よりも現実的な推定モデルを作成できた．実際のプロジェクトデータに対する適用実験の結果，ある程度の精度でコスト誤差，期間誤差の予測が行えることを確認した．
今後の課題としては，より多くのプロジェクトデータに対する本手法の適用が考えられる．更には現場への適用により本手法の有効性の検証の必要がある．
また，因子分析で求まった因子に対する名前付けを通じて，既存のアンケート項目をより統計的に意味のある項目へと再編成していくことも考えられる．
文献

足立 水野 菊野 高木 坂本 アンケート調査に基づく開発中のプロジェクトの混乱予測とその予測作業支援システムの開発 ソフトウェアシンポジウム
論文集
足立 水野 菊野 高木 リスク調査に基づくコストと期間の誤差予測とその統計的分析 ソフトウェアシンポジウム
論文集

石村貞夫 統計解析のはなし 東京図書水野欽司 多変量解析講義 朝倉書店
佐伯 松原 実践としての統計学 東京大学出版会
芝祐順 因子分析法 東京大学出版会