Slide 1

Slide 1 text

update ドキュメントが無いプロジェクトでどうレビューする? 関係者全員でモブワークして成果物を作った実例 (JaSST’23 Hokuriku版) Copyright © 2021 WingArc1st Inc. All Rights Reserved. 2023/1/20 JaSST’23 Hokuriku ウイングアーク1st 株式会社 伊藤 潤平

Slide 2

Slide 2 text

自己紹介 2 • 伊藤 潤平(@jp_110) • ウイングアーク1st株式会社 • ソフトウェアプロセス&品質改善部 マネージャー • 社外活動 • Scrum Fest Niigata 実行委員会 代表 • JaSST Niigata 実行委員 • SigSQAメンバー • YouTube翻訳活動 • プロフィール AgileTD Zone Keynotes in Japanese https://niigatabase.shabellbase.com/engineer_01/

Slide 3

Slide 3 text

page No. 3 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 本日お伝えしたいこと 2021年10月22日に開催されたJaSST Review’21の再演+αです。 ラーニングアウトカム • モブワークで成果物を作る。 • モブワークでチームに一体感が生まれる。 • モブワークでテスト自動化までできる。

Slide 4

Slide 4 text

page No. 4 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 01 背景 02 やりたいこと 03 04 INDEX 05 06 07 まとめと今後 モブワーク 認識共有と共通理解 合意形成が早い 一体感と同時に学び 08 続き

Slide 5

Slide 5 text

Copyright © 2023 WingArc1st Inc. All Rights Reserved. 背景 突然のリリース承認依頼

Slide 6

Slide 6 text

page No. 6 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 要件定義書もない、仕様書もない、 もちろん、テスト設計書もない。 そんなプロジェクトに入って製品をリリースした経験 はありますか?

Slide 7

Slide 7 text

page No. 7 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 全てはこのチャットから

Slide 8

Slide 8 text

page No. 8 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 仕様書は? ない テストケースは? ない どこまでテストしてる? だいぶやってますよ ヒヤリング 開発チーム QAチーム

Slide 9

Slide 9 text

page No. 9 Copyright © 2023 WingArc1st Inc. All Rights Reserved. ヒヤリング 空中戦 アプリの機能、操作、 細かい仕様 リリースできる品質か わからない。 リスクは? 開発チーム QAチーム

Slide 10

Slide 10 text

page No. 10 Copyright © 2023 WingArc1st Inc. All Rights Reserved. チーム全員が気持ちよくリリースしたい 共通理解 レビュー レビュー ドキュメント 開発チーム QAチーム

Slide 11

Slide 11 text

Copyright © 2023 WingArc1st Inc. All Rights Reserved. 成果物を作りたい 無いなら作ろう!

Slide 12

Slide 12 text

page No. 12 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 品質 品質ゴール 品質 品質 品質 プロダクト バックログ マスター テストプラン ビッグピクチャー (全体像) プロダクト リリース 品質データ アジャイル開発における段階的品質の積み上げによる品質保証 Quality Assurance by Quality Stepwise Refinement in Agile Development やりたいこと Potentially Shippable Product

Slide 13

Slide 13 text

page No. 13 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 成果物 現状 やりたいこ 要件定義 なし リーンキャンバス 仕様 なし ユーザーストーリーマッピング テスト なし(やってるらしい) テスト観点表 成果物をモブで作ろう! 全員でモブワークして 成果物を作ろう!

Slide 14

Slide 14 text

Copyright © 2023 WingArc1st Inc. All Rights Reserved. モブワーク 全員でモブワークしよう!

Slide 15

Slide 15 text

page No. 15 Copyright © 2023 WingArc1st Inc. All Rights Reserved. リーンキャンバス作成 ユーザーストーリーマッピング作成 テスト観点表作成 リリースに対して必要なもの整理 計画(リリースまで1か月) 1周目 2周目 3周目 4周目

Slide 16

Slide 16 text

page No. 成果物 16 Copyright © 2023 WingArc1st Inc. All Rights Reserved. モブワークにおける役割と成果物 レビュー ユーザーストーリー マッピング テスト観点表 ファシリテーター 意見者 (ナビゲーター) リーンキャンバス 作成者 (ドライバー)

Slide 17

Slide 17 text

page No. 17 Copyright © 2023 WingArc1st Inc. All Rights Reserved. モブワークに期待する効果 開発チーム QAチーム 成果物 お互いの 認識を共有 時間がない 中での リリース 共通の理解 と学び

Slide 18

Slide 18 text

Copyright © 2023 WingArc1st Inc. All Rights Reserved. 認識共有と共通理解 全員で理解しよう!

Slide 19

Slide 19 text

page No. 19 Copyright © 2023 WingArc1st Inc. All Rights Reserved. リーンキャンバスを使って目的を知る リーンキャンバスとは9つの項目からビジネスモデルをまとめるフレームワーク ②課題 代替品 ④ソリューション ③独自の価値提案 上位概念 ⑨圧倒的な優位性 ①顧客セグメント アーリーアダプター ⑦主要指標 ⑤チャンネル ⑧コスト構造 ⑥収益の流れ

Slide 20

Slide 20 text

Copyright © 2023 WingArc1st Inc. All Rights Reserved.

Slide 21

Slide 21 text

page No. 21 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 難しかったですね。 はい。 でも今までチームの中で 会話してた内容が、1つの キャンバスにまとめられた。 新しい発見はありましたか? 大事にしたい指標が出た。 目的の集約と新しい発見 開発チーム QAチーム

Slide 22

Slide 22 text

page No. ユーザーストーリー ナラティブフロー バックボーン 22 Copyright © 2023 WingArc1st Inc. All Rights Reserved. ユーザーストーリーマッピングを使って仕様や価値を知る ユーザー アクティビティ ストーリー アクティビティ アクティビティ アクティビティ ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー 優先順位 高 低 Release1 (MVP) Release2 https://www.oreilly.co.jp/books/9784873117324/

Slide 23

Slide 23 text

page No. 23 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 様々な視点からの意見の取り込み ユーザー アクティビティ ストーリー アクティビティ アクティビティ アクティビティ ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー QAチーム 開発チーム どんなユーザーに 何の価値を提供したいか 知りたい アプリの機能や ユーザー操作を 説明したい システム 視点 ユーザー 視点

Slide 24

Slide 24 text

Copyright © 2023 WingArc1st Inc. All Rights Reserved.

Slide 25

Slide 25 text

page No. 25 Copyright © 2023 WingArc1st Inc. All Rights Reserved. お互いの認識を共有 QAチーム 開発チーム アプリのアーキテクチャと、 機能の仕様がわかってきた。 QAが気にしている、提供し たい価値と、リスクの意味 がなんとなくわかってきた。

Slide 26

Slide 26 text

page No. 26 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 用語集の作成からバグをその場で修正 QAチーム 開発チーム あれ? さっきも同じ 用語を聞いた もしかして、用語がバラバラ? 確かに人によって認識が違うかも 用語集を作って整理しましょう。 ということは、この辺はUIバグだ。

Slide 27

Slide 27 text

page No. 27 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 隠し機能の発見 QAチーム 開発チーム ユーザー操作ミスを防ぐために、 確認ダイアログがあった方が良いで すね。 実は隠し機能があって。。。 ストーリーに盛り込みましょう。 え?

Slide 28

Slide 28 text

page No. 28 Copyright © 2023 WingArc1st Inc. All Rights Reserved. テスト観点表を作ってどこまでテストしているかを知る ストーリーに AC(受け入れ条件)を設定 テスト観点表に反映

Slide 29

Slide 29 text

page No. 29 Copyright © 2023 WingArc1st Inc. All Rights Reserved. テストの範囲 QAチーム 開発チーム 実行したテストを整理すると、だい ぶ見えてきますね。 今まで自分たちが実行していたテ ストはほんの一部だった。 実行していないテスト観点も見え て、リスクがあることを知った。

Slide 30

Slide 30 text

Copyright © 2023 WingArc1st Inc. All Rights Reserved. 合意形成が早い リリースまでに確保すべき品質を決めよう!

Slide 31

Slide 31 text

page No. 31 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 優先順位を設定し、リリース計画を立てる ユーザー アクティビティ ストーリー アクティビティ アクティビティ アクティビティ ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー ストーリー 優先順位 高 低 Release1 (MVP) Release2 全体像を把握し、 優先順位を設定 する 優先順位を設定する ことによって、 リリースの計画を立 てられる

Slide 32

Slide 32 text

page No. 32 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 今回のリリースはここまでの 機能のテストでいいですか? はい、OKです。 利用ユーザーが増えた時の 性能面のテストはリリース後? 次回リリースまでに テストでOKです。 次回リリースはいつ頃を 予定してますか? 来月計画します。 リリースの範囲をその場で合意形成 開発チーム QAチーム

Slide 33

Slide 33 text

page No. 33 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 品質 品質ゴール 品質 品質 品質 品質データ リリース計画と確保すべき品質を合意する Release1 (MVP) Release2 Release3 Release4 合意 開発チーム QAチーム ユーザーストーリー マッピング テスト観点表 リリース計画

Slide 34

Slide 34 text

Copyright © 2023 WingArc1st Inc. All Rights Reserved. 一体感の高まり、と同時に学びになる やっときまーす!

Slide 35

Slide 35 text

