アジャイル開発における...

27
アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12 ソフトウェアプロセス&品質改善部 伊藤 潤平 ソフトウェア品質シンポジウム2019 C1-4

Transcript of アジャイル開発における...

Page 1: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

アジャイル開発における 段階的品質の積み上げによる品質保証

2019/09/12

ソフトウェアプロセス&品質改善部伊藤 潤平

ソフトウェア品質シンポジウム2019C1-4

Page 2: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 2

自己紹介

• 伊藤 潤平

• ウイングアーク1st株式会社

• 2008年入社以来ずーっとQA

• 活動:• SQiPシンポジウム2017論文発表

• ANQ Congress 2017論文発表

• SPI Japan 2018 プレゼン発表

• 日本品質管理学会ソフトウェア部会

• SQiP研究会2018 研究コース4:アジャイルと品質

• SQiPシンポジウム2019論文発表

• 趣味:日本酒(新潟限定)、筋トレ(健康志向)

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

Page 3: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved.

文雅科信息技术(大连)有限公司

文雅科信息技术(上海)有限公司

WingArc Singapore Pte. Ltd.

WingArc Australia Pty Ltd

東京(本社)

仙台

新潟

札幌

広島

福岡

大阪

名古屋

3

ウイングアーク1st株式会社

JAPAN 8拠点

GLOBAL 4拠点

• 商号 :ウイングアーク1st株式会社 (WingArc1st Inc.)

• 所在地 :〒106-6235東京都港区六本木三丁目2番1号 六本木グランドタワー

• 創業 :2004年3月

• 資本金 :2億円

• 事業内容 :ツール・ミドルウエア製品の開発・販売、導入支援・保守サポートサービスの提供

• 従業員数 :連結607人/単体522人(2019年2月末現在)

会社情報

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

Page 4: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 4

ソフトウェア基盤事業

業務に欠かせない帳票の

効率的な運用を支援

ビジネスの現場から日々の暮らしのシーンまで、さまざまな場所で利用されている帳票。その設計・出力、

運用を支えるソリューションおよびサービスを提供しています。業務処理におけるすべての帳票を対象と

しており、大手企業や官公庁を中心に多くの企業・団体に導入されています。

帳票の利用シーン ソフトウェアサービス 市場シェア(SVF、EUR) 販売実績

あらゆるシーンで利用される帳票の、安

定的かつ効率的な出力・運用を支援して

います。

帳票クラウドサービス「SVF Cloud」の

提供で、より幅広い企業に導入いただい

ています。

SVFの累計導入社数は2万1000社にのぼ

り、10年以上にわたってトップシェアを

維持しています。

SVFの特長のひとつである「保守継続率

の高さ」が、ソフトウェア基盤事業の安

定的な成長を下支えしています。

公的証明書 宅配伝票

航空券・チケット 保険設計書

帳票基盤ソリューション

帳票クラウドサービス

国内

シェア

第1位

62.8%

※ミックITリポート2017年「帳票設計・運用製品の市場動向、帳票運用製

品」(2017年度)をもとにウイングアーク1stが作成。日立製作所と帳

票分野で提携(2018年4月)し、同社が保有する帳票ソフト「EUR」の資

産取得を行ったことに伴う数値。

リカーリング

ライセンス

2013 2014 2015 2016 2017

(億円)

83 83 84 91 102

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

Page 5: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 5

データエンパワーメント事業

成長のための業務改革を

データ活用からサポート

限られた人員でも、最大限の成果をあげたい̶̶多くの企業が抱えるそんな想いを実現するために必要な

のは、データに基づく意思決定・行動です。適切なデータを、適切なタイミングに、適切な形で見られる

よう環境を整備するための製品・ソリューション・サービスを提供しています。

実現できること ソフトウェアサービス 市場シェア(Dr.Sum、MotionBoard) 販売実績

ビジネスの現場が抱えるさまざまな課題。

データ活用によって解決できるものは少

なくありません。

企業内外の情報をデータ化・管理し、必

要なときに集計・分析・可視化する製

品・サービスを提供しています。

BI市場の成長を牽引するリーディング

カンパニーとなっています。

大規模での導入やソリューション化(複

数の製品の組み合わせ)の推進により、

成長が加速しています。

