157

受託開発ソフトウェアの保守における作業効率の要因
角田 雅照

門田 暁人

松本 健一

押野 智樹

本論文では，ユーザ企業のソフトウェア保守のコストを抑えることを目的として，保守の作業効率と関連のある（影響する）特性を明らかにする．技術者あたり保守量（保守プログラム本数/技術者数）を作業効率と定義し，財団法
人経済調査会により企業横断的に収集された，ソフトウェア保守に関するデータセットを用いて分析を行った．重回
帰分析を適用した結果，ユーザが（コストを抑えるために）制御可能で，かつ技術者あたり保守量と関連のある特性は，保守プロセスの標準化状況であることがわかった．プロセスを標準化することにより，技術者あたり保守量がおおむね 8 倍（少なく見積もると 2 倍，多く見積もると 35 倍）程度改善することが期待される．

This paper aims to clarify factors related to software maintenance eﬃciency, to suppress maintenance costof a user company. We deﬁned maintenance amount per engineer (the number of maintained programs / thenumber of engineers) as maintenance eﬃciency, and analyzed the cross-company dataset of software maintenance collected by the Economic Research Association. A multiple regression analysis showed that thestatus of maintenance process standardization is the factor which can be controlled by the user and has relationship to maintenance eﬃciency. Maintenance process standardization is expected to make maintenanceeﬃciency about 8 times better (at least about 2 times better, and at most about 35 times better).

それらの修正も含んだ概念であり，JIS X 0161 [6] で

1 はじめには是正保守，予防保守，適応保守，完全化保守の 4 つ

近年，受託開発ソフトウェアの保守に関して，ベンに分類している．

ダ（保守受託企業）とユーザ（保守委託企業／組織）

保守と新規開発では実態が大きく異なり，新規開発で契約を結ぶ場合があり，保守の重要性が高まっていで得られている定量的な知見が，同様に保守でも成る．保守とは，単にソフトウェア出荷後に発見された立するとは限らない．保守工程は，問題把握及び修欠陥を除去することだけを指すのではない．ソフト

正分析，修正の実施，保守レビュー及び受入れからな

ウェアは利用されているうちに，ビジネス環境の変化る [6]．保守では最初と最後の工程の作業量が多いが，により，機能の拡張，修正が必要となる．保守とは，途中の工程（修正の実施）は作業量が少なく，新規開発の作業量の分布とは逆となる（新規開発では製造のFactors Aﬀecting Maintenance Eﬃciency of Custom
Made Software.
Masateru Tsunoda, 東洋大学総合情報学部, Departmentof Information Sciences and Arts, Toyo University.
Akito Monden, Kenichi Matsumoto, 奈良先端科学技術 大 学 院 大 学 情 報 科 学 研 究 科, Graduate School ofInformation Science, Nara Institute of Science andTechnology.
Tomoki Oshino, 財団法人経済調査会, Economic Research Association.
コンピュータソフトウェア, Vol.29, No.3 (2012),pp.157–163.
[研究論文 (レター)] 2012 年 4 月 2 日受付.

作業量が最も多い） [8]．
本論文では，保守における作業効率（投入された人的資源に対する産出量）に関連を持つ（影響すると考えられる）特性を明らかにする．作業効率に影響する特性を明らかにしてそれを制御し，効率を高めることにより，ユーザは保守コストを抑えることができる．
分析では，投入された人的資源を技術者数，産出量を保守プログラム本数として，技術者あたり保守量を作業効率と定義し，重回帰分析により作業効率に関連す158

コンピュータソフトウェアる特性を明らかにする．

2 データセット

表1
詳細

標準化状況

保守プロセスの標準化の状況（標準化済=1，標準化作業中/未標準化=0） こ

分析対象のデータセットは，財団法人経済調査会にの測定量のみ，組織全体における状況

よって 2007 年度に 83 組織から収集されたケースである．調査は，主にユーザに対して行われた．各ケーを表す
システム構成Web 系，メインフレーム）
母体プログラム本数

保守プログラム本数

保守を行ったプログラムの本数

技術者数

