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 Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View 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 Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  30. まとめ

    View Slide

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

    View Slide

  32. 宣伝

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  36. おしまい

    View Slide