この記事の概要📖
- バグを減らすためにモブプログラミング(3人以上で1チームを作って開発を進める手法)を導入した
- 積極的にアイディアや意見を出すメンバーとあまり喋らないメンバーに分かれてしまった
- 沈黙の時間が訪れた時に「気まずいなぁ...」と思い、自分がいつも話し出してしまっていた
- 沈黙の時間に何かを考えていたりするので、いつも自分が話し出してしまうことで何とかしてくれるという雰囲気を作ってしまっていた
- あえて「無言」になることでメンバーの自主性を高めて、活性化することが出来る
モブプログラミングの導入が決定🙆♂️
私が現在、所属している企業では運営しているプロダクトのアプリケーションの仕様がかなり複雑になり、バグが続出してしまいました。そのため、品質管理(QA)にもかなり力を入れています。
バグが続出した際に振り返りを行なった結果、以下の3つの問題が明確になりました。
- 複雑な仕様を一人では把握しきることが難しい
- 開発終了後に開発者以外が、仕様を把握できていない -> レビューが出来ない
- 開発者が増えてレビュー数が多くて間に合わない
この問題に対応するために「モブプログラミング
という開発手法を導入するのはどうか」という施策が決定しました。モブプログラミング
を導入することで、一人で仕様把握をすることがなくなり、属人化を防ぐことが出来ます。
またレビュアーがモブプログラミング
チームに参加することで、レビューの工数を抑えるという狙いがあります。
積極的に参加するメンバーとそうではないメンバー🤔
以下の書籍を参考にして、1チーム3人でドライバー
1人(画面に文字を入力する人)、ナビゲーター
2人(何をするのか指示する人)という体制を作りました。
始めた内は真新しさもあり、リモートワークで雑談不足になっていた分、会話する機会も増えてワイワイ楽しくやれていたのですが、複雑な仕様が要求される機能の開発が始まった途端に転機は訪れました。
🚣♂️・・・ドライバー 🎅・・・ナビゲーターA 🎃・・・ナビゲーターB
🚣♂️「この処理は〇〇という条件分岐をしていますが、どうしますか?」
🎅「そこは過去にバグが出たところだから、条件は残しておく必要があります」
🚣♂️「分かりました。今回追加する仕様の条件は、ANDで追加すればいいでしょうか?」
🎅「いや、そこにANDで追加するのではなくて、1つ目の条件が真だった時に追加するのがいいんじゃないでしょうか」
🚣♂️「了解です。そこに追加します」
🎃「...」
🚣♂️「次に、ここの処理なんですが....」
...
このように1人のナビゲーター
が積極的に発言をする一方で、もう1人のナビゲーター
はほとんど喋らない、沈黙してしまうという現象が発生するようになりました。本人に「なんで黙っているのか」と尋ねてみたところ、「何も分からないから黙っていた」と返ってきました。
モブプロ中にメンバーがずっと黙っていたので「なんで黙っているの?」と聞いてみたら「何も分からないから黙っていた」と返ってきた。
— OKB (@sing_mascle69) 2021年10月27日
その何も分かっていないことを教えてほしいんだよなぁ...。
それを無くすためにモブプロやってるのに🤔
しかし、これではモブプログラミング
を導入した意味が全くありません。分からない箇所を無くすためにモブプログラミング
を導入したのですから。
外部メンターの方に相談してみた👨🏫
いつもお世話になっている外部メンターの方に「他のナビゲーター
が黙ってしまう」という上記の問題を相談してみました。
👨🏫「なんで黙ってしまうと思いますか?」
...という直球の質問をされて、「自分ばかりが喋ってしまっているから」とお答えしました。
ただ、自分の気持ちとしては誰も喋らないからしょうがなく、というお節介な気持ちもあって「喋りたくて自分ばっかり喋っていない」という気持ちが強いです。
ただ改めて「なんで自分ばっかり喋っているんだろう🤔」と考えてみると1つの答えに辿り着きました。
それは「自分が沈黙を恐れている」ということでした。
沈黙がやってくると「何とかしなきゃ!」という気持ちになってしまって、とりあえず何か話だしてしまったり、手助けをしてしまいます。
自分は親切で、お節介でやっていたつもりになっていましたが、メンバーにとっては「詰まった時は何とかしてくれるからいいか」となってしまった。 そして、自主性を潰してしまっているのではないかということに気づきました。
その旨を外部メンターの方に相談したところ「良い気づきです。無言は必ずしも悪ではなく、あえて無言の時間を作り出すことはコーチングでも重要な手法の1つ」という言葉を頂きました。
あえて無言を使っていく🙌
今まで「無言は気まずい。無言は良くない」という気持ちがありましたが、「無言が気まずいのはデート中だけだ」と改めていこうと思いました。
「あえて無言でいる」ことで、自分ばかりが喋ってしまう状況を回避することが出来て、メンバーの自主性を促すことが出来るのだと知りました。
また「あえて無言でいる」状態を続けて、どのような結果が得られたのかはTwitterなどで共有しようと思います。
参考文献📚
SpecialThanks🎉
Twitterにて多くの意見やアイディアをいただきました。ありがとうございました!
モブプロ中にメンバーがずっと黙っていたので「なんで黙っているの?」と聞いてみたら「何も分からないから黙っていた」と返ってきた。
— OKB (@sing_mascle69) 2021年10月27日
その何も分かっていないことを教えてほしいんだよなぁ...。
それを無くすためにモブプロやってるのに🤔
おそらく,何から尋ねて良いかもわからない,五里霧中の状況だったのかと推察されます。
— Susumu Yamazaki (ZACKY) (@zacky1972) 2021年10月27日
あくまで教育の観点では,ですね。
— Susumu Yamazaki (ZACKY) (@zacky1972) 2021年10月27日
開発効率の向上の観点だと,もっと別の解決策もあります。(その人は明らかにレベルに合っていないので,配置転換をするとか)
なるほどですね
— ABAB↑↓BA (@ababupdownba) 2021年10月27日
10分15分ごとにクールタイム的に意見を求めるとかですかね?今こんな感じで進んでるけどどう?みたいな