レビューってなんなの?〜レビューに対する5つの誤解〜ブロッコリー(@nihonbuson)
View Slide
自己紹介● 風間裕也(ブロッコリー)● @nihonbuson● 社外活動○ JaSST Review実行委員長○ WACATE実行委員● 執筆活動○ 『テストコードの注入から始めるレガシーコードのリファクタリング』○ 『Agile Testing Condensed』翻訳○ 『Testing in DevOps』翻訳
執筆or翻訳した書籍Agile Testing CondensedJapanese Editionテストコードの注入から始めるレガシーコードのリファクタリングA Practical Guide to Testing inDevOps Japanese Edition執筆 翻訳 翻訳
ソフトウェアレビューに対する誤解1. レビューはテストではない2. レビューは、お硬いミーティングである3. 知識をたくさん持っている人だけがレビュアーになる4. QAはインプットを得るために設計のレビューに参加する5. レビューの唯一の目的は、説明した内容で実装したら動かないような欠陥を指摘することである
誤解1レビューはテストではない
レビューはテストの1つ by JSTQBテスト対象のコンポーネントやシステムを実行することは、動的テストと呼ぶ。テスト対象のコンポーネントやシステムを実行しない場合は、静的テストと呼ぶ。このため、テストは要件、ユーザーストーリー、ソースコードなどの作業成果物をレビューする活動も含む。出典:http://jstqb.jp/dl/JSTQB-SyllabusFoundation_Version2018V31.J03.pdf
誤解2レビューは、お硬いミーティングである
よくあるレビューのイメージ● 会議室に集まる● 声の大きい人が威張り散らす● ドキュメント作成者が萎縮する● 他の人は発言しないのでつまらなくなるいらすとや1、2
開催形式● インスペクション …最も公式的なレビュー● チームレビュー …チームで実施● パスアラウンド …成果物を配布、回覧● ラウンドロビンレビュー…全員が順番に司会者と レビュアーになる● ピアデスクチェック …熟練者のレビュアーと実施● ウォークスルー …参加者が質問やコメント● ピアレビュー …作成者以外と気軽に行う● アドホックレビュー …近くの同僚に声をかける● ペアプログラミング …他者視点を取り入れる参考:SQuBOK策定部会(2014) 『ソフトウェア品質知識体系ガイド -SQuBOK Guide-(第2版)』オーム社
日々の相談もレビューの1つ● 「ちょっとこの部分が分からないんだけど」● 「この部分を見てくれない?」● 「この部分、チームでモブワークしよう!」いらすとや
誤解3知識をたくさん持っている人だけがレビュアーになる
知識がないと発言できない?ドキュメント作成者Aの方針で実装します開発者知識が無いから何も発言できないけどこの方針で実装すれば良いのね、了解
レビューは指摘だけでなく質問も!ドキュメント作成者Aの方針で実装しますレビュアーこれって他の実装方針は無いの?
作成者が自分で気付くかもしれないドキュメント作成者Bの実装方針やCの実装方針があって…あれ?もしかしたらCの実装方針の方が良いかも?
他の開発者にとって学びになるかもしれないドキュメント作成者Bの実装方針やCの実装方針もあったが、リスクXがあるから、Aの実装方針で実装します開発者なるほど!だからAの実装方針にしたのね!
誤解4QAはインプットを得るために設計のレビューに参加する
QAは聞いているだけ?ドキュメント作成者この部分は○○なので、△△の考え方を用いて◇◇の方針で実装して…QA詳細はよくわからないけど、この情報をテストの時に活かそう
QAの見え方をどんどんフィードバックしようドキュメント作成者QAこの部分は、別の画面★★が影響しそうだけど関係ないんですかね?この部分は○○なので、△△の考え方を用いて◇◇の方針で実装して…
QAもどんどんフィードバックした例https://speakerdeck.com/nihonbuson/example-mapping https://speakerdeck.com/nihonbuson/tddbc-2020-online-lthttps://speakerdeck.com/nihonbuson/testing-is-the-creative-activity
誤解5レビューの唯一の目的は、説明した内容で実装したら動かないような欠陥を指摘することである
顧客が本当に必要だったものhttp://ntd.way-nifty.com/blog/2005/05/post_80fd.html
レビューで話すこと● もしも設計書作成者がこんな認識を持っていたら…
レビューで話すこと(欠陥の指摘)レビュアーこれだと、実装しても何も動かないのでは?
レビューで話すこと(PLとの認識の差異)レビュアー木に板がぶら下がってる状態にしたかったのでは?
レビューで話すこと(顧客との認識の差異)レビュアー顧客は、3枚の板がぶら下がっている状態を欲しがっていたのでは?
レビューで話すこと(本当に必要だったもの)レビュアー本来は、揺れて遊ぶものが欲しかったのでは?
レビューで話すこと(本当に必要だったもの)レビュアー本来は、揺れて遊ぶものが欲しかったのでは?レビューではこの質問を目指したい!
レビューで話すこと(こんな質問でもOK)レビュアーそもそも今回はどんな物が欲しかったんでしたっけ?
まとめ
まとめ● レビューもテストの1つ● 日々の相談もレビューである○ モブワークもレビューの1種● 知識を持っていなくても質問することが価値になる● QAもインプットする(ただ聞く)だけでなく、一緒にレビューに参加してフィードバックしよう● レビューは欠陥の指摘だけでなく、「本当に必要だったもの」に立ち返るためでもある
宣伝
レビューで話すこと(本当に必要だったもの)「顧客が本当に必要だったもの」を見つけ出すのは難しい…。
「本当に必要だったもの」を見つけるきっかけ(宣伝)● JaSST Review'21は10月22日開催!● 今回のテーマは「価値を実現するためにレビューができること」● 事例投稿も募集中!(8月30日締め切り)○ 「日々の会話でこんな工夫をしたら、本当に必要だったものを見つけられたよ!」報告○ その他、レビューに関することなら何でも!
「本当に必要だったもの」を見つけるきっかけ(宣伝)● JaSST Review'21は10月22日開催!● 今回のテーマは「価値を実現するためにレビューができること」● 事例投稿も募集中!(8月30日締め切り)○ 「日々の会話でこんな工夫をしたら、本当に必要だったものを見つけられたよ!」報告○ その他、レビューに関することなら何でも!レビューの分野は新規性しかない!論理的な結果よりも、実際に行った事例重視!
おしまい