Upgrade to Pro — share decks privately, control downloads, hide ads and more …

なんたって”DevQA” アジャイル開発とQAの合体が改善を生む

なんたって”DevQA” アジャイル開発とQAの合体が改善を生む

アジャイルチームにQAがどうかかわるのか
それは、DevとQAがフィードバックをしあいながら学び
コラボするDevQAモデルになる

Atsushi Nagata

May 27, 2022
Tweet

More Decks by Atsushi Nagata

Other Decks in Technology

Transcript

  1. 設計フェーズからシステムテストを実施する スプリント スプリント スプリント スプリント プロダクトバックログ スプリント バックログ スプリント スプリント

    スプリント スプリント システム テスト 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 10 実施 テスト分析/設計 実施 実施
  2. 組織パターン 4.2.29 James Coplin, Neil Harrison ,2005 2017/1/14 スクラム冬の陣2017 copyright

    © A.Nagata, 13  品質保証を巻き込め(Engage Quality Assurance)  成功するかどうかは、品質の高い作業にかかっている  本質な品質問題に対処するためには、早期のフィードバックが重要である  設計者テストは行われるが、それだけでは漏れが生じてしまう。  だから、QAを中心的なロールにしよう  テストするべきものが開発できたら、すぐにQAと密接に取り組んで評価をし ていこう。  品質管理はプロジェクトの早期から巻き込むべきだ
  3. DevQA 黎明期 2013 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 15 設計

    QA 品質の 見える化  テスト  測定 サポート  Deploy 評価環境 共有 リスク 課題 アクション 信頼関係
  4. 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 19 スプリント開発プロセス スプリント スプリント スプリント

    プロダクトバックログ スプリント バックログ US開発 US開発 US開発 US開発 US開発 US開発 スプリント US開発
  5. ユーザーストーリー単位のテスト設計イメージ 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 29 ユーザー ストーリー 運用手順

    運用手順 運用手順 ・ ・ ・ ・ ・ ・ 機能要件 機能要件 ・ ・ ・ ・ ・ ・ ユーザー ストーリー
  6. ユーザーストーリー単位のテスト設計イメージ 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 31 ユーザー ストーリー 運用手順

    運用手順 運用手順 ・ ・ ・ ・ ・ ・ 機能要件 非機能要件 ・ ・ ・ ・ ・ ・ テスト観点 テスト観点 テスト観点 ・ ・ ・ ・ ・ ・ ユーザー ストーリー
  7. 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 35 質問・提案 QA SM 仕様の説明

    PO テスト設計 ユーザーストーリ・仕様 テストケース 仕様の改善 育成
  8. アジャイルソフトウェア開発宣言 2016/12/16 第32年度ソフトウェア品質管理研究会 copyright © A.Nagata 37 包括的なドキュメントよりも動くソフトウェア 顧客満足を最優先し、 価値のあるソフトウェアを早く継続的に提供します。

    要求の変更はたとえ開発の後期であっても歓迎します。 変化を味方につけることによって、お客様の競争力を引き上げます。 動くソフトウェアを、2-3週間から2-3ヶ月という できるだけ短い時間間隔でリリースします。 顧客からのフィードバックを早くできるだけ早く得たい 本当に顧客がほしい価値をデリバリしたい アジャイルソフトウェア開発の本質 本当の価値は顧客のフィードバックからしか得られない
  9. QAの役割 2016/12/16 第32年度ソフトウェア品質管理研究会 copyright © A.Nagata 38 顧客からのフィードバックを早くできるだけ早く得たい 評価してもらうレベルまで上げておかなければならない まず、顧客の肩代わりとして、

    顧客に評価してもらうレベルまで上げていくため 顧客視点での品質のフィードバックを返していく バグの潜在時間をできるだけ短くする 早くフィードバックして品質を上げていく
  10. 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 41 POはQAと開発からフィードバックを受けるように 開 発 観

    点 の フ ィ ー ド バ ッ ク QA PO 開発 仕 様 の レ ビ ュ ー 顧 客 観 点 の フ ィ ー ド バ ッ ク
  11. フィードバックループによってQAが得たもの 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 44  ドメイン知識 

    ユーザーストーリからのテスト情報の導き方、補い方  足りない情報を的確に得る方法  情報ルート=フィードバックループの確立  POとのコネクション  仕様レビュー  バグの報告に対し、“この振る舞いは仕様で、障害ではない“という 理由で”問題なし”となる件数の割合が半減した.  設計とQAの仕様の齟齬が削減 テスト設計で 必要な情報
  12. ユーザーストーリー単位のテスト設計イメージ 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 53 ユーザー ストーリー 運用手順

    運用手順 運用手順 ・ ・ ・ ・ ・ ・ 機能要件 非機能要件 ・ ・ ・ ・ ・ ・ テスト観点 テスト観点 テスト観点 ・ ・ ・ ・ ・ ・ ユーザー ストーリー
  13. 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 54 開発メンバーが実装前に テスト設計をレビュー QA 開発

    開発観点から評価して 欲しい点のフィードバック 実装前から 評価内容を把握
  14. ユーザーストーリー開発プロセス 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 55 仕様設計 詳細設計 テスト設計

    実装 テストケース 評価 バグ修正 仕 様 レ ビ ュ ー テ ス ト 設 計 レ ビ ュ ー PO QA 開発
  15. フィードバックループで開発が得たもの 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 56  ユーザー視点の大切さに気付けた 

    評価内容を設計の段階から知ることができ、QA評価前にBugが潰せた (QA前品質向上)  開発→QAに対して評価してほしいことを気軽にお願いできる  近くにいるため、Bugの修正内容をチケット更新だけでなく口頭で伝え られる.Bug発生時の動作が把握しやすい。記憶の新しいうちに対応が でき認識間違いが減る.従って、手戻りが減る  困っていることがあればすぐに相談できるため、悩みの解決スピードが 速い
  16. フィードバックループでQAが得たもの 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 57  テスト設計レビューを通して、開発視点から指摘をもらえることで、テスト設 計の精度が上がって嬉しい

     仕様の認識間違いがQA前に解消できるため、QA前に品質の高いものが開 発から出てくる。  その結果、基本動作Bugが減り、本当に時間をかけたい異常系や性能評価、ワーク フローや長期安定性評価に時間をかけることができて嬉しい  テスト設計レビューで、評価内容を相手に正確に伝えることを意識するため、 仕様の理解がより深まる。
  17. ユーザーストーリー開発プロセス 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 58 仕様設計 詳細設計 テスト設計

    実装 テストケース 評価 バグ修正 仕 様 レ ビ ュ ー テ ス ト 設 計 レ ビ ュ ー PO QA 開発
  18. 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 62 スプリント開発プロセス Before スプリント スプリント

    スプリント プロダクトバックログ スプリント バックログ US開発 US開発 US開発 US開発 US開発 US開発 スプリント US開発 機能 ワーク フロー 性能 ユーザ ビリティ 長期 安定性 負荷
  19. 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 63 スプリント開発プロセス After スプリント スプリント

    スプリント テストスプリント プロダクトバックログ スプリント バックログ US開発 US開発 US開発 US開発 US開発 US開発 システムテスト 機能 USワーク フロー 性能 ユーザ ビリティ 長期 安定性 負荷 全体ワーク フロー QA-in 計画をし 合意
  20. テストスプリントバックログ スプリント スプリント スプリント スプリント スプリント スプリント スプリント スプリント プロダクトバックログ

    スプリント バックログ システム テスト テストスプリント バックログ 2014/1/30 東芝SPIシンポジウム2014 copyright © A.Nagata 64
  21. やれるところからテストしていこう Pattern: Time to Test The Pattern Almanac, 2000 Linda

    Rising 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 65 いつ何のテストができるのか、 設計と合意を取って行おう テスト計画は、設計の進捗、状態により 柔軟に見直していかなければならない 関連:機が熟すのを待て : Take Time
  22. ユーザーストーリー単位の開発プロセス 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 71 P O デ

    モ 仕様設計 詳細設計 テスト設計 実装 テストケース 評価 バグ修正 仕 様 レ ビ ュ ー PO QA 設計 テ ス ト 設 計 レ ビ ュ ー
  23. ユーザーストーリー単位の開発プロセス 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 73 P O デ

    モ 仕様設計 詳細設計 テスト設計 実装 テストケース 評価 バグ修正 仕 様 レ ビ ュ ー PO QA 設計 フィードバックにより仕様変更を常に許容 テ ス ト 設 計 レ ビ ュ ー
  24. ATDD(Acceptance Test Driven Development) 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 74

    P O デ モ 仕様設計 詳細設計 テスト設計 実装 テストケース 評価 バグ修正 仕 様 レ ビ ュ ー PO QA 設計 フィードバックにより仕様変更を常に許容 テ ス ト 設 計 レ ビ ュ ー
  25. ATDD 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 75  本来Acceptance Testは顧客がやるもの

     QAが顧客顧客の肩代わりとして、 システムの振る舞いを含めた品質=価値を評価  開発者は迷わず開発を進められる  ゴールは、合意されたもの
  26. QAの役割 2016/12/16 第32年度ソフトウェア品質管理研究会 copyright © A.Nagata 76 顧客からのフィードバックを早くできるだけ早く得たい 評価してもらうレベルまで上げておかなければならない まず、顧客の肩代わりとして、

    顧客に評価してもらうレベルまで上げていくため 顧客視点での品質のフィードバックを返していく バグの潜在時間をできるだけ短くする 早くフィードバックして品質を上げていく
  27. 課題 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 78  まだSMへの依存度が高く、自立できていない 

    組織変更によるチームメンバーの出入りでベロシティが下がる  レビューの総時間が増えた  費用対効果は高いため、問題ではないが、さらなる効率化をという点での課題で はある  ベロシティーがなかなかあがらない  スクラムはどうしても人に依存するため、全体最適の視点で自立的に 動ける人材(PL含む)の育成にかなりの労力を費やしている  このようなアジャイルチームになるには、Agileの普及活動含め時間が かかる.
  28. DevQA : アジャイル開発における設計とQAのコラボレーション 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 79 設計

    QA 品質の 見える化 開発のリファレンス  テスト  測定  テストケース サポート Deploy 評価環境 暗黙的共有 リスク 課題 アクション 信頼関係 フィードバックでもたらされた情報 + 合意された形式的情報 (開発,PO)
  29. 早いうちから巻き込め Pattern: Pattern: Get Involved Early The Pattern Almanac, 2000

    Linda Rising 2017/1/14 スクラム冬の陣2017 copyright © A.Nagata, 82  早い段階で設計者と関係を構築しておく  例  設計者とともに、システムやフィーチャを学ぶ  要求仕様や設計ドキュメントのレビューに参加する  テスト計画のレビューに設計者を招待する  あなたが設計者と関係を持たなければならないと気付いてからでは遅すぎる  信頼を得るためには時間がかかるから。 設計チームからのサポートを最大限引き出したい