常駐しているベンダのソフトウェア保守レビュー，文書作成，受け入れなどの一連の手順が守技術者数

明確に定義されていることを指す．1 つのケースが複人的要因作成して分析する．前出の例の場合，メインフレームと Web 系のダミー変数の値を 1，クライアントサー

問題要因
生産性変動要因

バ，Web 系，メインフレームの 3 つのダミー変数を保守プロジェクトあるいは保守組織の大きさと熟練度数のシステム構成を持つこともあったため（例えば，メインフレームと Web 系など），クライアントサー

保守対象ソフトウェアの総プログラム本数

データセット中の各測定量の詳細を表 1 に示す．保
守プロセスが標準化されているとは，修正分析，保保守対象のソフトウェアが動作するシステムの構成（クライアントサーバ，スは，各組織における代表的な事例（各組織につき 1つ）である．

測定量一覧

項目名

対象とする問題の型と重要度，要求仕様の構成，問題解の制約，波及度合い

プロセス要因

要求仕様言語，設計/プログラミング言語，開発方法論

プロダクト要因

対象システムの信頼性，規模，効率，制御構造，複雑度

バのダミー変数の値を 0 とする．人的要因からツー

資源要因

対象とするハードウェア，期間，予算

ル要因（これらを生産性変動要因と呼ぶ）は，文献

ツール要因

ライブラリ，コンパイラ，テストツー
ル，保守ツール，リバースエンジニア[7] に基づいて定義された測定量であり，それぞれのリングツール

要求に関する厳しさが 3 段階（数字が小さいほど厳しい）で評価されている．

たと推測される．

各測定量には欠損値（値が記録されていないこと）が含まれていた．技術者あたり保守量（3 章で説明す

3 技術者あたり保守量の定義る）の定義で用いる保守プログラム本数と技術者数の保守における作業効率，すなわち投入された人的両方（すなわち，技術者あたり保守量）が欠損してい資源に対する産出量を定義する．本論文では，投入さない 14 件のサンプルを分析する．うち 8 件は保守プれた人的資源を（常勤の）技術者数，産出量を（1 年ロセスが未標準化または標準化作業中であり，6 件は間の）保守プログラム本数とし，技術者あたり保守量標準化済である．13 件は事務系システムのサンプル（保守プログラム本数/技術者数）を作業効率とした．

である．なお，保守対象のシステムが事務系かどうか技術者数が少ないと保守コストの低減につながり，保を含めて分析した（ダミー変数化して 4 章と同様の守プログラム本数が多いと多くのサービスを受けて分析した）が，結果に変化はなかった．

いることになる．よって，保守の品質が同程度である

14 件のサンプルのうち，生産性要因が欠損しているケースが 2 件あるが，その他の測定量には欠損値ならば，ユーザにとって技術者あたり保守量が高いことは望ましいといえる．

が含まれていない．保守プログラム本数が 99999 と技術者数はベンダが保守のために常勤させている技なっている 1 件のケースを，異常値とみなして分析術者数である．投入された人的資源として，実際の作から除外した（14 件に含まれていない）．データ収業時間を用いたほうがより正確であるが，それらが記集フォームが 5 桁であり，このケースの技術者数，母録されていなかったため，常勤の技術者数を用いた．

体プログラム本数が特に大きかったことから，保守プ

なお，経済学における（労働）生産性の定義では，投ログラム本数が多過ぎて，実際の値を記入できなかっ入量として従業員数を用いることがあり，本論文の定Vol. 29 No. 3 Aug. 2012
表2

技術者あたり保守量の統計量

159

用いた理由は，各説明変数が目的変数に対してどの程平均値中央値

標準偏差

最小値

最大値

度関連を持っているかを，個別に（他の変数の影響を174.70

29.00

417.21

4.00

1600.00

除外して）知ることができるためである．
重回帰分析の結果に基づいて，さらに詳細に分析する際，カテゴリ間の（代表値の）差を確かめる場合にはマン・ホイットニーの U 検定を用いた．これは外れ値（特に大きな計測値．異常値ではない）の影響を避けるためである．同じ理由で，関連を分析する場合にはスピアマンの順位相関係数を用いた．以降の分析では有意水準を 5%とする．

