新たなソフトウエア開発スタイルが国内外で注目を集めている。4~5人の開発者が集まって1つのプログラムを作る「モブプログラミング(Mob Programming)」だ。モブは「群衆」や「群れ」を意味する。
アジャイル開発をはじめとするチーム開発を円滑にするのが狙いだ。2人組で開発するペアプログラミングに比べて意見の対立が起きにくく、議論が活発になりやすいといったメリットがある。相手に遠慮して意見が言いづらいといったこともないという。
アジャイル開発のカンファレンス「Agile2014」でIoT(インターネット・オブ・シングズ)家電で知られる米ハンターのウッディー・ズイル氏がモブプログラミングの取り組みを紹介。これが注目を集めるきっかけになった。2016年5月には米国で専門イベント「Mob Programming Conference」が開催された。
楽天が2017年6月に社内での取り組みを紹介するなど、日本でもモブプログラミングを実践する企業が増えつつある。「ペアプログラミングの一種というより、新しい開発スタイルと捉えるべき」といった意見も出ている。
百聞は一見に如かず。記者は2017年7月、クラウド構築を手がけるクリエーションラインのオフィス(東京・千代田)でのモブプログラミング体験イベントに参加し、実際に経験してみた。その模様をリポートする。
パーティー会場のような開発現場
会場はにぎやかで、見た目はパーティーのよう。しかし会話に耳を傾けると、ソフトウエア開発の現場であると分かる。「ループ処理の終了条件を変更できるようにしよう」「作った機能を関数化してはどうか」――。
イベントの参加者は15人。5人ずつ3つのチームに分かれ、大きなディスプレーに接続したPCの周りに集まり、チームごとに全員でプログラミングしていく。
モブプログラミングではメンバーの役割分担がある。1人がプログラムコードを書く「ドライバー」を、他のメンバーはドライバーに指示を出す「ナビゲーター」を務める。
タイマーで時間を測り、ドライバーを順次交代していく。今回のイベントでは開発時間を2時間とし、7分ごとにドライバーを交代。記者は計3回ドライバーを務めた。全員がコードに集中するとタイマーに気付かない場合があるので、1人がタイムキーパーを兼務するのがよさそうだ。
事前に何を作るかを決めてから開発を始め、間に休憩を入れつつ作業を進める。開発が完了したら、開発した内容や改善点などを振り返る。これがモブプログラミングの大まかな流れだ。