Writing by Nakajima PS-Team
リアルタイム
リアルタイム波 波形 形 を用いた を用いた 設計品質分析手法 設計品質分析手法 と と
総合分析環境提案 総合分析環境提案 総合分析環境提案 総合分析環境提案
SQiP 2011.9.9 SQiP 2011.9.9
Copyright (C) Nakajima NTT DATA MSE Corporation http://www.flickr.com/photos/cmlburnett/4994716354/
NTTデータMSE モバイルソリューション事業部 中島 憲一郎 NTTデータMSE モバイルソリューション事業部 中島 憲一郎
自己紹介
• 株式会社 NTTデータMSE
• 携帯端末の無線伝送系開発を約10年
• 携帯端末の無線伝送系開発を約10年
• プロジェクトリーダ
社 名 株式会社NTTデータMSE (英文名:NTT DATA MSE CORPORATION)
株主構成 株式会社NTTデータ60%
目次 目次
• 背景
課題1 設計の品質分析判断が難しい
• 背景
課題1 設計の品質分析判断が難しい
• 課題1 設計の品質分析判断が難しい
• 提案 設計品質分析手法改善
• 課題2 分析のための負荷
• 対策 プロセスに沿った分析環境構築
• 課題1 設計の品質分析判断が難しい
• 提案 設計品質分析手法改善
• 課題2 分析のための負荷
• 対策 プロセスに沿った分析環境構築
3
• 導入効果
• まとめ
• 導入効果
• まとめ
$1000+
バグは上流で発見したい バグは上流で発見したい
$10
$100
st to Fix A Bug
Specification Design Code Test Release
$1
Cos
品質管理体制を強化
専任の品質管理
担当者を設置
PL 分析結果報告 QA
改善要望
5 毎週メトリクスデータ
SLSLSLSL 集計報告
SL SL
メトリクスデー タ情報
データ分析 データ分析
レビュー欠陥検出率 レビュー工数率 ゾーン分析
QA
7課題1
詳細設計工程分のメトリク ス集計が完了しました
分析結果に対する深堀が進まない
サブシステムXの指摘 密度が高いけど?
PL
ス集計が完了しました
QA
9
難易度が高かった。レ
ビューを十分実施した結果
SL
実際に、レビューに問題が なかった詳細に確認するに は 現場担当者の協力が 実際に、レビューに問題が なかった詳細に確認するに は 現場担当者の協力が
QA は、現場担当者の協力が 必要
は、現場担当者の協力が 必要
フィードバックが薄い フィードバックが薄い
QA
フィ ドバックが薄い
フィ ドバックが薄い
工程完了時点の品質分析確認では遅い 工程完了時点の品質分析確認では遅い
FD:機能設計 FD:機能設計
短納期化
コンカレント開発
FD:機能設計 FD:機能設計
DD:詳細設計 DD:詳細設計
M:コーディング M:コーディング
UT 単体テスト UT 単体テスト
コンカレント開発 複数イテレーション
11
UT:単体テスト
UT:単体テスト
IT:結合テスト IT:結合テスト
次の工程に着工している
品質分析判断 time
ベースの設計が重要と認識していて も、コストや納期の制約から、
「設計を見直す」判断は難しい
ベースの設計が重要と認識していて も、コストや納期の制約から、
「設計を見直す」判断は難しい
FD:機能設計 FD:機能設計
UT 単体テスト UT 単体テスト FD:機能設計
FD:機能設計
DD:詳細設計 DD:詳細設計
M:コーディング M:コーディング
見直し可能とするため、
工程途中で都度分析、
検査・点検をしていく
UT:単体テスト UT:単体テスト
IT:結合テスト IT:結合テスト
工程途中における分析判断の精度を 向上させる
工程途中における分析判断の精度を 向上させる
time
推移状況を確認していく
正規化した最終データ は指摘の多い時・少な い時含め平均化され ている。
time
13
多角的観点 多角的観点
観点
分析の粒度をより細かくすると,
データ確認量が増える
分析の粒度をより細かくすると,
データ確認量が増える
リアルタイムな品質状況のトレース が負荷になってくる
リアルタイムな品質状況のトレース が負荷になってくる
15
実用面で継続性や確認精度が低下 実用面で継続性や確認精度が低下
心電図
地震予知
兆候を
兆候を
掴む
リアルタイム見える化 リアルタイム見える化
リアルタイム
見える化
17
ヒストグラム
ヒストグラム→→面グラフ面グラフ
ヒストグラム
面グラフ
施策
19
波形で診断 見える化
http://www.flickr.com/photos/aldoaldoz/1438838260/
RT波R T波 サブシステム別 サブシステム別 サブシステム別 サブシステム別
重要度別 重要度別 重要度別 重要度別
R T
波 形
R T
波 形 形分 析 形分 析 レビューア別 レビューア別 レビューア別 レビューア別
レビューイ別 レビューイ別 レビューイ別 レビューイ別
形 分析
手
形 分析 手 手法手法 レビュ イ別 レビュ イ別 レビュ イ別 レビュ イ別
要因別 要因別 要因別 要因別
手 法 手 法
3
3つのグラフを活用つのグラフを活用
時系列で見る
21
割合で見る 実績で見る
レビュー状況
レビュー状況 重要度別重要度別
レビ ュュ ー状
標準モデル(想定)況
怪しい?レビュー状況
レビュー状況 重要度別重要度別
レビ ュ
重要度大の問 題は少ない
ュ ー状
23
況
重要度別
レビ ュ
レビュー状況
レビュー状況 問題要因別問題要因別 毎回、考慮漏れと 非バグ指摘が多い
ュ ー状 況
問題要因別
レビュー状況
レビュー状況 混入工程別混入工程別
レビ ュ
前工程のバグは検出 できていない
ュ ー状
25
況
混入工程別
レビュー状況
レビュー状況 サブシステム別サブシステム別
レビ ュ
サブシステムのレビュー
ュ ー状
指摘数は適切か?況
レビュー状況
レビュー状況 レビューア別レビューア別
レビ ュュ ー状
前半と後半でレビューで活躍している メンバーが変わった?
27
況
レビューア別
→病欠?
レビ ュ
レビュー状況
レビュー状況 レビューイ別レビューイ別
ュ ー状 況
レビューイ別
レビュー工数 レビュー工数
レビ ュ
レビュー工数に偏りあり
ュ ー工
偏りあり休出しているチ ムがある 山が続いている
29
数
→休出しているチームがあるレビュー工数
レビュー枚数 レビュー枚数
レビ ュ
サブシステムXに関してレビュー枚
ュ ー枚
関してレビュー枚数に偏りあり数
レビュー状況
レビュー状況 重ねてみる重ねてみる
レビュー状況
31レビュー状況
多面的に
重ねてみる
レビュー状況 レビュー状況
レビュー状況
33• 計画値との差異ベースでなく、周囲との 相対的見地から分析判断し、即見直し をしていくアプローチとした。
• 計画値との差異ベースでなく、周囲との 相対的見地から分析判断し、即見直し をしていくアプローチとした。
• 波形の形と色の偏りに着目することで、
細かな変化に気付くことが可能になっ た。
• 波形の形と色の偏りに着目することで、
細かな変化に気付くことが可能になっ
た。
課題2
施策に対する課題 施策に対する課題
35
施策に対する課題 施策に対する課題
品質分析のために負荷 がかかっている
品質分析のために負荷 がかかっている
SL
• メトリクスデータの集計と報 告作業
• QA担当者からのヒアリング
• メトリクスデータの集計と報 告作業
• QA担当者からのヒアリング 対応作業
• 分析結果指標に対する詳 細分析、回答作成作業 対応作業
• 分析結果指標に対する詳
細分析、回答作成作業
開発途中で プ を変えず 開発途中で プ を変えず 対策
対策
プロセスを変えず 現場に負荷をかけず 今ある情報を集めて プロセスを変えず 現場に負荷をかけず 今ある情報を集めて
37
今ある情報を集めて 分析する工夫をする 今ある情報を集めて 分析する工夫をする
ソフトウェア開発の鉄則201 原理147 押し付けがましいデータの集め方をするな
リアルタイムフィードバックシステム リアルタイムフィードバックシステム
リアルタイム
自動・集計・分析
フィードバック
システム
・指摘数
・指摘分類
・工数
・レビュ枚数 レビュー記録票
設計書
ソース
・試験項目
・試験種別
・ランク
・実施日 テスト成績書
・作業計画
・作業見通
・見通し
・実績規模
進捗報告書 ・バグ要因
・原因工程
・重要度
・発生日 バグ票
ソ ス 実績規模
サーバー上
開発者は計画書で決めた場所 に計画書で決めたフ マット 開発者は計画書で決めた場所 に計画書で決めたフ マット
プロ セス
39
に計画書で決めたフォーマット で成果物を置いていく or 決め た管理ツールで作業するだけ。
に計画書で決めたフォーマット で成果物を置いていく or 決め た管理ツールで作業するだけ。
セス
・指摘数
・指摘分類
・工数
・レビュ枚数 etc レビュー記録票
設計書
ソース
・試験項目
・試験種別
・ランク
・実施日 テスト成績書
・作業計画
・作業見通
・見通し
・実績規模
進捗報告書 ・バグ要因
・原因工程
・重要度
・発生日 バグ票
設計規模 Page 設計規模推移状況
まとめ Quality Analysis
自動 分析
ソ ス 実績規模
etc
夜間定刻で自動集計・分析 夜間定刻で自動集計・分析
レビュ指摘 件数 レビュー指摘状況
バグ 件数 試験バグ検出状況 ソース規模
Step ソース規模推移状況
分析 まとめ
テスト実績 件数 テスト実施状況
レビュ指摘 件数 レビュー指摘状況 設計規模
Page 設計規模推移状況
バグ 件数 テストバグ検出状況
テスト実績 件数 テスト実施状況 ソース規模
Step ソース規模推移状況
まとめ 全体レポート
サーバー上
結果データをプロジェクトメンバ 全員に毎日リアルタイムに 結果データをプロジェクトメンバ 全員に毎日リアルタイムに
件数 件数
41
全員に毎日リアルタイムに フィードバックする。
プロジェクトメンバ全員がリアル タイムに品質状況を確認。
全員に毎日リアルタイムに フィードバックする。
プロジェクトメンバ全員がリアル タイムに品質状況を確認。
見え る化
RT 分
R T
品 質 分 析F B
質 分析 F B S
F B
対象 記録表 成果物 報告書
工程 レビュー 記録票
バグ票 設計書 ソース コード
テスト仕 様書
進捗報 告書 要件定義
○
機能設計
○ ○ ○
詳細設計
○ ○ ○
コーディン
グ
○ ○ ○ × ○
単体試験
○ ○ ○ ○
43
○ ○ ○ ○
結合試験
○ ○ ○ ○
システムテ スト 受け入れ テスト
テスト実施状況
テスト実施状況
テスト実施状況
テスト実施状況 優先度別
テス ト
優先度別優先度別 ト 実施 試験がなかなか
進まない
45
状況
テスト実施状況
テスト実施状況 作成種類別作成種類別
テス ト
作成種類別
ト 実施 状況
テスト実施状況
テスト実施状況 サブシステム別サブシステム別
テス ト
サブシステム
ト 実施
47
別
状況
テスト実施状況
テスト実施状況 サブ機能別サブ機能別
テス ト
サブ機能別
ト 実施 状況
テスト実施状況
テスト実施状況 実施者別実施者別
テス ト
実施者別
ト 実施
49
状況
テストバグ状況 テストバグ状況
バグ発生状況
バグ発生状況 問題要因別問題要因別
バグ
発
問題要因別
発 生状
51
況
バグ発生状況
バグ発生状況 機能別機能別
バグ
発
機能別 発 生状 サブシステムEの
バグが続いている
況
バグ発生状況
バグ発生状況 緊急度別緊急度別
テス ト
緊急度の高い
緊急度別
ト
バグ 緊急度の高い バグが発生
53
状況
バグ発生状況
バグ発生状況 重要度別重要度別
バグ
発
重要度の高い
重要度別
発 生状 重要度の高い バグ発生 況
バグ発生状況
バグ発生状況 混入工程別混入工程別
バグ
発
混入工程別
発 生状
55
況
バグ発生状況
バグ発生状況 担当別担当別
バグ
発
担当別
発 生状 況
バグ発生状況
バグ発生状況 処置者別処置者別
バグ
発
処置者別
発 生状
57
況
バグ発生状況
バグ発生状況 発見者別発見者別
バグ
発
発見者別
発 生状 況
設計書枚数推移 設計書枚数推移
設計 書書 枚数
59
推移
リリース状況 リリース状況
リリ ー
バグ改修が多い
ー ス状 バグ改修が多い 況
バグ改修が多い
集計・報告作業→0h
従来プ 行 み
集計のための追加の負荷はなし
メンバ
従来プロセスの履行のみ 集計・分析作業 → 0h ツール作成作業→1人月 QA
ン
SL
61
プロセス履行状況の確認 PL
作成作業 人月 QA
多次元的 多次元的
観点
重要度別
要因別
イ シ
イテレーション3
仕様R 機能設計R 詳細設計R
イテレーション1 機能別
混入工程別
イテレーション2
分析事例1
FDレビューとDDレビューが輻輳している状態
FDレビュー工数状況 FDレビュー工数状況 FDレビュー工数状況 FDレビュー工数状況
やり直し?
数状況 数状況 数状況 数状況
DDレビュー工数状況 DDレビュー工数状況 DDレビュー工数状況 DDレビュー工数状況
63
レビューのピーク状況を合わせてみることで、
変調が見て取れる
レビューのピーク状況を合わせてみることで、
変調が見て取れる
分析事例2
単体テスト実施状況 単体テスト実施状況 単体テスト実施状況 単体テスト実施状況
異常系試験ではあま
りバグが出ていない
単体テストバグ検出状況 単体テストバグ検出状況 単体テストバグ検出状況 単体テストバグ検出状況
試験の終了判断、妥当性判断の補完
試験の終了判断、妥当性判断の補完
導入効果
65
欠陥除去率向上 欠陥除去率向上
95% 99%
■適用グループ 85%
65%
■非適用グループ
流出バグ低減 流出バグ低減
発生率(件/KLOC)
1
13
67
バグ発
市場バグ 市場バグ
0
リリース後約6ヶ月(2011/8/31時点)
0 件
顧客満足度向上 顧客満足度向上 顧客満足度向上 顧客満足度向上
顧客満足度調査結果
開発者の品質意識向上 開発者の品質意識向上
プロジェクトふりかえりKPT分析結果
プロセス プロセス
集計 集計
フィードバック フィードバック
69
プロセス品質・品質データ向上 プロセス品質・品質データ向上
集計 集計
分析 分析
まとめ
上流工程の品質分析で早 期に設計見直し判断を可 上流工程の品質分析で早 期に設計見直し判断を可 期に設計見直し判断を可 能としたい。
期に設計見直し判断を可 能としたい。
品質分析に工数をかけず、
品質分析に工数をかけず、
71
品質分析に工数をかけず、
分析の迅速化を図りたい。
品質分析に工数をかけず、
分析の迅速化を図りたい。
RT 波
サブシステム別 サブシステム別 サブシステム別 サブシステム別
重要度別 重要度別 重要度別 重要度別
R T
波 形 波 形分 析 レビューア別 レビューア別 レビューア別 レビューア別
レビューイ別 レビューイ別 レビューイ別 レビューイ別
形 分析 手 析 手法 レビュ イ別 レビュ イ別 レビュ イ別 レビュ イ別
要因別 要因別 要因別 要因別
手 法
RT 分
R T
品 質 分 析F B
質 分析 F
73