page No. 35 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 通常のレビュープロセス 開発チーム 質問、指摘、フィードバック レビューお願いします。 QAチーム 時間ないのに… 次回までに期待する 成果物ができるか不安 これじゃテスト できないよ…

Slide 36

Slide 36 text

page No. 36 Copyright © 2023 WingArc1st Inc. All Rights Reserved. モブワークで一体感が高まる レビュー レビュー なるほど。 そうやって作るのか。 不明点をその場で 説明してくれるので、 すぐに反映できる。 開発チーム QAチーム

Slide 37

Slide 37 text

page No. 37 Copyright © 2023 WingArc1st Inc. All Rights Reserved. ドキュメントも製品の仕様も一緒に作る QAチーム 開発チーム この機能心配ですね? そうですね。 リスクの可能性があるので 書いておきましょう。 次期バージョンのエンハンスに 入れたいですね。 そうですね。 こんな仕様だとどうですか?

Slide 38

Slide 38 text

page No. 38 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 学びになる QAチーム 開発チーム 次回ミーティングに 持ち越しますか? だいたい分かったんで、 次回までに自分の宿題として やっときまーす。 おー。すげー。

Slide 39

Slide 39 text

Copyright © 2023 WingArc1st Inc. All Rights Reserved. まとめと今後 効果を認識し、継続的に改善し続けよう!

Slide 40

Slide 40 text

page No. 成果物 40 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 全員で成果物を作成した レビュー ユーザーストーリー マッピング テスト観点表 ファシリテーター 意見者 (ナビゲーター) リーンキャンバス 作成者 (ドライバー)

Slide 41

Slide 41 text

page No. 41 Copyright © 2023 WingArc1st Inc. All Rights Reserved. モブワークの効果 ユーザーストーリーマッピング テスト観点表 リーンキャンバス 大事にしたい指標を 共有できた それぞれの視点からの情報を 共有でき、共通の理解を得た お互いの認識の共有と、共通の理解を得た 実行したテストと、まだテス トが足りない部分が明確に なった

Slide 42

Slide 42 text

page No. 42 Copyright © 2023 WingArc1st Inc. All Rights Reserved. モブワークの効果 ユーザーストーリーマッピング テスト観点表 リーンキャンバス 時間の無い中で、リリース計 画の合意形成が即座にできた ワークの中でスピーディーに合意できた リリース計画にもとづいて、 確保すべき品質が明確になっ た

Slide 43

Slide 43 text

page No. 43 Copyright © 2023 WingArc1st Inc. All Rights Reserved. モブワークの効果 ユーザーストーリーマッピング テスト観点表 リーンキャンバス 成果物も作るし、製品も一緒 に作る感覚。 一体感が生まれ、お互いに学びになった テスト設計のやり方が分かっ てきた。次回までに作る。

Slide 44

Slide 44 text

page No. 44 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 次の成果物は? ユーザーストーリーマッピング テスト観点表 リーンキャンバス テスト自動化フレームワーク

Slide 45

Slide 45 text

Copyright © 2023 WingArc1st Inc. All Rights Reserved. つづき テストの自動化をしつつ、アーキテクチャの共通理解を得る

Slide 46

Slide 46 text

page No. 46 Copyright © 2023 WingArc1st Inc. All Rights Reserved. テストの自動化に取り組みま しょう! リリースの度に毎回同じテス トするの辛いですね。 一緒にモブで考えてみましょ う! そもそもテストの自動化って どうしていいかわからない。 リグレッションテストを自動化 開発チーム QAチーム

Slide 47

Slide 47 text

page No. 47 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 品質 品質ゴール 品質 品質 品質 プロダクト バックログ マスター テストプラン ビッグピクチャー (全体像) プロダクト リリース 品質データ アジャイル開発における段階的品質の積み上げによる品質保証 Quality Assurance by Quality Stepwise Refinement in Agile Development これまでやってきたこと Potentially Shippable Product

Slide 48

Slide 48 text

page No. テスト設計 48 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 受け入れテスト ユースケーステスト 脆弱性診断 システムテスト ○○機能テスト、ハッピーパス 信頼性テスト、性能テスト 統合テスト APIテスト セキュリティテスト 単体テスト Unitテスト 静的解析 テ ス ト レ ベ ル テストタイプ テスト計画 品質ゴール 機能 非機能 テスト実行&品質分析 ISO25000シリーズの品質特性を利用して第三者に品質の説明ができる状態 テストは体系的にマネジメントし始めた ユーザーストーリー マッピング テスト観点表

Slide 49

Slide 49 text

page No. 49 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 受け入れテスト ユースケーステスト システムテスト ○○機能テスト 統合テスト APIテスト 単体テスト Unitテスト テ ス ト レ ベ ル テストタイプ テスト観点表 一度テストしたものはすべて自動化したい テスト自動化フレームワーク