4. 1 重回帰分析の適用方法
図1

技術者数と保守プログラム本数との関連

義はこれに近い．

標準化状況，母体プログラム本数，システム構成，生産性変動要因を説明変数の候補とした．母体プロ
グラム本数，技術者あたり保守量（目的変数）につい保守プログラム本数は 1 年間の合計値である．保守ては，外れ値の影響を避けるため，対数変換を適用し規模については，プログラム行数やファンクションポた．欠損値処理についてはリストワイズ除去法を適用

イント（FP）で計測した値も記録されていたが，プし，欠損値が含まれているプロジェクトを除外した．

ログラム本数で計測した場合と比べて欠損値が多かっ

Strike らは，ソフトウェア開発データを用いてモデルたため用いなかった．なお 1 章でも述べたように，保を構築する場合，リストワイズ除去法の適用が妥当で守では調査・分析，テストに掛かる工数と比べ，修正あることを示しており [9]，これに従った．に掛かる工数は相対的に低く，よって修正行数や追加説明変数の絞り込みは変数増減法により行った．変

機能量による作業量見積もりは意味が薄いとの指摘

数増減法では，回帰係数の検定のための F 値に対応がある [8]．

する p 値は 0.05 から 0.50 の範囲で，重要な変数を落技術者あたり保守量（技術者あたり保守プログラとさないなら大きな値，重要でない変数を取り込まなム本数）の統計量を表 2 に，保守プログラム本数といなら小さな値を指定する [11]．本論文では両方のバ技術者数との関係を図 1 に示す（保守本数は可読性ランスを考慮し，p 値が 0.20 より小さければ変数をを高めるために対数変換している）．図より，技術者取り込み，0.30 より大きければ除外した．

数が多いと保守本数が多い（少なくない）傾向が見られるが，技術者数が少ない場合でも保守本数が多4. 2 重回帰分析の妥当性い場合があり，技術者あたり保守量のばらつきが大き構築されたモデルの条件指標を表 3 に，各説明変い．なお，スピアマンの順位相関係数は 0.45 であっ数の VIF を表 4 に示す．VIF と条件指標は，モデルた（p = 0.10）．に多重共線性が発生しているかどうかを確かめるための指標であり，各変数の VIF が 10 を超える場合やモ

4 分析

デルの条件指標が 30 を超える場合，多重共線性が発

本章では技術者あたり保守量と統計的に関連が見生しているとされる [10] [11]．モデルはこれらの基準られる測定量を明らかにし，その測定量について詳細を満たしており，多重共線性の問題はないといえる．に分析する．2 章で述べたように分析に用いたサンプ

誤差項の分散均一性に問題がないかを確かめるた

ルでは欠損値が少なかったため，技術者あたり保守量めにラグランジュ乗数検定を行い，誤差項の分布の正を目的変数として重回帰分析を行った．重回帰分析を規性に問題がないかを確かめるためにコルモゴロフ-

コンピュータソフトウェア

160
表34. 4 標準化の効果量

重回帰モデルの概要

決定係数

自由度調整済み決定係数

p値

条件指標

プロセスの標準化が技術者あたり保守量にどの程0.78

0.70

0.01

26.54

度の影響を与えるか推定する．構築されたモデルは以下のように表わされる．

表4
測定量名

y = β0 + β1 x1 + β2 x2 + β3 x3 + ε

採用された説明変数(1)

ここで， y は対数変換した技術者あたり保守量，x1

標準化偏回帰係数

p値

VIF

0.89

0.01

2.98

は対数変換した母体プログラム本数，x2 は標準化状

標準化状況

0.58

0.01

1.15

況，x3 は問題要因であり，β0 は回帰定数，β1 ，β2 ，問題要因

-0.52

0.11

3.03

β3 は偏回帰係数，ε は誤差項である．対数変換しな

母体プログラム本数

い技術者あたり保守量を y ′ とすると，式 1 は以下のスミルノフ検定を行った．その結果，それぞれの p 値ように表せる．

