18
途中工程データが欠落した状況における 影響評価モデルの構築 キヤノン株式会社 医療機器システム評価室 ○加藤 拓海 e-mail:[email protected] © Canon Inc. 2016. All rights reserved. ソフトウェア品質シンポジウム2016

途中工程データが欠落した状況における 影響評価モデルの構築 · テスト駆動開発 ... 小室睦、進化・発展的アプローチによるソフトウェアプロセス改善に対する予測モデル構築、Proceedings

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

途中工程データが欠落した状況における影響評価モデルの構築

キヤノン株式会社

医療機器システム評価室

○加藤 拓海

e-mail:[email protected]

© Canon Inc. 2016. All rights reserved.

ソフトウェア品質シンポジウム2016

2

テイクホームメッセージ

レビュー改善効果を指標化し、継続的な改善活動へ導きたい

開発の途中工程で、レビューが十分に行われたか見極めアクションを取れるようにしたい

追加レビュー

テスト戦略の修正

© Canon Inc. 2016. All rights reserved.

ソフトウェア品質シンポジウム2016

バグが収束しない。。

3

上流活動が下流品質に与える影響を定量化する価値

上流でのレビュー活動 下流(テスト)での品質

影響???

影響評価モデル

定量化

市場流出

出荷遅延

テスト工程へ移行してよい??

どこまでやればいいの??

形骸化

基本不安

© Canon Inc. 2016. All rights reserved.

4

途中工程データの欠落

欠落

弊社事例

このような状況は実際にしばしば発生する

他にも・・・ アジャイル開発 テスト駆動開発 一部外注 etc.仕様 設計 実装 単体 結合 機能

システム

要件

工程別欠陥摘出率なぜ欠落するのか?品保は直接関われない開発の抵抗が大きい記録が大変?

© Canon Inc. 2016. All rights reserved.

ソフトウェア品質シンポジウム2016

5

上流シフト

【メリット】

Q

【メトリクス】

レビューを改善すれば、上流シフトするはずでは、どれくらい上流シフトしているのか?

QCD効果を定量的に把握して、改善アクションを取れるようにしたい

C

D

© Canon Inc. 2016. All rights reserved.

・・・市場への欠陥流出低減

・・・修正コスト削減

・・・プロセス安定化、予実精度アップ

レビュー品質の向上により、欠陥をより上流で摘出する

ソフトウェア品質シンポジウム2016

6

先行研究でのモデル構築アプローチ

小室睦、進化・発展的アプローチによるソフトウェアプロセス改善に対する予測モデル構築、Proceedings of FORCE2011, 2011

小室睦・薦田憲久、ピアレビューデータに基づく品質予測モデル、電子情報通信学会論文誌 D. Vol. J94-D, No.2, 2011

2段階でモデル構築

予測は難しい・・・

影響???

© Canon Inc. 2016. All rights reserved.

Step1 プロジェクトが完了した時点での変数間の関係を統計モデリング

Step2 これを近似により予測可能なモデルに変形

上流でのレビュー活動 下流(テスト)での品質

ソフトウェア品質シンポジウム2016

モデル① 効果説明モデル と 前倒し率

7

①効果説明モデル前倒し率を高めればテスト欠陥数が低下するという関係を定量的に表現構築が容易で、修正も可能予測能力はないが、「結果としての」改善効果を示す

※変数名を適宜、本研究での呼び方に置き換えている※プロジェクトリスク情報としていくつかのダミー変数を説明変数に加えているが、ここでは省略している

log(テスト欠陥数) = α1 log(変更規模) + α2 前倒し率 + c ①

欠陥摘出数

工程基本仕様

機能仕様

詳細仕様

実装 テスト

※ ドキュメントレビューを対象とした前倒し率の定義

+前倒し率 =

前倒し率レビュー徹底度合いを、それ以降の活動実績との比で示す指標

レビューの改善効果のみをうまくとりだせる

プロジェクトを跨っての観察に適している

上流シフトの指標にピッタリ!

© Canon Inc. 2016. All rights reserved.

ソフトウェア品質シンポジウム2016

本研究における前倒し率

8

欠陥摘出数

工程要件 仕様 設計 実装 単体 結合 機能 システム

+前倒し率 =

定義は異なるが、共通点も

(仮説A)前倒し率は、途中工程データが欠落しても有効である

工程間の比をとっている レビュー改善効果を表す指標になっている

• 開発規模• 難易度• 経験度など

先行研究では、全工程のデータが揃っていることが前提

欠落

© Canon Inc. 2016. All rights reserved.

ソフトウェア品質シンポジウム2016

モデル② 品質予測モデル

log(テスト欠陥数) = α1’log(変更規模) + α2’ + c ②変更規模

レビュー欠陥数

9

①効果説明モデル

②品質予測モデル①を基に近似を利用して、予測可能なモデルに変形十分な近似精度が得られれば十分という思想による

log(テスト欠陥数) = α1 log(変更規模) + α2 前倒し率 + c ①