Slide 50

Slide 50 text

page No. 50 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 先ずは網羅性を考えずに進めま しょう! テストケースをすべて自動化 となると、時間と工数が… テストの網羅性 開発チーム QAチーム

Slide 51

Slide 51 text

page No. 51 Copyright © 2023 WingArc1st Inc. All Rights Reserved. Server/Core Service/Middle UI テスト自動化ピラミッド UI層 Service層 Server層 アーキテクチャイメージ 受け入れテスト ユースケーステスト システムテスト ○○機能テスト 統合テスト APIテスト 単体テスト Unitテスト テスト設計 テストの層をイメージしてみる テ ス ト レ ベ ル テストタイプ

Slide 52

Slide 52 text

page No. 52 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 目的に沿った ユースケーステスト 目的に沿った 〇〇機能テスト 目的に沿った APIテスト 目的に沿った Unitテスト × ×ユーザーに〇〇機能を提供したい ユーザーが〇〇機能を使う 利用シーン 〇〇機能の正常系動作テスト 〇〇機能に関連するAPIの 正常系テスト 〇〇機能に関連する関数や メソッドの正常系テスト 各層で正常系のテストから考える 品質ゴール

Slide 53

Slide 53 text

page No. Unitテスト APIテスト E2Eテスト 各層で正常系テストにフォーカスするのだったら出来そう。 53 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 目的に沿った ユースケーステスト 目的に沿った 〇〇機能テスト 目的に沿った APIテスト 目的に沿った Unitテスト × ×ユーザーに〇〇機能を提供したい ユーザーが〇〇機能を使う 利用シーン 〇〇機能の正常系動作テスト 〇〇機能に関連するAPIの 正常系テスト 〇〇機能に関連する関数や メソッドの正常系テスト QAチーム 開発チーム 各層で正常系のテストから考える 品質ゴール

Slide 54

Slide 54 text

page No. 54 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 絶対に品質問題を起こしたく ない箇所は網羅性を確保した い。 例えば、権限やロールの箇所 はデシジョンテーブルを作っ たり、再現性の低いマルチス レッド箇所はシーケンス図を 作ったりします。 テストの網羅性 開発チーム QAチーム

Slide 55

Slide 55 text

page No. 55 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 目的に沿った ユースケーステスト 目的に沿った 〇〇機能テスト 目的に沿った APIテスト 目的に沿った Unitテスト 〇〇だけは絶対に守りたい品質 ユーザーが利用するうえでの 異常系パターン 〇〇機能の網羅性テスト 〇〇機能に関連するAPIの 網羅性テスト 〇〇機能に関連する関数や メソッドの網羅性テスト 網羅性が必要な個所のテストを考える 品質ゴール

Slide 56

Slide 56 text

page No. シーケンス図 デシジョン テーブル 56 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 目的に沿った ユースケーステスト 目的に沿った 〇〇機能テスト 目的に沿った APIテスト 目的に沿った Unitテスト 〇〇だけは絶対に守りたい品質 ユーザーが利用するうえでの 異常系パターン 〇〇機能の網羅性テスト 〇〇機能に関連するAPIの 網羅性テスト 〇〇機能に関連する関数や メソッドの網羅性テスト QAチーム 開発チーム フォーカスしたい部分のみに網羅性もつなら出来そう。 網羅性が必要な個所のテストを考える 品質ゴール

Slide 57

Slide 57 text

page No. 57 Copyright © 2023 WingArc1st Inc. All Rights Reserved. そもそも網羅性は必要ですか? 例えば、権限やロールはデー タベースでしっかりと管理で きていれば、APIやUIはシンプ ルな作りになっているはず。 アーキテクチャーを確認しま しょう。 網羅性のあるテストが必要かどうかの議論 開発チーム QAチーム 確かに。 アーキテクチャを図にしてみ ましょう。

Slide 58

Slide 58 text

page No. 58 Copyright © 2023 WingArc1st Inc. All Rights Reserved. モブワークの効果 テストの自動化を基盤として、 成果物を作成しながら、 お互いにテストしたい箇所を学んだ。 テスト自動化フレームワーク アーキテクチャ図 シーケンス図 デシジョンテーブル E2Eテストフレームワーク APIテストフレームワーク Unitテストフレームワーク

Slide 59

Slide 59 text

page No. 59 Copyright © 2023 WingArc1st Inc. All Rights Reserved. 要件定義書もない、仕様書もない、 もちろん、テスト設計書もない。 そんなプロジェクトに入って製品をリリースした経験 はありますか?

Slide 60

Slide 60 text

Copyright © 2023 WingArc1st Inc. All Rights Reserved.