アジャイルチームにQAがどうかかわるのか それは、DevとQAがフィードバックをしあいながら学び コラボするDevQAモデルになる
なんたって”DevQA”アジャイル開発とQAの合体が改善を生むアジャイルの特性を生かしたチーム作りと品質の改善スクラム冬の陣2017 copyright © A.Nagata,1www.vandalsrugby.ca2017/1/14
View Slide
自己紹介ソニー株式会社IP&S 品質保証・サービスオペレーション部門PS-システムクオリティ部SQM課永田 敦アジャイルソフトウェア開発改善サポート、コーチングJSTQBAdvanced Level Test Manager第32年度ソフトウェア品質管理研究会 copyright © A.Nagata22016/12/16
自己紹介アジャイルの流儀:EVO現場モード:Stealthcopyright © A.Nagata3 2015 /1/30Agile RCAAgile Inspection Maestro
ソニープロフェッショナルプロダクツ2017/1/14スクラム冬の陣2017 copyright © A.Nagata,4
アジャイル開発の実態QAから見たアジャイル開発2016/12/16第32年度ソフトウェア品質管理研究会 copyright © A.Nagata5
スクラムスプリント スプリント スプリントプロダクトバックログスプリントバックログ2017/1/14スクラム冬の陣2017 copyright © A.Nagata,6
スクラムスプリント スプリント スプリントプロダクトバックログスプリントバックログシステムテスト出荷2017/1/14スクラム冬の陣2017 copyright © A.Nagata,7
システムテストをやっているがバグが流出2017/1/14スクラム冬の陣2017 copyright © A.Nagata,8プロダクトバックログスプリントバックログ実施出荷システムテスト テスト分析/設計バグ流出市場障害
もし品質が悪いとプロダクトバックログスプリントバックログ実施出荷予定システムテスト テスト分析/設計バグデバッグ9実施 実施2017/1/14スクラム冬の陣2017 copyright © A.Nagata,
設計フェーズからシステムテストを実施するスプリント スプリント スプリント スプリントプロダクトバックログスプリントバックログスプリント スプリント スプリント スプリントシステムテスト2017/1/14スクラム冬の陣2017 copyright © A.Nagata,10実施テスト分析/設計 実施 実施
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,11もっと早いタイミングで評価しよう設計フェーズに飛び込む
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,12
組織パターン 4.2.29James Coplin, Neil Harrison ,20052017/1/14スクラム冬の陣2017 copyright © A.Nagata,13 品質保証を巻き込め(Engage Quality Assurance) 成功するかどうかは、品質の高い作業にかかっている 本質な品質問題に対処するためには、早期のフィードバックが重要である 設計者テストは行われるが、それだけでは漏れが生じてしまう。 だから、QAを中心的なロールにしよう テストするべきものが開発できたら、すぐにQAと密接に取り組んで評価をしていこう。 品質管理はプロジェクトの早期から巻き込むべきだ
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,14QAが設計に入ってくるいろいろ言われるのではないかあれを出せこれを出せあれを測れこれを測れあれを直せこれを直せ設計に余計な負荷がかかる設計リーダーの憂鬱固いガードQA
DevQA 黎明期 20132017/1/14スクラム冬の陣2017 copyright © A.Nagata,15設計 QA品質の見える化 テスト 測定サポート Deploy 評価環境共有リスク課題アクション信頼関係
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,16チームのその後の話です。
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,17次の挑戦仕様の無駄をなくしたい
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,18皆が自然と助け合えるプロセスを考えてみました。
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,19スプリント開発プロセススプリント スプリント スプリントプロダクトバックログスプリントバックログUS開発US開発US開発US開発US開発US開発スプリントUS開発
ユーザーストーリー開発プロセス2017/1/14スクラム冬の陣2017 copyright © A.Nagata,20仕様設計詳細設計テスト設計仕様レビューPOQA開発
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,21しかし、そんな矢先に組織が変わってしまいましたorz
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,22今のQAが去り、別の人がチームに参入することに。
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,23新しいQAの人はドメイン知識を持っていない.新しいQAの人はドメイン知識を持っていない.もちろん、DevQA、アジャイルテストも初めて
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,24スクラムマスタ(SM)がQAの人と一緒にQAをしてみた。
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,25テストのペア設計(ペアプロ)
ユーザーストーリー開発プロセス2017/1/14スクラム冬の陣2017 copyright © A.Nagata,26仕様設計詳細設計テスト設計仕様レビューPOQA開発
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,27テスト設計におけるSMとQAのフィードバックループSM QAテスト観点・テスト条件ユーザストーリのブレークダウン・ドメイン知識
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,28テスト設計まず、スクラムマスタ(SM)が主導で、ユーザーストーリー単位のテスト設計を実施してみた(マインドマップ)
ユーザーストーリー単位のテスト設計イメージ2017/1/14スクラム冬の陣2017 copyright © A.Nagata,29ユーザーストーリー運用手順運用手順運用手順・・・・・・機能要件機能要件・・・・・・ユーザーストーリー
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,30次にそのテスト設計にQAが主導で、評価観点を肉付けした
ユーザーストーリー単位のテスト設計イメージ2017/1/14スクラム冬の陣2017 copyright © A.Nagata,31ユーザーストーリー運用手順運用手順運用手順・・・・・・機能要件非機能要件・・・・・・テスト観点テスト観点テスト観点・・・・・・ユーザーストーリー
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,32テスト設計で足りないインプットが見つかりQA→プロダクトオーナ(PO)にフィードバックするようSMが促す
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,33テスト設計による、QAとPOのフィードバックループQA POQAが欲しい仕様の提示質問SM
ユーザーストーリー開発プロセス2017/1/14スクラム冬の陣2017 copyright © A.Nagata,34仕様設計詳細設計テスト設計仕様レビューPOQA開発
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,35質問・提案QASM仕様の説明POテスト設計ユーザーストーリ・仕様テストケース仕様の改善育成
フィードバック獲得の設計2016/12/16第32年度ソフトウェア品質管理研究会 copyright © A.Nagata36三菱電機 細谷泰夫:斥候としてのアジャイルプロセス活用の提案 :SPI Japan 2012
アジャイルソフトウェア開発宣言2016/12/16第32年度ソフトウェア品質管理研究会 copyright © A.Nagata37包括的なドキュメントよりも動くソフトウェア顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します。要求の変更はたとえ開発の後期であっても歓迎します。変化を味方につけることによって、お客様の競争力を引き上げます。動くソフトウェアを、2-3週間から2-3ヶ月というできるだけ短い時間間隔でリリースします。顧客からのフィードバックを早くできるだけ早く得たい本当に顧客がほしい価値をデリバリしたいアジャイルソフトウェア開発の本質本当の価値は顧客のフィードバックからしか得られない
QAの役割2016/12/16第32年度ソフトウェア品質管理研究会 copyright © A.Nagata38顧客からのフィードバックを早くできるだけ早く得たい評価してもらうレベルまで上げておかなければならないまず、顧客の肩代わりとして、顧客に評価してもらうレベルまで上げていくため顧客視点での品質のフィードバックを返していくバグの潜在時間をできるだけ短くする早くフィードバックして品質を上げていく
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,39SMとQAの関係さらに、POの仕様レビューにQAも一緒に参加仕様の理解に徹する
ユーザーストーリー開発プロセス2017/1/14スクラム冬の陣2017 copyright © A.Nagata,40仕様設計詳細設計テスト設計仕様レビューPOQA開発
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,41POはQAと開発からフィードバックを受けるように開発観点のフィードバック QAPO開発仕様のレビュー顧客観点のフィードバック
ユーザーストーリー開発プロセス2017/1/14スクラム冬の陣2017 copyright © A.Nagata,42仕様設計詳細設計テスト設計仕様レビューPOQA開発
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,43フィードバックがだんだん洗練されていくこの仕様よりもこうするともっとシンプルになります顧客は本当にこの機能が必要でしょうか
フィードバックループによってQAが得たもの2017/1/14スクラム冬の陣2017 copyright © A.Nagata,44 ドメイン知識 ユーザーストーリからのテスト情報の導き方、補い方 足りない情報を的確に得る方法 情報ルート=フィードバックループの確立 POとのコネクション 仕様レビュー バグの報告に対し、“この振る舞いは仕様で、障害ではない“という理由で”問題なし”となる件数の割合が半減した. 設計とQAの仕様の齟齬が削減テスト設計で必要な情報
“仕様通り”という理由で開発から返されるバグ報告の量の比較2017/1/14スクラム冬の陣2017 copyright © A.Nagata,45
フィードバックループによってPOが得たもの2017/1/14スクラム冬の陣2017 copyright © A.Nagata,46 QAが現場での経験則から、仕様書レビューで改善指摘をしてくれることが良かった 仕様に対して、 QA評価視点、例えば“非機能要件の指定はありますか?”などの仕様の漏れを指摘してくれる
暗黙知 : コンテキスト47 2016/12/16第32年度ソフトウェア品質管理研究会 copyright © A.Nagata暗黙知
暗黙知によるコミュニケーション48 2016/12/16第32年度ソフトウェア品質管理研究会 copyright © A.Nagata暗黙知
設計のための情報をチームで共有している49 2016/12/16第32年度ソフトウェア品質管理研究会 copyright © A.Nagata暗黙知形式知
想定外の暗黙知の齟齬50 2016/12/16第32年度ソフトウェア品質管理研究会 copyright © A.Nagata暗黙知
暗黙知齟齬をふせぐ51 2016/12/16第32年度ソフトウェア品質管理研究会 copyright © A.Nagataスクラムフレームワークデイリーミーティングスプリント計画スプリントレビュー振り返りDevQA暗黙知
開発メンバーがテスト設計をレビュー2016/12/16第32年度ソフトウェア品質管理研究会 copyright © A.Nagata52開発メンバーどんなテストしようとしているのか無駄なテストをしていないか?
ユーザーストーリー単位のテスト設計イメージ2017/1/14スクラム冬の陣2017 copyright © A.Nagata,53ユーザーストーリー運用手順運用手順運用手順・・・・・・機能要件非機能要件・・・・・・テスト観点テスト観点テスト観点・・・・・・ユーザーストーリー
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,54開発メンバーが実装前にテスト設計をレビューQA 開発開発観点から評価して欲しい点のフィードバック実装前から評価内容を把握
ユーザーストーリー開発プロセス2017/1/14スクラム冬の陣2017 copyright © A.Nagata,55仕様設計詳細設計テスト設計実装テストケース 評価バグ修正仕様レビューテスト設計レビューPOQA開発
フィードバックループで開発が得たもの2017/1/14スクラム冬の陣2017 copyright © A.Nagata,56 ユーザー視点の大切さに気付けた 評価内容を設計の段階から知ることができ、QA評価前にBugが潰せた(QA前品質向上) 開発→QAに対して評価してほしいことを気軽にお願いできる 近くにいるため、Bugの修正内容をチケット更新だけでなく口頭で伝えられる.Bug発生時の動作が把握しやすい。記憶の新しいうちに対応ができ認識間違いが減る.従って、手戻りが減る 困っていることがあればすぐに相談できるため、悩みの解決スピードが速い
フィードバックループでQAが得たもの2017/1/14スクラム冬の陣2017 copyright © A.Nagata,57 テスト設計レビューを通して、開発視点から指摘をもらえることで、テスト設計の精度が上がって嬉しい 仕様の認識間違いがQA前に解消できるため、QA前に品質の高いものが開発から出てくる。 その結果、基本動作Bugが減り、本当に時間をかけたい異常系や性能評価、ワークフローや長期安定性評価に時間をかけることができて嬉しい テスト設計レビューで、評価内容を相手に正確に伝えることを意識するため、仕様の理解がより深まる。
ユーザーストーリー開発プロセス2017/1/14スクラム冬の陣2017 copyright © A.Nagata,58仕様設計詳細設計テスト設計実装テストケース 評価バグ修正仕様レビューテスト設計レビューPOQA開発
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,59ユーザーストーリーのDoneの定義「QA評価のテスト完・Bugゼロ」機能ワークフロー性能長期安定性負荷ユーザビリティ
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,60案の定テストが終わらない問題発生QAメンバーから泣きのHELPあり
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,61負荷テストや長期安定性などのテストケースまで全て実施してみようと試みたが、現実的ではなかった
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,62スプリント開発プロセス Beforeスプリント スプリント スプリントプロダクトバックログスプリントバックログUS開発US開発US開発US開発US開発US開発スプリントUS開発機能ワークフロー性能ユーザビリティ長期安定性負荷
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,63スプリント開発プロセス Afterスプリント スプリント スプリント テストスプリントプロダクトバックログスプリントバックログUS開発US開発US開発US開発US開発US開発システムテスト機能USワークフロー性能ユーザビリティ長期安定性負荷全体ワークフローQA-in計画をし合意
テストスプリントバックログスプリント スプリント スプリント スプリントスプリント スプリント スプリント スプリントプロダクトバックログスプリントバックログシステムテストテストスプリントバックログ2014/1/30東芝SPIシンポジウム2014 copyright © A.Nagata64
やれるところからテストしていこうPattern: Time to TestThe Pattern Almanac, 2000 Linda Rising2017/1/14スクラム冬の陣2017 copyright © A.Nagata,65いつ何のテストができるのか、設計と合意を取って行おうテスト計画は、設計の進捗、状態により柔軟に見直していかなければならない関連:機が熟すのを待て : Take Time
バグの発生分布2017/1/14スクラム冬の陣2017 copyright © A.Nagata,66
QA-in以降のバグの分布(基本機能かどうか)2017/1/14スクラム冬の陣2017 copyright © A.Nagata,67基本機能のバグは、QA-in前の評価で取られているまたは、初めから入りこんでいない
バーンアップチャート2017/1/14スクラム冬の陣2017 copyright © A.Nagata,68
コード品質の変化: 2013年のプロジェクトと比較2017/1/14スクラム冬の陣2017 copyright © A.Nagata,69バグが65%減少コード品質が改善した
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,70こうしてlフィードバックと振り返りを繰り返していった結果。
ユーザーストーリー単位の開発プロセス2017/1/14スクラム冬の陣2017 copyright © A.Nagata,71POデモ仕様設計詳細設計テスト設計実装テストケース 評価バグ修正仕様レビューPOQA設計テスト設計レビュー
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,72QAのテストケース製品の詳細な振る舞いの仕様書となった開発部隊はそれを開発のリファレンスにするようになった
ユーザーストーリー単位の開発プロセス2017/1/14スクラム冬の陣2017 copyright © A.Nagata,73POデモ仕様設計詳細設計テスト設計実装テストケース 評価バグ修正仕様レビューPOQA設計フィードバックにより仕様変更を常に許容テスト設計レビュー
ATDD(Acceptance Test Driven Development)2017/1/14スクラム冬の陣2017 copyright © A.Nagata,74POデモ仕様設計詳細設計テスト設計実装テストケース 評価バグ修正仕様レビューPOQA設計フィードバックにより仕様変更を常に許容テスト設計レビュー
ATDD2017/1/14スクラム冬の陣2017 copyright © A.Nagata,75 本来Acceptance Testは顧客がやるもの QAが顧客顧客の肩代わりとして、システムの振る舞いを含めた品質=価値を評価 開発者は迷わず開発を進められる ゴールは、合意されたもの
QAの役割2016/12/16第32年度ソフトウェア品質管理研究会 copyright © A.Nagata76顧客からのフィードバックを早くできるだけ早く得たい評価してもらうレベルまで上げておかなければならないまず、顧客の肩代わりとして、顧客に評価してもらうレベルまで上げていくため顧客視点での品質のフィードバックを返していくバグの潜在時間をできるだけ短くする早くフィードバックして品質を上げていく
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,77ポイント一晩でできたことではない!最初は、不完全なものQAも巻き込み、フィードバック、振り返りを繰り返し少しづつ変えていった結果
課題2017/1/14スクラム冬の陣2017 copyright © A.Nagata,78 まだSMへの依存度が高く、自立できていない 組織変更によるチームメンバーの出入りでベロシティが下がる レビューの総時間が増えた 費用対効果は高いため、問題ではないが、さらなる効率化をという点での課題ではある ベロシティーがなかなかあがらない スクラムはどうしても人に依存するため、全体最適の視点で自立的に動ける人材(PL含む)の育成にかなりの労力を費やしている このようなアジャイルチームになるには、Agileの普及活動含め時間がかかる.
DevQA : アジャイル開発における設計とQAのコラボレーション2017/1/14スクラム冬の陣2017 copyright © A.Nagata,79設計 QA品質の見える化開発のリファレンス テスト 測定 テストケースサポートDeploy 評価環境暗黙的共有リスク課題アクション信頼関係フィードバックでもたらされた情報 + 合意された形式的情報(開発,PO)
アジャイルにおけるQA2017/1/14スクラム冬の陣2017 copyright © A.Nagata,80QA顧客に変わって品質の状態をフィードバックするデリバリの判断の情報を説明報告する品質の目標、構想、計画を立てる
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,81Linda Rising, 2004
早いうちから巻き込めPattern: Pattern: Get Involved EarlyThe Pattern Almanac, 2000 Linda Rising2017/1/14スクラム冬の陣2017 copyright © A.Nagata,82 早い段階で設計者と関係を構築しておく 例 設計者とともに、システムやフィーチャを学ぶ 要求仕様や設計ドキュメントのレビューに参加する テスト計画のレビューに設計者を招待する あなたが設計者と関係を持たなければならないと気付いてからでは遅すぎる 信頼を得るためには時間がかかるから。設計チームからのサポートを最大限引き出したい
アジャイルにおけるQA2017/1/14スクラム冬の陣2017 copyright © A.Nagata,83アジャイル開発においてQAはなくてはならないチームのメンバーですよろしく
2017/1/14スクラム冬の陣2017 copyright © A.Nagata,84ご清聴ありがとうございました