が 0.29 と 0.97 となったことから，これらの問題はな

y ′ = exp(β0 )exp(β1 x1 )exp(β2 x2 )exp(β3 x3 )exp(ε)

いといえる．

(2)

また，特異なケースが含まれていないかを確かめる

よって，標準化されている場合，技術者あたり保ため，Cook の距離を求めたが，1 より大きいケース守量に exp(β2 ) を乗じる効果があることになる．標は存在しなかった．よって，ある特異なケースがモデ

準化状況の偏回帰係数と 95%信頼区間を表 5 に示す．

ルに大きな影響を与えている（偏回帰係数を大きく変表より，標準化されている場合，技術者あたり保守量化せさている）ことはないと考えられる．に 8.04（95%信頼区間で 1.86 から 34.69）を乗じる効果があると推定される．すなわち，標準化すること

4. 3 重回帰分析の結果により，おおむね 8 倍（少なく見積もると 2 倍，多表 3 に示すように，重回帰分析の自由度調整済み

く見積もると 35 倍）程度，技術者あたり保守量が高決定係数は 0.70 であり，選択された説明変数の説明まると考えてよく，ユーザは保守コストが削減できる力は比較的高いといえる．また，表 4 に示すように，ことを期待できる．

説明変数として母体プログラム本数，標準化状況，問ここで，技術者数（技術者あたり保守量の分母），題要因が採用され，問題要因以外が有意となった．シ

保守プログラム本数（同分子）と，標準化状況との関ステム構成や問題要因以外の生産性変動要因は説明係を箱ひげ図により確かめた（可読性を高めるため，変数として採用されなかった．

一部の外れ値は省略した）．図 2 に示すように，保守有意となった測定量で，ユーザが制御しうる測定量プログラム本数については，標準化済のほうが中央は標準化状況のみである．偏回帰係数は正であること

値が大きかったが，四分位範囲に大きな違いはなく，から，標準化されていると技術者あたり保守量（目的差も有意ではなかった（p = 0.35）．図 3 に示すよう変数の値）が大きくなる．に，技術者数については標準化済のほうが中央値が小一方，母体プログラム本数の偏回帰係数が正であさく，四分位範囲にも違いが見られたが，差は有意でることから，母体プログラム本数が多いほど技術者はなかった（p = 0.14）．よって，プロセスを標準すあたり保守量が大きくなる．ただし，母体プログラムることにより，（同程度の技術者数で保守量が増える本数をユーザが制御することはできない（母体プロのではなく）同程度の作業量に対し，より少ない技術グラム本数と保守プログラム本数の関連を調べると，者数で保守できると考えられる．

相関係数は 0.69 で有意であった（p = 0.01））．

4. 5 技術者数を考慮した分析
前節の分析において，技術者数と標準化状況の関連は有意ではなかったが，図 3 を見ると関連がある

Vol. 29 No. 3 Aug. 2012
表5161

4. 6 結果への影響要因

技術者あたり保守量への効果
上側信頼限界分析で用いたデータセットは，日本における，主点推定

下側信頼限界偏回帰係数（β2 ）

2.08

0.62

3.55に事務系のソフトウェア保守に関するデータである．

効果（exp(β2 )）

8.04

1.86

34.69

従って，制御系のソフトウェア保守や，他国でのソフトウェア保守においても，分析結果が必ずしも成立するとは限らない．分析結果の一般性を高めるために，他国や他種のソフトウェアでの保守データを分析することは，今後の課題である．また，分析で用いたサンプルは 14 件であり，重回帰分析において統計的に有意な関係が見られたが，結果の信頼性を高めるために，さらなるデータの収集，分析が望ましい．

5 関連研究
図2

標準化状況と保守プログラム本数との関連

ソフトウェア保守工数見積もりに関する研究は数多く行われているが [1] [2] [4] [12]，保守プロセスの標準化と作業効率（工数）との関係については，これらの研究において定量的に分析されていない．多くの場
合，企業横断的データを用いておらず（少数の組織から収集されたデータを用いており），標準化状況と作業効率との関連を分析できないためであると考えられる．ISBSG（International Software BenchmarkingStandards Group）がソフトウェア保守（及びシステム運用）の企業横断的データを提供しているが [3]，保図3

