1G-5

情報処理学会第66回全国大会

構成管理システムを活用したソフトウェア開発プロセス改善への取り組み事例
會澤 実 1
1

白井 保隆 1

大木 雅彦 2

吉崎 浩二 3

株式会社トプコン 設計合理化推進部

上武大学 経営情報学部

1. はじめに
現在，構成管理システムを利用し，成果物のチェックインとともに入力された開発情報を分析することで，ソフトウェア開発での進捗管理やプロセス改善に活用する仕組みの実現を目的とした実践研究を進めている．
本稿では，実際の開発で試行した事例をもとに，本取り組みで期待される効果や課題などの考察について述べる．
2. 取り組みの背景
2.1 現状の課題
筆者らが現在対象として改善に取り組んでいる組織では，従来から，ソフトウェア開発にフィードバックするためにさまざまな開発データの収集を行ってきた．しかし，実際の開発現場では依然として定性的な報告に頼ってプロジェクト管理を行っていることが多く，また，データを利用したとしても人手の計測による負担が原因となり，タイムリーかつ効果的にプロジェクト管理やプロセス改善に活用することができないことが課題とされていた．
2.2 構成管理システムの活用
本取り組みの対象組織では，構成管理システムの組織的な展開を行ってきており[1][2]，現在までにほぼ全ての製品開発で利用されるまでに定着している．
この構成管理システムをベースに，2.1 節で述べたような問題を解決することを目標として開発プロセス分析
システムに着手し[3]，現在普及を進めている．
このシステムでは，構成管理システムから得られたデータの活用による開発状況の可視化により，z2

株式会社東芝 ソフトウェア技術センター
3

杉山 昭洋 2

分析結果をタイムリーに開発へフィードバックすることによる，生産状況管理，工程管理などの改善の強化

z

分析結果を長期的に蓄積し，統計的に分析することによる，実績データの可視化や改善点の把握を行うことを主な狙いとしており，成果物のチェックイ
ンと同時に構成管理システムに登録された，工程，作業目的，不具合原因，工数等のプロセス情報と，成果物，成果物サイズ，登録者，登録日時等の成果物情報をもとに分析支援を行う(詳細については[3]を参照)．
構成管理システムから得られる成果物量をもとにしたプロジェクト進捗状況の把握については，従来から多くの取り組みが行われてきているが，単に成果物量の情報のみを利用するのではなく，チェックイン時にプロセス情報を付加して登録することにより，開発状況をより正確に捉えることができるように工夫した．
3. 試行
3.1 本試行の目的
2.2 節で述べたようなシステムを用いた改善への取り組みについて，実際の開発プロジェクトを対象に，その効果や課題について検討することを試みた．ここでは，以下の 2 点についての考察を行うことを主な目的とする．
1. プロジェクトメンバーに対して有効な情報をタイムリーに提供できるか
2. 開発プロセス上の問題点を把握し，その解決と改善につなげられるか
3.2 試行の概要
今回の試行の対象となった開発プロジェクトは，組み込みソフトウェアの開発であり，規模は約数万行，メンバーは 3 名程度による開発である．開発は各機能ごとにインクリメンタルに行われた．
試行にあたり，コーディングの期間中，開発メンバーに対して以下の点について構成管理のルール化を行った．

A Case Study of Software Process Improvement by utilizing Software
Configuration Management System
Minoru Aizawa1, Yasutaka Shirai1, Masahiko Ohki2, Akihiro Sugiyama2,Kouji Yoshizaki3
1 {minoru.aizawa, yasutaka.shirai}@toshiba.co.jp
2 {m.ohki, akihiro_sugiyama}@topcon.co.jp
3 yoshizak@jobu.ac.jp
1 Software Engineering Center, TOSHIBA Corporation
2 Technical Design Rationalization Promoting Dept., TOPCON Corporation
3 Dept. of Management and Information Science, JOBU University

1−181

z

毎日のコーディング作業が終わるごとに当日作業した
成果物は必ず構成管理システムにチェックインするz

構成管理システムにチェックインを行う際に，機能毎に，開発開始，開発中，開発終了のいずれかの情報を付加してチェックインを行う(構成管理システムのユーザインタフェースから入力可能)

