4. ツールの評価実験 30
4.3. 実験結果
被験者に約1時間 IZMIを用いて分析してもらい,延べ18件の指摘を得た.表 1に,実験に要した時間と指摘事項件数をまとめる.また,主な指摘事項を表2に 示す.全指摘事項は付録Cに掲載する.表2より,プロジェクトの開発期間全般 にわたり,特定のファイルや日付など幅広い観点から分析を行っていることがわか る.表3には,被験者がどのような手順でIZMIを操作し,分析を行ったのかの記 録を示す.表4に,被験者がプロジェクトが成功であったか失敗であったかを判断 した結果を示し,付録Dに判定と判断理由を掲載する.
表1 被験者の実験時間と指摘事項件数 指摘事項(件) 実験時間(分)
被験者A 3 50
被験者B 6 50
被験者C 2 50
被験者D 2 55
被験者E 4 60
被験者F 1 60
延べ 18 —
表2 指摘事項の例 指摘例 分析項目 記述内容
(1) 6/5に編集したファイル
1 (2) 編集したファイル数が多く,ほとんど全ての編集を 同一開発者が行っている
(3) 仕様の変更のような大きな変化により,多くのファイルが 編集されたのではないか
(1) 5/28〜6/2
2 (2) この期間の開発が全く行われていない
(3) 休暇中か,プログラミング以外の作業を行っていた (1) 5/22〜5/27,6/3〜6/11の一部のファイルをのぞいては
順調である
3 (2) セルが赤色で示されていたり,トータルの編集回数の 突出したファイルがある
(3) 設計が不十分なまま開発が行われているため編集回数が 増えたのではないか
分析項目は4.2のステップ1と対応
表3 被験者によるIZMIの操作記録
被験者によるIZMIの操作 利用者数(人) 開発の傾向を読み取るためにビューサイズを変更 5 極端に色の濃い期間と薄い期間に着目して分析 3 ファイルを誰がいつ編集していたか詳細ビューで確認 2
表4 プロジェクトは成功か失敗かの判定
観点 判定 人数(人) 観点 判定 人数 観点 判定 人数
(1) 0 (1) 0 開 (1) 0
成 (2) 1 開 (2) 3 発 (2) 2 果 (3) 3 発 (3) 2 期 (3) 0 物 (4) 1 者 (4) 1 間 (4) 3
(5) 1 (5) 0 (5) 1
(1) : 失敗 (2) : どちらかといえば失敗 (3) : どちらともいえない (4) : どちらかといえば成功 (5) : 成功
5. 考察
5.1. 推測した事象を IZMI から読み取ることができるかの検証
評価実験によって被験者が推測した事象が実際の開発時に起こっていた事象と一 致するかを確認する前に,被験者が推測した事象18件が,そもそも IZMIから読 み取れる情報であるのかを検証した.もしIZMIからでは読み取れない情報が多く あった場合,IZMIはプロジェクトで発生した事象を推測するための十分な情報を 被験者に提供することができず,被験者は自身の経験と勘のみで事象を推測してい たことになるからである.
検証の結果,18件全てがIZMIを操作することで読み取れる情報であることがわ かり,IZMIはプロジェクトで発生した事象を推測するための十分な情報を被験者 に提供できていることが検証により明らかになった.
5.2. 開発者による事実確認
被験者がIZMIを用いて推測した18件の事象(表1,表2)が事実であったかど うかの判定を当該プロジェクトのメンバに依頼した.判定結果を表5に示す.「ほ ぼ一致している」と「一致している」を正解とすると,被験者が推測した事象のう ち50%が事実と等しい判断を下せていたことがわかった.事実と判断された項目 としては,編集回数が極端に多いファイルがあることから設計が不十分であったと いうものや,開発中盤で開発が全く行われていない期間に開発を行えない状態に あったことを推測したものがあった.事実と異なると判断された項目の多くは開発 期間を見誤ったものであることがわかった.分析対象のプロジェクトはリリース後 の保守工程を含んだものであるが,被験者の多くはIZMIで表示されている開発期 間の最終日を納期として分析を行っていた.IZMIでは,どの日にプロジェクトの 納期を迎え,どの日から保守工程に入っているのかを明示的に示す手段を持ってい ない.そのため,開発期間に関する推測の多くが不正解となったと考えられる.
また,当該プロジェクトのメンバにプロジェクトが成功したか失敗したかについ て確認した所,失敗プロジェクトであるという認識を持っていることがわかった.
表5 プロジェクトメンバによる指摘事項の判定 判定 該当事項(件)
大きく異なる 1
異なる 3
どちらともいえない 5 ほぼ一致している 6
一致している 3
その理由として,当初の計画通りに開発が進まなかったことや,納期に間に合わせ るために開発を急ぎ,その結果リリース後に多くのバグが見つかったことを挙げ た.「開発者の観点からみてプロジェクトは成功であったか」という設問に対して
「成功」と答えた被験者は一人もおらず,「どちらかといえば失敗」と判断した被験 者が半数である.一方,被験者の多くは成果物や期間の観点からみると,どちらか といえば成功であると判定している.成功であると判定した理由の多くが「リリー ス日に開発を終えているから」いうものであった.これは,現在,IZMIで提示で きる情報がファイルの編集頻度などに限られているためと思われる.開発が終了し たということとプロジェクトが成功したこととは必ずしも一致しない.そのため,
より分析の精度を高めるためには,開発者の作業量,テストの網羅率,その他各種 のメトリクスから成果物の品質を可視化するツールと併用するなどの工夫が必要と なる.
5.3. 被験者による IZMI の利用方法
開発プロセスについての分析シートから得られる情報からは,被験者がどのよう なことをIZMIから読み取ったかを知ることができるが,IZMIをどのように利用 したかを知ることはできない.IZMIはメインの機能となる開発履歴の俯瞰の他に,
ユーザの分析を支援するためのいくつかの機能を持っている.そのため評価実験で は,被験者にどのような手順でIZMIを操作したかを被験者自身に記録をとっても らっていた.本節では,被験者が記録した操作手順を分析することにより,被験者 がIZMIの機能をどのように利用して分析を行っていたかを考察し,IZMIが提供
する各機能の有効性を確かめる.
表3に示したように,被験者は様々な手順でIZMIを操作し,分析を行っていた ことがわかる.その中でも特に,ビューサイズの変更が分析において最も利用され ていた.ほとんどの被験者が分析の端緒としてビューサイズを極小に切り替え,開 発全体の傾向を確認していた.その後,編集回数によって色分けされたイベント ビューの中で,極端に色の薄い区間と濃い区間にそれぞれ着目して分析を行ってい た.また,特に編集回数の多いファイルに対しては詳細ビューを見て,どのくらい の間隔で編集を繰り返していたかや,どの開発者が編集を行っていたかに着目して 分析を行っていた.
5.1で検証したように,被験者はIZMIを利用することで多くの開発で発生した と思われる事象を推測することができ,また本節では被験者はIZMIが提供する機 能を充分に活用しながら事象を推測していたことがわかった.以上より,被験者は IZMI や分析対象のプロジェクトに関する事前知識が無くても,戸惑うことなくプ ロジェクトを分析できることが確認できた.
6. おわりに
本研究では実開発プロジェクトにおいて,ユーザ・ベンダ間でソフトウェア開発 データの分析・共有を支援するための可視化手法を提案し,提案手法に沿った可視 化ツールIZMI の開発を行った.IZMIでは,ソフトウェア開発プロジェクトにお ける成果物の編集頻度に着目し,いつ,誰に,どれだけ編集されているのかや,そ の過程の可視化を実現した.成果物表示モードと開発者表示モードの2つを用いた 表形式での可視化を行った.各セルには,成果物や開発者のその日に起こった編集 回数を表示した.各セルを選択することにより,誰がどのファイルにどのような変 更を加えたのか,詳細な情報を表示することができる.またIZMIの利用者が容易 に情報を収集できるようにビューの拡大縮小,編集回数によるセルの色分け,フォ ルダによるフィルタリングや別フォルダとの比較,期間によるフィルタリングな ど,多数の機能を設けた.
ソフトウェア開発プロジェクトの上流工程で発生した過去の問題事例や,開発の 全工程にわたる運用を総合的に支援する基盤であるソフトウェアタグの利用例を用 い,上流工程において発生しうる 6件の事象を IZMIから読み取れることを示し た.また,IZMIが実開発プロジェクトの分析を行えることを確認するために,ソ フトウェア開発の基礎知識を有した6人の学生に小規模な開発プロジェクトの分析 を行ってもらい,どの程度プロジェクトで発生した事象を推測することができるか 検証した.その結果,全ての被験者がIZMIを用いることで,プロジェクトで発生 した事象を推測することができ,約1時間で延べ18件の指摘事項を見つけること ができた.そして,指摘事項の50%が実際の開発で発生した事象と一致した.ま た,被験者に記録してもらったIZMIの操作手順を分析することにより,被験者は IZMI の提供する機能を充分に活用しながら分析を行っていることを確認した.こ れらの結果から,IZMIは当該プロジェクトについての予備知識を持たない利用者 にとっても,開発プロセス等の理解支援を行うことができるといえる.
現在,IZMIの一般公開を目指した取り組みを行っている.本研究では,学生によ る小規模な開発プロジェクトの分析を行ったのみで,IZMIがあらゆるソフトウェ ア開発に適用できるということはできない.そのためIZMIの一般公開および普及