サイト内検索

閉じる閉じる

サイト内検索

閉じる

ITアーキテクトコラム

  1. コラム
  2. ITアーキテクトコラム
  3. プログラミングはペアからモブへ

プログラミングはペアからモブへ

2018/02/02

友野 敬大友野 敬大

  • Facebook
  • Twitter
  • google+
  • はてなブックマーク
  • ITアーキテクト育成

普段、私はJavaでバックエンドのアプリケーション構築や開発環境整備を担当し
ているのですが、フロントエンドは協力会社の方にお願いすることが多くなりが
ちです。
この状況にチームメンバー内でも危機感を覚え、グループ会社の株式会社オージ
ス総研の社員とフロントエンドの勉強会を定期的に開催しています。
本コラムは勉強会で実践している「モブプログラミング」についてご紹介します。

モブプログラミングとは

モブプログラミングとは「モブ(群集、群れ)」と「プログラミング」を組み合
わせた言葉で、その名の通り、複数人のメンバーが同じ場所、同じコンピュー
タ・画面(プロジェクター)でプログラミングを行う開発手法です。似たような
開発手法にペアプログラミングがあります。実際に手を動かす「ドライバー」と、
レビューを含め作業をサポートする「ナビゲーター」、2人1組で役割を交代しな
がら生産性向上を図る開発手法です。モブプログラミングは、このナビゲーター
が多くいる状態と考えると理解しやすいと思います。
ペアで作業する場合、ナビゲーターはドライバーの考え方や意図をリアルタイム
に汲むことができるため、認識あわせをしながら開発作業ができるというメリッ
トがあります。モブの場合には、この認識あわせを当事者間だけでなくチームレ
ベルで実施できるため、効率をさらに高めることが期待できます。

モブでプログラミング

協調活動は教育に効く

今回は勉強会という通常の開発業務とは異なる状況ではありますが、実際にモブ
プログラミングを経験して、スキルトランスファーや若手エンジニア教育のシー
ンに有効だと感じました。
従来方式の、個々人の作業に対する有識者レビューだけでは、複数人いるレビュ
アー毎に品質にバラつきが出てきたり、スキルセットの差により当事者しか理解
できないロジックになってしまったりと、少なからず問題が発生する可能性があ
ります。
片や、モブプログラミングの場合は、参加しているメンバー全員の理解と認識共
有をしながら進めることで従来方式の問題発生リスクを軽減できます。
メンバーには過去経験した案件や担当領域によって得手・不得手があります。今
回のフロントエンド勉強会では知識や経験はほとんど同レベルではあるものの、
決めたテーマに対して「Javaならどうやって書くだろう」「ドメイン駆動設計の
観点から見ると分かりやすい」といったように、メンバー共通のバックグラウン
ドを活用して、協調しながら知識習得ができました。モブ形式でフロントエンド
とバックエンドの違いを整理していくことで、バックエンド側の理解も深めるこ
とができるという副次的な効果もありました。

業務に活用するためにはプロセスの見直しが必要

一方で、業務適用を考えると運営プロセスの検討・改善が必要です。短期間試行
しただけですが、下記のような問題が見えてきました。

問題点:特定のメンバーだけが盛り上がる...
解決案:ドライバーをうまく切り替えてチーム全体のモチベーションを高める

問題点:課題を解決できずに時間だけが過ぎていった...
解決案1:ゴールをブレイクダウンして明確化する
解決案2:タイムキーパーを設けて時間ごとに役割を交代する

また、複数人が1つのタスクを対応することになるので、従来手法では管理しき
れなくなることも予想されます。これまで通り、各メンバーがそれぞれ別のタス
クを対応すれば、人的リソースを有効活用でき稼働率を上げることができます。
一方で、リーン開発手法の元となったTPS(※)では、仕掛かり中を1つないし、限
りなく少なくして市場投入スピードを速めるOne Piece Flowという考え方があり
ます。モブプログラミングの利点・考え方は後者に近いため、リーン開発手法を
実践している現場では、モブプログラミングの導入の障壁が低いと考えられます。

まとめ

本コラムではモブプログラミングとその所感についてご紹介しました。すぐに業
務へ適用するには難しそうですが、まずは始めてみることが重要です。
なにより、モブでの作業は楽しいです。プロトタイプの作成や共通処理方式のア
ーキテクチャ標準化などのシーンがあれば、是非試してみることをおすすめしま
す。

  • ※ TPS  Toyota Production System:トヨタ生産方式

著者プロフィール

友野 敬大

友野 敬大

開発本部 ビジネスソリューション第3部 プラットフォームソリューション第1グループ

当社のクラウドサービス「寄付金クラウド」をはじめ、金融機関向け・エネルギー企業向けの複数のクラウドサービス案件に参画し、基盤構築からアプリケーション開発(Java)まで幅広く従事してきました。これらの経験から、プロダクト(ひいては組織)の全体最適化に興味を持ち、その一つであるDevOpsを推進し、お客様に提案しています。先日、娘が生まれ、溺愛しています。

資料請求・お問い合わせはこちら

インターネットからの資料請求

インターネットでのお問い合わせ

お電話でのお問い合わせ

営業本部03-6757-7211

受付時間 9:00~17:30(土日祝日を除く)