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

レビューってなんなの〜レビューに対する5つの誤解〜 / 5 misconceptions about software review

nihonbuson
August 17, 2021

レビューってなんなの〜レビューに対する5つの誤解〜 / 5 misconceptions about software review

nihonbuson

August 17, 2021
Tweet

More Decks by nihonbuson

Other Decks in Technology

Transcript

  1. レビューって
    なんなの?
    〜レビューに対する
    5つの誤解〜
    ブロッコリー
    (@nihonbuson)

    View full-size slide

  2. 自己紹介
    ● 風間裕也(ブロッコリー)
    ● @nihonbuson
    ● 社外活動
    ○ JaSST Review実行委員長
    ○ WACATE実行委員
    ● 執筆活動
    ○ 『テストコードの注入から始める
    レガシーコードのリファクタリング』
    ○ 『Agile Testing Condensed』翻訳
    ○ 『Testing in DevOps』翻訳

    View full-size slide

  3. 執筆or翻訳した書籍
    Agile Testing Condensed
    Japanese Edition
    テストコードの注入から始める
    レガシーコードのリファクタリング
    A Practical Guide to Testing in
    DevOps Japanese Edition
    執筆 翻訳 翻訳

    View full-size slide

  4. 自己紹介
    ● 風間裕也(ブロッコリー)
    ● @nihonbuson
    ● 社外活動
    ○ JaSST Review実行委員長
    ○ WACATE実行委員
    ● 執筆活動
    ○ 『テストコードの注入から始める
    レガシーコードのリファクタリング』
    ○ 『Agile Testing Condensed』翻訳
    ○ 『Testing in DevOps』翻訳

    View full-size slide

  5. ソフトウェアレビューに対する誤解
    1. レビューはテストではない
    2. レビューは、お硬いミーティングである
    3. 知識をたくさん持っている人だけがレビュアーになる
    4. QAはインプットを得るために
    設計のレビューに参加する
    5. レビューの唯一の目的は、説明した内容で実装したら
    動かないような欠陥を指摘することである

    View full-size slide

  6. 誤解1
    レビューは
    テストではない

    View full-size slide

  7. レビューはテストの1つ by JSTQB
    テスト対象のコンポーネントやシステムを実行することは、
    動的テストと呼ぶ。
    テスト対象のコンポーネントやシステムを実行しない場合は、
    静的テストと呼ぶ。
    このため、テストは要件、ユーザーストーリー、ソースコード
    などの作業成果物をレビューする活動も含む。
    出典:http://jstqb.jp/dl/JSTQB-SyllabusFoundation_Version2018V31.J03.pdf

    View full-size slide

  8. 誤解2
    レビューは、お硬い
    ミーティングである

    View full-size slide

  9. よくあるレビューのイメージ
    ● 会議室に集まる
    ● 声の大きい人が
    威張り散らす
    ● ドキュメント作成者が
    萎縮する
    ● 他の人は発言しないので
    つまらなくなる
    いらすとや1、2

    View full-size slide

  10. 開催形式
    ● インスペクション   …最も公式的なレビュー
    ● チームレビュー    …チームで実施
    ● パスアラウンド    …成果物を配布、回覧
    ● ラウンドロビンレビュー…全員が順番に司会者と
                レビュアーになる
    ● ピアデスクチェック  …熟練者のレビュアーと実施
    ● ウォークスルー    …参加者が質問やコメント
    ● ピアレビュー     …作成者以外と気軽に行う
    ● アドホックレビュー  …近くの同僚に声をかける
    ● ペアプログラミング  …他者視点を取り入れる
    参考:SQuBOK策定部会(2014) 『ソフトウェア品質知識体系ガイド -SQuBOK Guide-(第2版)』オーム社

    View full-size slide

  11. 日々の相談もレビューの1つ
    ● 「ちょっとこの部分が分からないんだけど」
    ● 「この部分を見てくれない?」
    ● 「この部分、チームでモブワークしよう!」
    いらすとや

    View full-size slide

  12. 誤解3
    知識をたくさん
    持っている人だけが
    レビュアーになる

    View full-size slide

  13. 知識がないと発言できない?
    ドキュメント
    作成者
    Aの方針で実装します
    開発者
    知識が無いから
    何も発言できないけど
    この方針で実装すれば
    良いのね、了解

    View full-size slide

  14. レビューは指摘だけでなく質問も!
    ドキュメント
    作成者
    Aの方針で実装します
    レビュアー
    これって他の実装方針は無いの?

    View full-size slide

  15. 作成者が自分で気付くかもしれない
    ドキュメント
    作成者
    Bの実装方針やCの実装方針があって…あれ?
    もしかしたらCの実装方針の方が良いかも?

    View full-size slide

  16. 他の開発者にとって学びになるかもしれない
    ドキュメント
    作成者
    Bの実装方針やCの実装方針もあったが、
    リスクXがあるから、Aの実装方針で実装します
    開発者
    なるほど!だからAの
    実装方針にしたのね!

    View full-size slide

  17. 誤解4
    QAはインプットを
    得るために
    設計のレビューに
    参加する

    View full-size slide

  18. QAは聞いているだけ?
    ドキュメント
    作成者
    この部分は○○なので、△△の考え方を用いて
    ◇◇の方針で実装して…
    QA
    詳細はよくわからないけど、
    この情報をテストの時に
    活かそう

    View full-size slide

  19. QAの見え方をどんどんフィードバックしよう
    ドキュメント
    作成者
    QA
    この部分は、別の画面★★が影響しそうだけど
    関係ないんですかね?
    この部分は○○なので、△△の考え方を用いて
    ◇◇の方針で実装して…

    View full-size slide

  20. QAもどんどんフィードバックした例
    https://speakerdeck.com/nihonbuson/example-mapping https://speakerdeck.com/nihonbuson/tddbc-2020-online-lt
    https://speakerdeck.com/nihonbuson/testing-is-the-creative-activity

    View full-size slide

  21. 誤解5
    レビューの唯一の目的は、
    説明した内容で実装したら
    動かないような欠陥を
    指摘することである

    View full-size slide

  22. 顧客が本当に必要だったもの
    http://ntd.way-nifty.com/blog/2005/05/post_80fd.html

    View full-size slide

  23. レビューで話すこと
    ● もしも設計書作成者が
    こんな認識を持っていたら…

    View full-size slide

  24. レビューで話すこと(欠陥の指摘)
    レビュアー
    これだと、実装しても
    何も動かないのでは?

    View full-size slide

  25. レビューで話すこと(PLとの認識の差異)
    レビュアー
    木に板がぶら下がってる
    状態にしたかったのでは?

    View full-size slide

  26. レビューで話すこと(顧客との認識の差異)
    レビュアー
    顧客は、3枚の板が
    ぶら下がっている状態を
    欲しがっていたのでは?

    View full-size slide

  27. レビューで話すこと(本当に必要だったもの)
    レビュアー
    本来は、揺れて遊ぶものが
    欲しかったのでは?

    View full-size slide

  28. レビューで話すこと(本当に必要だったもの)
    レビュアー
    本来は、揺れて遊ぶものが
    欲しかったのでは?
    レビューでは
    この質問を
    目指したい!

    View full-size slide

  29. レビューで話すこと(こんな質問でもOK)
    レビュアー
    そもそも今回はどんな物が
    欲しかったんでしたっけ?

    View full-size slide

  30. まとめ
    ● レビューもテストの1つ
    ● 日々の相談もレビューである
    ○ モブワークもレビューの1種
    ● 知識を持っていなくても質問することが価値になる
    ● QAもインプットする(ただ聞く)だけでなく、
    一緒にレビューに参加してフィードバックしよう
    ● レビューは欠陥の指摘だけでなく、
    「本当に必要だったもの」に立ち返るためでもある

    View full-size slide

  31. レビューで話すこと(本当に必要だったもの)
    「顧客が本当に必要だったもの」を
    見つけ出すのは難しい…。

    View full-size slide

  32. 「本当に必要だったもの」を見つけるきっかけ(宣伝)
    ● JaSST Review'21は10月22日開催!
    ● 今回のテーマは
    「価値を実現するためにレビューができること」
    ● 事例投稿も募集中!(8月30日締め切り)
    ○ 「日々の会話でこんな工夫をしたら、
    本当に必要だったものを見つけられたよ!」報告
    ○ その他、レビューに関することなら何でも!

    View full-size slide

  33. 「本当に必要だったもの」を見つけるきっかけ(宣伝)
    ● JaSST Review'21は10月22日開催!
    ● 今回のテーマは
    「価値を実現するためにレビューができること」
    ● 事例投稿も募集中!(8月30日締め切り)
    ○ 「日々の会話でこんな工夫をしたら、
    本当に必要だったものを見つけられたよ!」報告
    ○ その他、レビューに関することなら何でも!
    レビューの分野は
    新規性しかない!
    論理的な結果よりも、
    実際に行った事例重視!

    View full-size slide

  34. おしまい

    View full-size slide