+前倒し率 =

欠陥摘出数

工程基本仕様

機能仕様

詳細仕様

実装 テスト

(仮説B)②の形のモデルは本研究の状況でも確立できる

②の入力として、途中工程データは不要

途中工程における予測不可

© Canon Inc. 2016. All rights reserved.

ソフトウェア品質シンポジウム2016

0% 8% 8% 69% 7% 8%0%

10%

20%

30%

40%

50%

60%

70%

検証の前に・・・

10

自由度調整済み決定係数:68%

上流での摘出が不十分

テスト工程で大規模な施策を実施

上流と下流の欠陥摘出の比が通常と大きく異なる場合には単に変更規模との比例関係だけでは説明できない

一般に、欠陥数は変更規模に比例するが・・・

© Canon Inc. 2016. All rights reserved.

ソフトウェア品質シンポジウム2016

検証方法

11

モデル①②に対してプロジェクトデータを適用し、その成立を確認する

y x1 x2

モデル① テスト欠陥数 log変更規模 前倒し率

モデル② テスト欠陥数 log変更規模変更規模/

レビュー欠陥数© Canon Inc. 2016. All rights reserved.

(仮説A)前倒し率は、途中工程データが欠落しても有効である

(仮説B)②の形のモデルは本研究の状況でも確立できる

【対象データ】• 同一製品のバージョンアップ開発による6プロジェクト• 同一組織、同一プロセス、すべて実装/単体データが欠落

【分析ツール、手法】統計分析ソフト R(Rコマンダー)一般化線形モデル⇒擬ポアソン回帰(リンク関数:log)glm(formula=y~x1+x2, family=quasipoisson(link="log"))

精度:McFaddenの疑似R2

ソフトウェア品質シンポジウム2016

(仮説A) 前倒し率は、途中工程データが欠落しても有効である

12

プロジェクトデータを用いた検証①

前倒し率を本研究の定義に置き換えても、モデル①が成立

偏回帰係数のp値:1%有意

疑似R2:99%

回帰分析 前倒し率の導入により、外れ値としたプロジェクトもモデルに反映

※先行研究に従い、McFaddenの疑似R2

log(テスト欠陥数) = α1 log(変更規模) + α2 前倒し率 + c ①

© Canon Inc. 2016. All rights reserved.

ソフトウェア品質シンポジウム2016

疑似R2の値が①の精度を維持

13

プロジェクトデータを用いた検証②

偏回帰係数のp値:1%有意

疑似R2:99%※先行研究に従い、McFaddenの疑似R2

(仮説B)②の形のモデルは本研究の状況でも確立できる

回帰分析

log(テスト欠陥数) = α1’log(変更規模) + α2’ + c ②変更規模

レビュー欠陥数

© Canon Inc. 2016. All rights reserved.

ソフトウェア品質シンポジウム2016

14

考察

log(テスト欠陥数) = 1.0 * log(変更規模) + 2.8 * + 0.5変更規模

レビュー欠陥数

【本製品における影響評価モデル】

対象データ数:6統計解析結果として、信頼性は十分でない

→ データを増やし、モデルを洗練させていく必要がある。

精度99%先行研究ではプロジェクトの特性が多用である

本研究では同一組織・同一プロセスによるデータを利用

モデル①と②で、精度低下なし先行研究では近似変形により精度が低下

変更規模をより活用する②により、実装・単体データの影響を反映

© Canon Inc. 2016. All rights reserved.

ソフトウェア品質シンポジウム2016

継続的な上流シフト

15

前倒し率により、レビュー改善効果を評価可能プロジェクトを跨った、継続的な上流シフトへ

© Canon Inc. 2016. All rights reserved.

欠陥摘出数

工程要件 仕様 設計 実装 単体 結合 機能 システム

欠落+

前倒し率 =

50% 80%

本定義による前倒し率が有効

ソフトウェア品質シンポジウム2016

追加レビュー

テスト戦略の修正

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

100 200 300 400 500

前倒し率

レビュー欠陥数

(変更規模:50KLOC)

開発途中でのレビュー品質の見極め

16

開発の途中工程で、レビュー品質を見極め可能目標未達時は、アクションを検討する

実現

log(テスト欠陥数) = 1.0 * log(変更規模) + 2.8 * + 0.5変更規模

レビュー欠陥数

【本製品における影響評価モデル】

導出

実績

目標

目標

予測

乖離

追加レビュー

© Canon Inc. 2016. All rights reserved.

ソフトウェア品質シンポジウム2016

17

テイクホーム メッセージ

途中工程データが欠落していても・・・

© Canon Inc. 2016. All rights reserved.

欠落

レビュー改善効果を指標化し継続的な上流シフトへ導く

開発の途中工程でレビューが十分か見極めアクションを取れるようにする

ソフトウェア品質シンポジウム2016

18

EOF

ご清聴ありがとうございました。

© Canon Inc. 2016. All rights reserved.

ソフトウェア品質シンポジウム2016