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

ドキュメントが無いプロジェクトでどうレビューする?関係者全員でモブワークして成果物を作った実例(JaSST’23 Hokuriku版)

Jumpei Ito
January 20, 2023

ドキュメントが無いプロジェクトでどうレビューする?関係者全員でモブワークして成果物を作った実例(JaSST’23 Hokuriku版)

Jumpei Ito

January 20, 2023
Tweet

More Decks by Jumpei Ito

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  20. Copyright © 2023 WingArc1st Inc. All Rights Reserved.

    View Slide

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

    View Slide

  22. page No.
    ユーザーストーリー
    ナラティブフロー
    バックボーン
    22
    Copyright © 2023 WingArc1st Inc. All Rights Reserved.
    ユーザーストーリーマッピングを使って仕様や価値を知る
    ユーザー
    アクティビティ
    ストーリー
    アクティビティ アクティビティ アクティビティ
    ストーリー ストーリー ストーリー
    ストーリー
    ストーリー
    ストーリー
    ストーリー
    ストーリー
    ストーリー
    ストーリー ストーリー
    優先順位


    Release1
    (MVP)
    Release2
    https://www.oreilly.co.jp/books/9784873117324/

    View Slide

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

    View Slide

  24. Copyright © 2023 WingArc1st Inc. All Rights Reserved.

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  31. page No. 31
    Copyright © 2023 WingArc1st Inc. All Rights Reserved.
    優先順位を設定し、リリース計画を立てる
    ユーザー
    アクティビティ
    ストーリー
    アクティビティ アクティビティ アクティビティ
    ストーリー ストーリー ストーリー
    ストーリー
    ストーリー
    ストーリー
    ストーリー
    ストーリー
    ストーリー
    ストーリー ストーリー
    優先順位


    Release1
    (MVP)
    Release2
    全体像を把握し、
    優先順位を設定
    する
    優先順位を設定する
    ことによって、
    リリースの計画を立
    てられる

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  48. page No.
    テスト設計
    48
    Copyright © 2023 WingArc1st Inc. All Rights Reserved.
    受け入れテスト ユースケーステスト 脆弱性診断
    システムテスト ○○機能テスト、ハッピーパス 信頼性テスト、性能テスト
    統合テスト APIテスト セキュリティテスト
    単体テスト Unitテスト 静的解析






    テストタイプ
    テスト計画
    品質ゴール 機能 非機能
    テスト実行&品質分析
    ISO25000シリーズの品質特性を利用して第三者に品質の説明ができる状態
    テストは体系的にマネジメントし始めた
    ユーザーストーリー
    マッピング
    テスト観点表

    View Slide

  49. page No. 49
    Copyright © 2023 WingArc1st Inc. All Rights Reserved.
    受け入れテスト ユースケーステスト
    システムテスト ○○機能テスト
    統合テスト APIテスト
    単体テスト Unitテスト






    テストタイプ
    テスト観点表
    一度テストしたものはすべて自動化したい
    テスト自動化フレームワーク

    View Slide

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

    View Slide

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






    テストタイプ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  60. Copyright © 2023 WingArc1st Inc. All Rights Reserved.

    View Slide