標準化状況と技術者数との関連

守プロセスの標準化状況については記録されておらず，標準化状況について分析することはできない．

ようにも見える．このことから「実際に技術者あたり企業横断的データを用いて保守効率について分析保守量に関連しているのは技術者数であり，標準化状した事例が，わずかながら存在する．経済産業省と日況は関連していない」ということも考えられる．そこ

本情報システム・ユーザー協会との調査 [5] では，技で，技術者数を考慮しても，技術者あたり保守量と標術者あたりの保守対応件数を作業効率とみなして，業準化状況に関連があるのかを確かめるために，技術者種別の技術者あたり対応件数を示している．ただし，数を説明変数の候補として追加し，4. 1 節と同じ方法

標準化状況と作業効率の関連については明らかにされで重回帰分析（技術者数を対数変換した場合としないていない．横田の調査 [13] では，保守作業標準化が業場合の 2 通りを実施した）を行った．

務改善に有効であることがアンケート結果に基づき示

しかし，採用された説明変数に変化はなく，技術者されている．ただし，作業量などに基づいた定量的な数を説明変数の候補としない場合と同一のモデルが分析は行われておらず，本論文のように作業効率（技構築された．回帰係数の検定のための F 値に対応す術者あたりの保守量）の差も定量的に示していない．

る p 値に，小さな値を設定しなかった（4. 1 節参照）

標準化状況以外の測定量については，いくつかの研にも関わらず説明変数として採用されなかった．従っ

究で保守の作業効率との関連について分析されていて，技術者数を考慮しても，技術者あたり保守量と標る．母体ソフトウェアの規模については，Jørgensen

準化状況は関連があるといえる．

[4] がある企業のデータを分析し，作業効率に関連が162

コンピュータソフトウェアないことを示している．本論文の分析では，母体プログラム本数と技術者あたり保守量に関連が見られ，この点では傾向が異なる．今後，さらに他種のデータセットでの分析が望まれる．
また，Jørgensen は開発言語（第 3 世代言語と第 4世代言語）によって，作業効率に違いがないことを示している．本研究でもシステム構成とプロセス要因が説明変数として採用されなかったことから，類似した分析結果であるといえる．生産性変動要因については，類似の概念（技術的要因，人的要因など）の変数が，Ahn ら [1] の保守工数見積モデルに含まれている．本論文の分析においては，問題要因が説明変数として採用されたが，統計的には有意とならなかった．

6 おわりに
本論文では，ソフトウェア保守の作業効率に関連を持つ特性を明らかにすることを目的とし，企業横断的に収集された保守データを分析した．技術者あたり保守量を作業効率と定義し，これを目的変数として重回帰分析を行った結果，保守プロセスの標準化状況と技術者あたり保守量とに関連があることがわかった．プ
ロセスを標準化することにより，技術者あたり保守量がおおむね 8 倍（少なく見積もると 2 倍，多く見積

dards Group：Software Maintenance and Support,
http://www.isbsg.org/isbsgnew.nsf/WebPages/90A2D3CE7EA7AB47802577E70007D8DE[ 4 ] Jørgensen, M.：Experience With the Accuracy ofSoftware Maintenance Task Eﬀort Prediction Models, IEEE Trans. on Software Eng., Vol. 21, No. 8(1995), pp. 674–681.
[ 5 ] 日本情報システム・ユーザー協会（編）：ソフトウェ
アメトリックス調査 2008，日本情報システム・ユーザー協会，2008.
[ 6 ] 日本規格協会：JIS X0161 ソフトウェア技術−ソフトウェアライフサイクルプロセス−保守，日本規格協会，2008.
[ 7 ] ソフトウェア・メインテナンス研究会：第 4 年度 ソ
フトウェア・メインテナンス研究会報告書，ソフトウェ
ア・メインテナンス研究会，1995.
[ 8 ] ソフトウェア・メインテナンス研究会：ソフトウェ
ア保守開発 - ISO 14764 による，ソフト・リサーチ・センター，2007.
[ 9 ] Strike, K., El Eman, K., and Madhavji, N.：Software Cost Estimation with Incomplete Data, IEEE
Trans. on Software Eng., Vol. 27, No. 10 (2001),
pp. 890–908.
[10] Tabachnick, B., and Fidell, L.：Using Multivariate Statistics (3rd Edition), Harper Collins CollegePublishers, 1996.
[11] 田中豊, 垂水共之（編）：Windows 版 統計解析ハン
ドブック 多変量解析，共立出版，1995.
[12] 和佐野哲男，小林吉純：ソフトウェアの機能変更と移植における生産性モデル，電子情報通信学会論文誌D-I，Vol. J77-D-1，No. 8 (1994)，pp. 567–576.
[13] 横田隆夫：ソフトウェア保守環境の調査と改善事
例 ，プロジェクトマネジメント学会誌，Vol. 5，No. 2(2003)，pp. 40–44.

