$30 off During Our Annual Pro Sale. View details »

品質ダッシュボードを含むアジャイル品質保証の技術とパターン:SQuBOK Guide最新版およびパターン集 QA to AQ を通して

washizaki
March 30, 2022

品質ダッシュボードを含むアジャイル品質保証の技術とパターン:SQuBOK Guide最新版およびパターン集 QA to AQ を通して

鷲崎弘宜, 品質ダッシュボードを含むアジャイル品質保証の技術とパターン:SQuBOK Guide最新版およびパターン集 QA to AQ を通して, Test Engineers Meetup #4, 2022/03/30

washizaki

March 30, 2022
Tweet

More Decks by washizaki

Other Decks in Technology

Transcript

  1. 品質ダッシュボードを含むアジャイル品質 保証の技術とパターン:SQuBOK Guide最 新版およびパターン集 QA to AQ を通して 早稲田大学グローバルソフトウェアエンジニアリング研究所 所長

    国立情報学研究所 客員教授 株式会社 システム情報 取締役(監査等委員) 株式会社 エクスモーション 社外取締役 文科省社会人育成事業 スマートエスイー 事業責任者 鷲崎 弘宜 http://www.washi.cs.waseda.ac.jp/ washizaki@waseda.jp わしざき ひろのり Joseph Yoder, “品質面でアジャイルであるために”,第2回enPiT-Proスマートエスイーセミナー: アジャイル品質保証と組織変革, 2018 鷲崎 弘宜, 長谷川 裕一, 濱井 和夫, 小林 浩, 長田 武徳, 田村 英雅, 陳 凌峰, 「QA to AQ:アジャイル品質パターンによる、伝統的な品質保証からアジャイル品質への変革」, CodeZine, https://codezine.jp/article/corner/813 Test Engineers Meetup #4 2022年3月30日
  2. アジャイル開発における品質は 従来とはどう異なるのか? • 従来の品質保証 – 主に特定の人々(品質保証部門、QA) – 主に特定の段階 – 開発完了後に品質の確認

    • アジャイル品質 – 専門家を交えたチーム全体 – ロードマップ策定から日々のモニタリングに至るあらゆる段階 – 各イテレーションにおいて品質作りこみ: 動くソフトウェアの テスト、自動化、変更容易性ほか 2 参考: ソフトウェア品質知識体系ガイド(第3版)-SQuBOK Guide V3-、2021.
  3. 様々なアジャイル品質の取り組みとプラクティス • ソフトウェア品質知識体系ガイド 第3版SQuBOK Guide V3( 飯泉紀子、鷲崎弘宜、誉田直美 監修、SQuBOK策定部会 編) –

    アジャイル開発上の品質の指標、マネジメント、技術など – QA to AQ の紹介 • 品質重視のアジャイル開発: 成功率を高めるプラクティス・ Doneの定義・開発チーム編成(誉田直美, 2020) – アジャイルメトリクス、Doneの定義、チェックリスト、品質保証 のポイント • アジャイル開発のプロジェクトマネジメントと品質マネジメ ント: 58のQ&Aで学ぶ(居駒幹夫, 梯雅人, 2020) – ソフトウェア開発時の品質を含むマネジメント実践処方 • アジャイル/DevOps開発における品質保証と信頼性(荻野恒 太郎, 日本信頼性学会論文誌, 2020) – QAテスト、メトリクス、サイクル他 – http://kokotatata.hatenablog.com/entry/2020/06/01/16365 2 3
  4. 4 https://en.wikipedia.org/wiki/Coffeehouse#/media/File:Caf%C3%A9_de_Flore.jpg https://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%95%E3%82%A7#/media/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Former_Foreign_Settlement_of_Kobe_Hyogo_Japan_A55_03s3.jpg 名前: 路上カフェ 解決: 各近隣にカフェが開かれるよう促すこと。 カフェにはいくつかの部屋を設け、にぎやかな歩行路に向けて 解放し、座ってコーヒーなどの飲み物を取りながら、移りゆく 世界を眺められるような親しみのある場所に仕立てること。

    問題: 忙しい都会において、衆目の中で合 法的に腰を下ろし、移りゆく世界をノンビ リと眺められる場所がほしい。 [Alexander77] C. Alexander他著, 平田翰那訳, “パタン・ランゲージ”, 鹿島出版, 1977 街の中心部には 活動の拠点 として 小さな広場 を設けよう。その広場に は、訪問者や近隣の人々が気軽に集 い落ち着けるように、いくつかの 路上 のカフェ が集まってひらかれるように 奨励しよう。それぞれのカフェは、オー プンエアで楽しめるように 街路への 開口 を持たせられるとよい ・・・
  5. なぜパターンなのか? • “Quality is not an act, it is a

    habit.” - Aristotle – 日常の反復的な行動 – 考え方 • アジャイルの源流: パターン+品質 – Christopher Alexander, パターンランゲージ – Edwards Deming, 生産・品質管理、PDCA • 日ごろの何気ない活動へと名前をつけて対 話および再利用・展開 5 https://en.wikipedia.org/wiki/File:Aristotle_Altemps_Inv8575.jpg https://en.wikipedia.org/wiki/Christopher_Alexander#/media/File:ChristopherAlexander2012.jpg https://en.wikipedia.org/wiki/W._Edwards_Deming#/media/File:W._Edwards_Deming.jpg
  6. QA (Quality Assurance) to AQ (Agile Quality) • アジャイル品質の考え方と推奨される活動の23+のパターン集 •

    2014年 Joseph Yoder, Rebecca Wirfs-Brock, Ademar Aguilar発表、以降、鷲崎も加わり拡充 • 連載:鷲崎 弘宜, 長谷川 裕一, 濱井 和夫, 小林 浩, 長田 武徳, 田村 英雅, 陳 凌峰, “QA to AQ:ア ジャイル品質パターンによる、伝統的な品質保証からアジャイル品質への変革” https://codezine.jp/article/detail/12092 6 J. Yoder, R. Wirfs-Brock, A.Aguilar, “QA to AQ: Patterns about transitioning from Quality Assurance to Agile Quality,” AsianPLoP 2014 J. Yoder and R. Wirfs-Brock, “QA to AQ Part Two: Shifting from Quality Assurance to Agile Quality,” PLoP 2014 J. Yoder, R. Wirfs-Brock, H. Washizaki, “QA to AQ Part Three – Tearing Down the Walls,” SugarLoafPLoP 2014 J. Yoder, R. Wirfs-Brock, H. Washizaki, “QA to AQ Part Four - Prioritizing Qualities and Making them Visible,” PLoP 2015 J. Yoder, R. Wirfs-Brock, H. Washizaki, “QA to AQ – Part Six – Being Agile at Quality,” PLoP 2016 中核パターン 品質の特定 品質の可視化 品質のアジャ イルなあり方
  7. 品質の可視化 7 品質ロードマップ Qualify the Roadmap 製品の機能を開発し、ロードマップを進化させな がら、品質特性とそれをサポートするアーキテク チャにいつ対処するか計画 品質バックログ

    Qualify the Backlog 品質項目(品質シナリオ、品質ストーリー、ユー ザストーリーへの品質の折り込み)を作成して バックログに追加 システム品質ダッシュ ボード System Quality Dashboard 品質特性を継続的に測定し可視化・監視する仕組 みを用意 システム品質アンドン System Quality Radiator 誰もが質問する必要なく、仕事中や休憩中に見る ことができる品質特性のステータスのディスプレ イを用意 重要な品質特性を可視化しチームメンバーに気付かせる
  8. 品質ロードマップ 2021 1月 2月 3 月 4月 5月 6 月

    7 月 8 月 9 月 10 月 11 月 12 月 2022 1月 2月 3 月 デリバリ バージョン1 に遅延の予 想・・・ バージョン1 に遅延の予 想・・・ 開発 ダッシュ ボード 予算 リソース アーキテクチャ 依存 関係 予算は第2四 半期2021で強 化が必要・・ 予算は第2四 半期2021で強 化が必要・・ すべてのリソ ースが予定通 り・・・ すべてのリソ ースが予定通 り・・・ 永続化フレー ムワーク 負荷分散 クラウド ・・・ 永続化フレー ムワーク 負荷分散 クラウド ・・・ パートナーシ ップとサービ スはすべて揃 い、予定通 り・・・ パートナーシ ップとサービ スはすべて揃 い、予定通 り・・・ リスク 問題 注意事項 競争 相手 E Corp-新製品 競争 相手 E Corp-新製品 アーキテクチャ パフォーマンス プラットフォーム の安定性 アーキテクチャ パフォーマンス プラットフォーム の安定性 デリバリ 技術の問題・・ デリバリ 技術の問題・・ アーキテクチャ 移行 セキュリティ アーキテクチャ 移行 セキュリティ 2021年8月 新しいモバイルの機 会・・・ 2021年8月 新しいモバイルの機 会・・・ 2021年10月 NoSQL 戦略の再評 価・・・ 2021年10月 NoSQL 戦略の再評 価・・・ リッチモバイル WEB アプリ モバイル WEB v2 モバイルウェブ v1 PC プラットフォーム v1 PC プラットフォーム v2 継続的なリリース モバイルリサーチ アンドロイド v1 iOS v1 応答性設計 アーキテクチャ モバイル汎用サービス SYBASE から ORACLE への移行 永続化フレームワーク 負荷分散 プラットフォームの安定性 クラウド調査 マイクロサービス 未定 低 リスク 高 リスク 通常 NoSQL/ビッグデータ v1 の SQL/ビッグデータ v2 モバイルセキュリティ Joseph Yoder, “品質面でアジャイルであるために”,第2回enPiT-Proスマートエスイーセミナー: アジャイル品質保証と組織変革, 2018 品質特性とそれをサポートするアーキテクチャにいつ対処するか計画
  9. 品質バックログ To Do Doing Done セキュアに・・・ Product 技術的負債を・・・ 9 品質項目(品質シナリオ、品質ス

    トーリー、ユーザストーリーへの 品質の折り込み)を作成してバッ クログに追加しましょう。 システムが持つべき品質特性を理解 し、実装し、そしてテストしようと するとき、作業範囲をより明確にす るにはどうすればよいでしょうか? Joseph Yoder, “品質面でアジャイルであるために”,第2回enPiT-Proスマートエスイーセミナー: アジャイル品質保証と組織変革, 2018 鷲崎, 長谷川, 濱井, 小林, 長田, 田村, 陳, QA to AQ:アジャイル品質パターンによる、伝統的な品質保証からアジャイル品質への変革, CodeZine, https://codezine.jp/article/corner/813
  10. 品質ダッシュボード 重要な品質特性をテストし、検証するためのダッ シュボードを作成します。重要な品質特性が何か が概説され、れがバックログに含まれているので 、どれ監視する必要があるのか、進化に応じて測 定ツールをどのタイミングで作成できるのか、に 注意しておく必要があります。 システムが進化するにつれて、チームはどの システム品質特性が重要で、それらをどのよ うによりよく測定するかを理解しはじめます

    。アジャイルチームは、この情報にアクセス して可視化する手段をどうやって提供できる のでしょうか? 品質の特定と品質の可視化ためのパターン:「着陸ゾーンの再調整」「着陸ゾーンの合意」「システム品質ダッシュボード」 https://codezine.jp/article/detail/13527?p=3
  11. アジャイルメトリクスと特徴 • アジャイル開発における短期間の各イテレーションにおいて 所定の品質確保のために用いるメトリクス – 非アジャイル開発から定義や運用方法、ベンチマーク流用できるも の(例: プロセス全体の欠陥除去率、システムパフォーマンスなど) – 運用方法やベンチマークは異なってくるもの(例:

    イテレーション別 の欠陥除去率、テストカバレッジなど) – アジャイル特有のもの(例: ストーリーポイント、ベロシティなど) 11 飯泉紀子、鷲崎弘宜、誉田直美 監修、SQuBOK策定部会 編、“ソフトウェア品質知識体系ガイド(第3版)- SQuBOK Guide V3-”、ISBN 978-4-274-22631-1、2020/11/21、オーム社 側面 非アジャイル アジャイル 時点・扱い 静的 動的 評価 絶対値 相対値、変化量 再利用 ドメイン共通 プロジェクト固有
  12. 例:欠陥除去率(Defect Removal Efficiency: DRE) = 欠陥除去数 / 存在した欠陥数 • 日本の7000プロジェクトの平均:

    93% [Jones96] • アメリカのプロジェクトの平均: 85% [Jones10] • OpenStackに基づく大規模クラウドサービスのアジャイル開発事例: 98% [Yamato15] 12 C. Jones, “Software Quality: Analysis and Guidelines for Success,” International Thomson Publishing, 1996. C. Jones, “Software Engineering Best Practices: Lessons from Successful Projects in the Top Companies,” McGraw-Hill, 2010. Yoji YAMATO, Shinichiro KATSURAGI, Shinji NAGAO, Norihiro MIURA, Software Maintenance Evaluation of Agile Software Development Method Based on OpenStack, IEICE Transactions on Information and Systems, 2015, Volume E98.D, Issue 7, Pages 1377-1380, 2015. Linda M. Laird, M. Carol Brennan, “Software Measurement and Estimation: A Practical Approach,” Wiley-IEEE Computer Society, 2006. 欠陥除去率の累積(全体) 欠陥除去率の累積(全体) 平均 以上 平均 以下
  13. 例: リリース単位での信頼性・リリース予測 “Foundation” http://foundation.zurb. com/ 13 438 500 予測完了日: 498

    予測完了日: 498 Hironori Washizaki, Kiyoshi Honda, Yoshiaki Fukazawa, “Predicting Release Time for Open Source Software based on the Generalized Software Reliability Model,” Proceedings of Agile Conference 2015 Issue数 日数
  14. アジャイルメトリクスの代表的サーベイ • アジャイルメトリクス全般のサーベイ – Kupiainen, E., Mäntylä, .M.V., Itkonen, J.,

    2015. Using metrics in Agile and lean software development–a systematic literature review of industrial studies. Inf. Softw. Technol. 62, 143–163. • アジャイル品質メトリクスの最新サーベイ – López, L. et al., 2022. Quality measurement in agile and rapid software development: A systematic mapping, Journal of systems and software • アジャイル開発におけるビッグデータ解析のサーベイ – Biesialska, K., Franch, X., Muntés-Mulero, V., 2020. Big data analytics in Agile software development: A systematic mapping study. Inf. Softw. Technol. 106448. 14
  15. アジャイル品質メトリクス 一覧 15 データ源 メトリクス (品質上の)評価目 標 ビルド 品質ビルド間の平均ビルド数,品質ビルド間の平均時間,ビルドパフォーマ ンス,ビルドのフィードバック時間,デプロイメント速度,品質ブランチ比

    率,品質ビルド比率,ビルド成功比率 プロセスパフォーマ ンス プロダクト品質 課題(Issue) ビッグイシュー、バグの種類、バグ(総数)、バグ修正工数、バグ修正速度、 バグ比率(#バグ/#課題)、クローズドバグ、クローズド課題、クローズ ドタスク、課題の完全データ、重要課題、開発工数、開発速度、開発時間、 工数見積もり、バグ修正工数、課題(総数)、新規課題、古い課題、オープ ンバグ、スケジュール偏差、チームのコミュニケーション、チームの生産性、 テスト工数、ユーザビリティ課題、ユーザ課題 コスト、プロセスパ フォーマンス、プロ ダクト品質、生産性、 スケジュール 要求 要求変更性、要求曖昧性、要求分析、要求設計、要求リスク、仕様変更 アジリティ、プロダ クト品質 実行時 CPU使用率、機能使用率、グラフィックスカード使用率、メモリ使用率、動 作性能、描画速度、描画時間、応答時間、画面切り替え時間、システム稼働 率、システムクラッシュ、システムエラー、システム遅延、システム性能、 システムリソース、システムスループット、トランザクションレート プロダクト品質 ソースコード ブランチカバレッジ、コード変更、コード結合、コード複雑性、コード結合、 コード有効性、コード拡張性、コード柔軟性、コード機能性、コード不正、 コード再利用性、コードレビュー、コード臭、コード状態、コード理解性、 コード違反、コメント付きコード、コスト、重複コード、製品サイズ コスト、プロダクト 品質、生産性、プロ ジェクト成否、リス ク Quality measurement in agile and rapid software development: A systematic mapping (Journal of systems and software, 2022)
  16. アジャイル品質メトリクス 一覧(つづき) 16 データ源 メトリクス (品質上の)評価目標 テスト テスト失敗率、信頼性モデル、パスカバレッジ、ステートカバ レッジ、テスト成功率、テスト実行率、テスト性能、テスト比 率、テスト速度、テスト、トランジションカバレッジ

    プロセスパフォーマンス、プロダ クト品質、生産性 バージョン管理 システム VCS チェックイン、コード変更、コミットコメント、コミットス ピード、コミット (合計)、ファイル リビジョン、イシュー コ メント、マージ速度、プルリクエスト頻度、プルリクエスト速 度、チームの活性化、技術的負債 プロセスパフォーマンス、プロダ クト品質、生産性、スケジュール、 リスク 課題・コード バグ率(#bugs/LOC)、コード変更、コード変更パフォーマ ンス、チーム生産性 プロダクト品質、生産性、プロ ジェクト成否 課題・テスト バグの種類、バグ抽出の生産性、テストスピード(1人時あた り) プロセスパフォーマンス、プロダ クト品質 課題・VCS チームの生産性 プロセスパフォーマンス コード・テスト パスカバレッジ、ステートカバレッジ、テストカバレッジ、ト ランジションカバレッジ プロダクト品質 コード・VCS チームの生産性 生産性 コード・テス ト・VCS テストカバレッジ(プルリクエストごと) プロダクト品質 Quality measurement in agile and rapid software development: A systematic mapping (Journal of systems and software, 2022)
  17. 落とし穴「ホーソン効果」 17 nicolasdsampson.com, Observe And Learn: The Magic Of Paying

    Attention http://nicolasdsampson.com/wp-content/uploads/2012/10/2010_12_06_observe-learn-magic-paying-attention.jpg
  18. Goal-Question-Metric (GQM) パラダイム 明確に目標を定めて、目標に対して必要なメトリクスを対応付け るゴール指向(目標指向)な枠組み • 測定目標(Goal): 測定上の目標 • 質問(Question):

    目標の達成を評価するための質問 • メトリクス(Metric): 質問に回答するために必要な定量的デ ータを得るための主観的・客観的メトリクス 測定する事柄 の決定 測定結果の 解釈 M. メトリクス G. 測定目標 Q. 質問 収集データ 目標達成評価 答え 測定値 R. van Solingen, E. Berghout, “The Goal/Question/Metric Method” McGraw-Hill Education, 1999; ISBN 0-07709-553-7. 18
  19. GQMモデル(グラフ)の例 • 測定目標 – G. コードクローン含有の観点から保守性の低い コードを特定できている。 • 質問 –

    Q1: コードクローンは存在するか? → M1, M2 – Q2: 発見されたコードクローンは保守上有害か ? → M3 • メトリクス – M1: ソースコードの全体的な重複度 – M2: モジュール単位のコードクローン含有率 – M3: コードクローンに対するマネージャの主観 的評価 19 G Q1 Q2 M1 M2 M3 楠本真二, 肥後芳樹, “GQMパラダイムを用いたソフトウェアメトリクスの活用”, コンピュータソフトウェア, 2012. V. Basili, et al.: Goal, Question, Metric Paradigm, Encycloperia of Software Engineering, Vol. 1(1994) リンダ・M・ライルド, M・キャロル・ブレナン著, 野中誠, 鷲崎弘宜 訳 , "演習で学ぶソフトウエアメトリクスの", 日経BP社 , 2009.
  20. H. Nakai, K. Honda, H. Washizaki, Y. Fukazawa, K. Asoh,

    K. Takahashi, K. Ogawa, M. Mori, T. Hino, Y. Hayakawa, Y. Tanaka, S. Yamada, D. Miyazaki, ″Initial Industrial Experience of GQM-based Product-Focused Project Monitoring with Trend Patterns,” 21st Asia-Pacific Software Engineering Conference (APSEC 2014) GQMに基づく品質ダッシュボード
  21. まとめと展望 • アジャイル品質 – チーム全体の取り組み&計画から日々の活動までのあらゆる段階 での取り組み – アジャイル開発の潮流にパターン&品質あり • パターン

    QA to QA – 中核、アジャイルなあり方、品質の特定、品質の可視化 – 品質ロードマップ、バックログ、ダッシュボード、アンドン • アジャイルメトリクス – 動的、相対・変化量、プロジェクト特性加味 – 網羅的なサーベイあり – GQMなどの目標指向の活用を! 21 鷲崎 弘宜, 長谷川 裕一, 濱井 和夫, 小林 浩, 長田 武徳, 田村 英雅, 陳 凌峰, 「QA to AQ:アジャイル品質パターンによる、伝統的な品質保証からアジャイル品質への変革」, CodeZine, https://codezine.jp/article/corner/813