製造IoT 働き方改革

営業改革 アナリティクス

集計・分析プラットフォーム

国内

シェア

第1位

15.9%

※株式会社アイ・ティ・アール「ITR MARKET VIEW DBMS/BI市場

2018」データ分析/レポーティング市場:ベンダー別売上金額推移および

シェア(2016年度)

2013 2014 2015 2016 2017

(億円)

30 32 37

42

54 BIダッシュボード

電子活用ソリューション

Dr.Sum

SPA

MotionBoard

ソリューション

Salesforceデータ編集ツール

第三者データ 提供サービス

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

Page 6: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Quality Assurance by quality stepwise refinement in Agile Development

アジャイル開発における段階的品質の積み上げによる品質保証

Page 7: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 7

はじめに

動くソフトウェアが 重要な尺度!

品質保証に対する 定義はない

品質保証のフレームワークが まだ世の中に確立されていない

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

Page 8: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 8

スクラムとは?

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

Page 9: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 9

品質保証プロセスの理想

スプリント1

スプリント2

スプリントn

スプリントn+1

品質データを提示

リリース可能か判断できる

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

Page 10: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 10

品質保証プロセスの現実

システムテスト

スプリント毎に品質データを提示することが 難しい!!

スプリント1

スプリント2

スプリントn

スプリントn+1

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

Page 11: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved.

フェーズnフェーズ1

11

提案するフレームワーク

スプリント1

スプリント2

スプリントn

スプリントn+1

品質データを提示

リリース可能か判断できる

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

Page 12: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 12

段階的な品質の積み上げ

スプリント/フェーズ

品質

品質

目標品質

徐々に品質を確保!!

品質

品質

品質

品質

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

Page 13: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

フレームワーク実践ポイント

戦略的テスト計画の作成

フェーズと品質ゲートの設置

による段階的品質の積み上げ

Page 14: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 14

戦略的テスト計画の作成

プロダクトバックログ(PBL)

フェーズテストプラン(PTP)

マスターテストプラン(MTP)

品質目標 テストタイプ

機能適合性

性能効率性

互換性

使用性

信頼性

セキュリティ

保守性

移植性

フェーズ1機能テスト

ユースケーステスト

性能テスト

互換性テスト

ローカライゼーションテスト

バリデーションテスト

強制エラーテスト

セキュリティテスト

解析性テスト

プラットフォームテスト

機能テスト

互換性テスト

フェーズ2

ユースケーステスト

機能テスト

フェーズ3

性能テスト

プラットフォームテスト

フェーズ1

PBI

PBI

フェーズ2PBI

PBI

フェーズ3PBI

PBI

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

Page 15: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 15

フェーズと品質ゲートの設置による段階的品質の積み上げ

フェーズ1

機能テスト

互換性テスト

フェーズ2

ユースケーステスト

機能テスト

フェーズ3

性能テスト

プラットフォームテスト

品質 ゲート

品質 ゲート

品質目標 達成

品質

フェーズ

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

Page 16: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

事例

マスターテストプラン(MTP)の作成

フェーズテストプラン(PTP)の作成

フェーズ毎の品質ゲート設定

結果

Page 17: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 17

マスターテストプラン(MTP)の作成

品質特性 副特性 品質目標 テストタイプ

機能適合性 機能完全性 顧客修正予定となっている潜在不具合がすべて修正されている 要望が実装され機能する

要件確認テスト リリーステスト最終リグレッションテスト

機能正確性 実装された機能が正しく動作する 母体機能が正しく動作する 新機能と母体機能を組み合わせた動作が正しく動作する

新機能テスト 既存機能テスト

機能適切性 想定するユーザーシナリオが満たされる シナリオテスト

性能効率性 時間効率性 既存機能の処理時間が初期版と比較し劣化が発生していない

性能テスト

資源効率性 新機能を含んだ一連の操作の断続的な利用で不正なハードウェアリソースの使用が発生しない

ロードテスト

マスターテストプラン(MTP)の品質目標 ※一部抜粋

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

Page 18: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 18

優先順位

フェーズ5

要求1

要求2

要求3 ・・・

要求10

要求11

・・・

要求21

優先順位

明確

曖昧性がある

フェーズ1

テストタイプA

テストタイプB

フェーズ6

