モブプログラミングをやっている人(及部さん)にレビューを語ってもらった話 #JaSSTReview

はじめに

この記事は、モブプログラミングアドベントカレンダーの23日目の記事です。

前日は martin_lover_se さんの モブプロが大好きなので熱い想いを言語化する です。

今回は、JaSST Reviewというイベントに、モブプログラミングの人(及部さん)を招待して、レビューについて語ってもらった話を書きます。

目次

JaSST Reviewとは

JaSST Reviewについての説明の前に、JaSSTの説明から。

JaSSTとはテストを題材に扱っているシンポジウム*1です。公式ページはこちら

2003年から毎年全国各地で開催しています。

f:id:nihonbuson:20181222084053p:plain
出典:JaSST Reviewオープニングより

そんなテストのシンポジウムでなぜレビューを取り扱うのか。それは、レビューとは静的テスト技法の一つだからです。*2

なぜJaSST Reviewにモブプログラミングの話をしてもらうのか

一見すると、モブプログラミングはレビューと無縁の存在のように見えます。

そんな中、本シンポジウムのプログラム構成を考えた私が、今回及部さんに発表を依頼したのは2つの理由があります。

理由1:レビューの内容と共通点があるのではないか

及部さんが以前から発表で伝えていた通り、レビューというプロセスは存在しません。

しかし、一般的にレビューのMTGで話す内容とモブプログラミング中に話す内容に共通する部分があるのではないかと考えました。

この考えは、今年の6月にあったJaSST’18 Kansaiで私が発表した頃から思い続けていた考えです。当時の資料にもその考えが載っています。

f:id:nihonbuson:20181221185103p:plain
出典:「超」やさしいレビュー ~開発とQAに壁はない!~(JaSST Kansai)より

理由2:純粋に指摘についての話が聞けるのではないか

一般的にレビューの発表というと、以下のような議論になりがちです。

  • 適切なレビュー MTGの参加者構成について
  • 適切なレビュードキュメントの読み方について
  • 適切なレビュー MTGを行うタイミングについて

一方で、私自身興味があるのは、レビュー時にどのような指摘をしているのかという点です。

なので、レビューMTGが存在せず、レビューMTGの形式について議論する余地がない、モブプログラミングでの場合を聞くことにしました。

以上の理由で、モブプログラミングを積極的に行なっている及部さんに講演を依頼しました。

講演を聞いた感想

私からの依頼を受けて、及部さんは素晴らしい発表をしていただきました。

内容については、発表スライドと及部さんのブログをご覧ください。

speakerdeck.com

takaking22.com

実は、私は講演を聞いて「狙い通りだった部分」「狙いとは(いい意味で)違った部分」の両方がありました。

狙い通りだった部分

忖度が発生するという話は、レビューで起きがちな問題で、それをモブプログラミングと比較することで明示してもらえたのは非常にありがたかったです。

f:id:nihonbuson:20181221184319p:plain
出典:「レビュー再定義」p48より

また、講演後のパネルディスカッションの時には、さらにレビューの指摘についての話が色々と聞けました。*3

  • リスクに気付くのは経験によるところが多いので、属人化は仕方ないものではないか。暗黙知暗黙知のまま伝えれば良いのではないか
  • 人にフォーカスしてレビューする。発言者の自信がなさそうな部分を見つけて深掘りしてみる
  • 時間軸を意識して気になる点を伝える。現時点では良くても将来気になる点があったり。
  • そもそも「指摘する」ということはあまりなく、質問をすることで深掘りしていくことが多い

狙いとは(いい意味で)違った部分

「レビューの必要性を感じてきた」という話は講演を依頼した私自身、非常に驚きでした。

f:id:nihonbuson:20181221184533p:plain
出典:「レビュー再定義」p58より

モブプロやレビューを行う意味を、3つの観点に分けた以下の図は大変新鮮でした。

f:id:nihonbuson:20181223143510p:plain
出典:「レビュー再定義」p59より

また、「あなたの言うレビューは本当にRe(再び)View(見る)なのか」という問いは、ハッとさせられました。

f:id:nihonbuson:20181221184628p:plain
出典:「レビュー再定義」p64より

この話は、モブプログラミング(モブワーク)という、レビュープロセスが元々存在しないからこそ見出せたものかなと思います。

おわりに

今回はJaSST Reviewというレビューについてのシンポジウムで、敢えてモブプログラミングの経験を伝えてもらいました。それによってレビューについてもう一度考えてみました。

JaSST Reviewに参加してモブプログラミングに興味を持った皆さん、登壇していただいた及部さんに本当に感謝します。*4

そして、皆さんがこれからも(レビューというプロセスがあるなしに関わらず)指摘・相談・質問する行為の時に活かせる内容になっていれば幸いです。

おまけ

このイベントの次の日に、モブプロの体験会を実施しました。

その時にテストエンジニアがどのような思考をしていたかについても別記事に書きました。そちらもどうぞ。

nihonbuson.hatenadiary.jp

*1:JaSST=Japan Symposium on Software Testing

*2:JSTQB シラバス参照

*3:一部、及部さんが話した内容ではないかもしれませんが、及部さんを含めた登壇者全員が同意した内容を含みます

*4:参加者の中で、ブログを書いてくださった方も出てきて、実行委員としては嬉しい限りです。

fortegp05.hatenablog.com

kdnakt.hatenablog.com