z工程(コーディングまたはテスト)，作業目的(仕様変更

に伴う修正や，不具合による修正など)，不具合原因(設計ミス，コーディングミスなど)の各情報をチェックイ
ンと同時に登録する(構成管理システムのユーザインタフェースから入力可能)

製品品質の安定度合いを視覚的に確認できると考えられる．その他，このような情報を蓄積し次の機能の開発の見積もりの参考とすることで，見積もりプロセスの改善(見積もり精度の向上)につなげることも期待できる．

製品開発中の複数回にわたり，データの分析，グラフによる可視化を行い，支援グループから開発メンバーに対して分析レポートの提出やヒアリングを行うことで，結果のフィードバックを実施した．図 1 に，今回の試行の流れについて示す．
開発者
プロセス情報

開発作業

組織、工程、工期、工数、予定等
構成管理ツール
成果物、日付、作業者

ＤＢ

図 2. データ例 (開発作業量の推移)

フィードバック

分析支援グループ

開発プロセス分析システム

図 1. 開発プロセス分析システムの利用
4. 考察
4.1 開発メンバーへのフィードバック
試行期間中，計 4 回のフィードバックを行った．フィードバックでは，開発量の推移や，入力されたプロセス情報をもとに，分析結果をメンバーに提示した．
今回の試行でフィードバックした情報として用いられたグラフの例を図 2 に示す．これは，製品のある一機能について，そのコーディング開始から実機試験終了までの開発作業量の累積と成果物サイズの推移を追ったグラフの一部を拡大したものである．破線が開発作業量の累積の推移を，実線が成果物サイズの推移を示している．
なお，抜粋元のグラフの横軸は作業日数を，縦軸はソースコード行数を示している．ここで，開発作業量とは，追加または変更されたソースコードの行数であり，成果物サイズとは，その機能を構成する各ファイルのソースコード行数の総数である(コメント行も含む)．このグラフは開発プロセス分析システムから得られるものである．
図 2 のグラフからも分かるように，開発途中で成果物サイズと開発作業量の累積が大きく乖離している．開発
メンバーに対してフィードバックを行ったところ，仕様変更が多く落ち着いていないとのことであった．
その後，しばらくして仕様変更が少なくなるとともに，乖離も少なくなったことがグラフから読み取れる．
今回の場合，フィードバックにより直接何らかの是正処置を取ったということはなかったが，状況によってはこのような開発量推移が見られた時点でフィードバックを行うことで，開発上の問題を検出し，タイムリーな是正処置につなげることができると考えられる．
また，このような分析を続けることで，リリース後の4.2 課題
今回，チェックイン時に作業目的や不具合原因などの情報を選択入力してもらうことにしたが，現時点では，作業目的として通常の開発であることを示す以外の情報は入力されていない．不具合に伴う大きな手戻りが特に発生していないことや，結合テストに伴う修正に対する分類が難しかったことなどが原因として考えられるが，選択入力項目の分類や手続き上に問題がないかを再度確認した上で，より有効な分析につながる情報を得ることができないかどうか検討する必要があると考えられる．
また，現在は図 1 のように支援グループを通してのフィードバックとなっているが，開発者，管理者がシステムから直接分析結果を得るようにすることで，よりタイムリーなフィードバックにつながることが期待できる．
5. まとめ
筆者らが取り組んでいる構成管理システムを活用したソフトウェア開発プロセス改善について，実際の開発プロジェクトに対する試行とその考察を説明した．
試行の結果，構成管理システムに入力された情報を開発プロジェクトへフィードバックし，活用できることを確認することができた．
一方，今回は定性的な情報による考察が中心であったが，今後データ量をさらに蓄積しながら，この取り組みに対する定量的な評価を行っていくことが必要であると考える．また，データを継続的に蓄積していくことで統計的な分析を行い，その結果を開発現場にフィードバックして，より効果的なプロセス改善へとつなげていく予
定である．
参考文献
[1]會澤他:"ソフトウェア構成管理プロセス改善の一手法(1)", 第 60 回情報処理学会全国大会, 2000.
[2]大木他:"ソフトウェア構成管理プロセス改善の一手法(2)", 第 60 回情報処理学会全国大会, 2000.
[3]大木他:"構成管理データに基づく開発プロセス分析の一手法", 第 64 回情報処理学会全国大会, 2002.

1−182