明確

PBIに曖昧性が あるためテスト 計画も曖昧

プロダクトバックログ(PBL) フェーズテストプラン(PTP)

・・・

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

Page 19: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 19

計画時のフェーズテストプラン(PTP)

フェーズ1(新機能A)

フェーズ2(新機能B)

フェーズ3(新機能C)

Sprint1 Sprint2 Sprint3 Sprint4 Sprint5 Sprint6 Sprint7 Sprint8 Sprint9

品質 ゲート

フェーズ4(システムテスト)

品質 ゲート

RC フェーズ

品質 ゲート

品質 ゲート

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

Page 20: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 20

最終時点でのフェーズテストプラン(PTP)

フェーズ1(パッチ1)

フェーズ2(パッチ2)

フェーズ4(新機能A,B,C)

Sprint1 Sprint2 Sprint3 Sprint4 Sprint5 Sprint6 Sprint7 Sprint8 Sprint9

品質 ゲート

フェーズ5(システムテスト)

品質 ゲート

RC フェーズ

フェーズ3(パッチ3)

品質 ゲート

品質 ゲート

品質 ゲート

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

Page 21: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 21

フェーズテストプラン(PTP)と品質ゲート

フェーズ 期間 テストタイプ 品質ゲートクライテリア

フェーズ1 Sprint1 Sprint2

9.3.4.1パッチ検証 • 要件確認テスト• 既存機能テスト• リグレッションテスト• パッチ適用テスト

ピックアップテスト • 各テストタイプから約20%を抽出して実施

• すべてのテストタイプで不具合0件

フェーズ4 Sprint5 Sprint6 Sprint7

機能テスト • 要件確認テスト• 新機能テスト• シナリオテスト• ローカライゼーションテスト• ユーザーエラー防止性テスト• バリデーションテスト• セキュリティテスト• プラットフォームテスト

ピックアップテスト • 各テストタイプから約20%を抽出して実施

• すべてのテストタイプで不具合0件

リグレッションテスト• フェーズ1~3で実施したテストについて機能完全性レベルのテストケースを抽出して実施

• すべてのテストケースで不具合0件

・・・

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

Page 22: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 22

フェーズテストプラン(PTP)と各フェーズの結果

フェーズ 結果

フェーズ1 合格 ピックアップテスト(37.0%を抽出)を実施

フェーズ2 合格 ピックアップテスト(36.4%を抽出)を実施

フェーズ3 合格 ピックアップテスト(25.4%を抽出)を実施

フェーズ4 1回目 不合格 ピックアップテストの結果2件の不具合を検出 6件の追加検証を実施し問題ないことを確認

2回目 不合格 ピックアップテスト中に開発内で1件の不具合が検出 QAの指摘内容が検証されていなかったことが原因。影響範囲についての検証を16件追加

3回目 不合格 開発内でテストエビデンスに不備が見つかり,不具合が1件検出 テスト設計者と実施者間でのコミュニケーション不足が原因。影響範囲について42件のテストを追加

4回目 合格 追加されたテストケースすべてを対象 フェーズ1から3までのリグレッションテストを実施

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

Page 23: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 23

まとめ

スプリント

品質

フェーズ1

目標品質

フェーズ2

フェーズ4

フェーズ5

RC

フェーズ3

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

Page 24: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved.

まとめ

• 開発がスクラムだからと言ってQAが慌てる必要はない

• QAは独自の手法で良いので品質が積み上げられる仕組みがあると良い

• 戦略的な計画性と、計画の見直しが必要

• 変化に対応できるQAが求められる

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

Page 25: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 25

他プロジェクト(先週リリースしたプロダクト)

開発

品質

フェーズ1

目標品質

フェーズ2

フェーズ4

フェーズ5

RC

フェーズ3、3.1

フェーズ6

フェーズ7

システムテスト

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

Page 26: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12

Copyright © 2019 WingArc1st Inc. All Rights Reserved. 26

他プロジェクト(とあるクラウドサービス)

開発

品質

フェーズ1

目標品質

フェーズ2

フェーズ4

RC

フェーズ3

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

Page 27: アジャイル開発における 段階的品質の積み上げによる品質保証...アジャイル開発における 段階的品質の積み上げによる品質保証 2019/09/12