もると 35 倍）程度改善することが期待され，ユーザにとって保守コスト削減につながるメリットがある．
今後の課題は，データ数を増やすことにより，結果の角田 雅照

信頼性をより高めることである．

1997 年 和 歌 山 大 学 経 済 学 部 卒 業 ．

謝辞 本研究の一部は，「次世代 IT 基盤のための研2004 年奈良先端科学技術大学院大究開発」の委託に基づいて行われた．また，本研究の学情報科学研究科博士前期課程修了．

一部は，文部科学省科学研究補助費（若手 B：課題番号 22700034）による助成を受けた．

2007 年同大学同研究科博士後期課程修了．同年同大学同研究科特任助教．2012 年東洋大学総合情報学部助教．博士（工学）．ソフトウェアメ

参 考 文 献トリクスの研究に従事．電子情報通信学会，情報処[ 1 ] Ahn, Y., Suh, J., Kim, S., and Kim, H.：
The software maintenance project eﬀort estimation
model based on function points, J. Software Maintenance: Research and Practice, Vol. 15, No. 2 (2003),
pp. 71–85.
[ 2 ] 早瀬康裕，松下誠，楠本真二，井上克郎，小林健一，
吉野利明：影響波及解析を利用した保守作業の労力見積りに用いるメトリックスの提案，電子情報通信学会論文
誌 D，Vol. J90-D，No. 10 (2007)，pp. 2736–2745.
[ 3 ] International Software Benchmarking Stan-理学会，日本ソフトウェア科学会，ヒューマンインタ
フェース学会，教育システム情報学会，IEEE 各会員．

Vol. 29 No. 3 Aug. 2012
門田 暁人

1994 年名古屋大学工学部電気学科卒
業．1998 年奈良先端科学技術大学院大学情報科学研究科博士後期課程修

エンピリカルソフトウェア工学，特に，プロジェクトデータ収集／利用支援の研究に従事．電子情報通信学会，情報処理学会，日本ソフトウェア科学会，ACM各会員，IEEE Senior Member．

了．同年同大学同研究科助手．2004

押野 智樹

年同大学助教授．2007 年同大学准教授．2003〜2004

1981 年北見工業大学工学部卒業．同

年 Auckland 大学客員研究員．博士 (工学)．ソフト

年日本国有鉄道入社．1986 年財団法

ウェアメトリクス，ソフトウェアプロテクション，

人経済調査会入会．2008 年経済調査

ヒューマンファクタ等の研究に従事．電子情報通信学会，情報処理学会，日本ソフトウェア科学会，IEEE，ACM 各会員．

163

会経済調査研究所室長．ソフトウェ
アプロジェクトデータ収集・分析／特にシステムのコストに関する調査・研究に従事．JFPUG，PM 学会，松本 健一

1985 年大阪大学基礎工学部情報工学科卒業．1989 年同大学大学院博士課
程中退．同年同大学基礎工学部情報工学科助手．1993 年奈良先端科学技術大学院大学助教授．2001 年同大学教授．工学博士．

ソフトウェアメインテナンス研究会，日本コスト評価学会各会員．