SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート

コーディングもテストも持ち回りな新プログラミング手法「モブプログラミング」とは何か――本場 Hunter社に学ぶ

効果を特徴づけるキーコンセプトは9つ

 モブプログラミングのコンセプトについて、ルーシャン氏は9つのトピックを挙げて解説する。

モブプログラミング9つのコンセプト
モブプログラミング9つのコンセプト

 まず、モブプログラミングは、「コードを書くこと、プロダクツをつくることだけではない」とする。グループで議論しながら共同作業を行うことで、メンバーの教育やトレーニングにもなるし、チームワークを育てることになるからだ。ルーシャン氏は優しさ(Kindness)、熟慮(Consideration)、尊重(Respect)、またお互いの弱点を知り、信頼し、感謝する心が生まれると、メンタル面でのメリットを主張する。

モブプログラミングはメンバーとの協調、お互いの尊重が育まれる
モブプログラミングはメンバーとの協調、お互いの尊重が育まれる

 開発過程がコードレビューにもなっているため「クリーンコード」にもつながる。ユニットのチェックやテストもパイプラインで流れるので効率もよい。もちろん「バグなし(Zarro Boogs)」も期待できる。結果として製品の品質も向上し「価値あるソフトウェアをユーザーに届ける」ことができる。

 また、メンバーは特定の業務や作業専任になるわけではないので、休みが自由にとれる。議論と作業を通じて「グループ内の風通しがよくなる」ので、いわゆる縦割り型の「サイロができない」こともメリットだ。

 グループの力を合わせることで、「継続した高いゴール設定」が実現できる。

 モブプログラミングといっても常に会議室で作業をしているわけではない。カンファレンスの参加や調査といった「実験を繰り返す」ことも重要なコンセプトのひとつだという。そして、モブプログラミングの活動や業務を通じて「ソフトウェアコミュニティを作る」ことにもなる。これもコンセプトのひとつだという。

組織になじむ工夫で導入を定着

 他にも、全体の技術スキルが高まること。組織構造がフラットになること。などの効果も期待できる。グループ作業で、役割は持ち回りなので組織内に細かい役職や階層構造は生まれない。開発チームごとマネージャがいるだけで、チームの上はすぐに部長や役員ということになる。

 メンバーの評価については、人事部の要望により年2回の評価を面接ベースで行っているという。

 これらの特徴は、モブプログラミング固有のものというより、Hunter Industriesにおけるモブプログラミングの特徴というべきものも含まれている。同社は今後もモブプログラミングの適用拡大をどうするか、割り込み業務をどう処理するか、品質管理などにも取り組むとしている。

 採用面では、インターンにもモブプログラミングを実践しているという。面接で希望を確認しつつ、候補をユニットテストに参加させたりしているそうだ。中にはグループワークを好まないエンジニアもいるので、2人、3人といった少数のモブやペアプログラミングといった対応もとっている。

日本に向いているかもしれないモブプログラミング

 最後にルーシャン氏は、モブプログラミングによる開発風景がどうなっているのか、オフィスの定点カメラでタイムラプス撮影した動画を上映しながら解説した。

 動画は午前8時からの映像からスタートする。モブプログラミングの開始時間が決まっているわけではないが、8時からは1時間のスキル習得ミーティングが行われていた。9時には作業が始まっている。しかし、映る画像は巨大ディスプレイの前で数人のエンジニアが議論しながら作業をしているだけだ。映像では、午前10時にひとつのCI/CDコードがプロダクトオーナーの元に届けられていた。

無駄な会議は不要。チームは常に議論しながら作業を進める
無駄な会議は不要。チームは常に議論しながら作業を進める
チーム本来の動きができる
チーム本来の動きができる

 この動画はYouTubeにも上がっており、類似の動画は他にもある。実際の開発作業の様子はこれらを見て確認するとよいだろう。

 講演は以上だが、モブプログラミングと同様に、この講演も非常にカジュアルな雰囲気で進行した。日本における従来型のSIerでは、ここまで自由な方式で開発業務を実施するのは難しいかもしれない。また、あまり大規模なソフトウェアの開発には向かない可能性もある。ビジネスモデルが人月モデルとウォーターフォールを前提としている場合、柔軟な開発体制をとりにくいからだ(これはDevOpsの適用にもいえるが)。

 しかし、日本は、個人プレーよりチームワークを重視する傾向があり、集団の力によって成功した国でもある。モブプログラミングのポリシーやコンセプトはむしろ日本向けともいえる。働き方改革の動きと合わせてモブプログラミングの導入を検討してみるのもいいだろう。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
イベントレポート連載記事一覧

もっと読む

この記事の著者

中尾 真二(ナカオ シンジ)

フリーランスのライター、エディター。アスキーの書籍編集から始まり、翻訳や執筆、取材などを紙、ウェブを問わずこなす。IT系が多いが、たまに自動車関連の媒体で執筆することもある。インターネット(とは当時は言わなかったが)はUUCPの頃から使っている。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/10529 2018/02/14 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー