全4989文字
PR

モブプロの組み合わせをシャッフル

 1つめのプロジェクトチームは、IoT(インターネット・オブ・シングズ)機器をスマホアプリから管理するサービス「au HOME」の開発チームだ。1チーム約6人の3チーム体制で、au HOMEのサービスを開発している。

図 KDDIにおける「au HOME」の開発体制
図 KDDIにおける「au HOME」の開発体制
毎日違うメンバーと開発
[画像のクリックで拡大表示]
KDDIの岡沢克暢ソリューション事業本部サービス企画開発本部アジャイル開発センターアジャイル開発4Gグループリーダー(写真提供:KDDI)
KDDIの岡沢克暢ソリューション事業本部サービス企画開発本部アジャイル開発センターアジャイル開発4Gグループリーダー(写真提供:KDDI)
[画像のクリックで拡大表示]

 プロジェクトリーダーを務めるのは、岡沢克暢ソリューション事業本部サービス企画開発本部アジャイル開発センターアジャイル開発4Gグループリーダーだ。チーム間のスキルレベルの差を素早く埋めるために岡沢グループリーダーが取った方策は、頻繁に開発メンバーを入れ替えることである。

 au HOMEの開発チームは「モブプログラミング」で開発を進めている。モブプログラミングとは、ペアプログラミングの拡大版とも呼べる手法で、3人以上のメンバーが一緒にプログラムを記述する。

 各チームはメンバー6人を3人ずつに分けてモブプログラミングを行う。各チーム内で日ごとにモブプログラミングの組み合わせをシャッフルする。朝のミーティング時に米スラックテクノロジーズのビジネスチャットツール「Slack」のボットを使い、一緒に開発するメンバーの組み合わせを決める。

 さらに新しいIoTデバイスやソフトウエア開発キット(SDK)を使うといった開発の区切りごとに、チーム間でメンバーを一部入れ替えるという。例えば1チームの6人のうち半数を他のチームと入れ替えて新しいプロダクトを開発するという具合だ。

 岡沢グループリーダーはメンバーの入れ替えの効果を実感している。「チームメンバー全員が同程度のスキルレベルを身に付けられ、プロダクトに対する理解が高まる。メンバー同士のコミュニケーションが活発になる効果もある」(岡沢グループリーダー)。

 もう1つのプロジェクトチームは、「auでんき」のスマホアプリの開発チームだ。このアプリは同社が電力自由化に伴い提供するauでんきの電気料金を予測したり、請求金額を表示したりする機能を備える。

 同プロジェクトチームを率いるのは、須田一也ソリューション事業本部サービス企画開発本部アジャイル開発センターアジャイル開発5Gマネージャーだ。2015年から3チームの体制でアジャイル開発を進めている。

 須田マネージャーは、3つのチームがそれぞれ共通のプロダクトバックログから実装する機能をチーム個別のプロダクトバックログに取り込む手法を採用している。そのためチームごとに不得意な分野やスキルの差が生じると、実装できる機能に偏りが発生しやすいという。

 開発当初は「3つのチームごとに得意・不得意な開発分野があり、各チームが開発する対象はある程度決まっていた」(須田マネージャー)。しかしauでんきの利用者の増加に伴い、スマホアプリに要求される機能も増えた。そこで須田マネージャーは「3つのチームのスキルレベルを平準化して開発のスピードアップを図ることにした」。

 スキル平準化への道のりは平たんではなかった。須田マネージャーはスキルを平準化するまでに「1年半~2年ぐらいを要した」と明かす。

 人事異動があればメンバーの入れ替えが発生し、新しいエンジニアが加わる。こうした状況の中で須田マネージャーが取り組んだのが、スクラムイベント前の時間を利用したQC(Quality Control)活動だ。

 具体的には、チームメンバー同士でスキルをシェアする場を設けた。バックログリファインメントや、開発したプロダクトをレビューする「スプリントレビュー」といったスクラムイベントの前の30分~1時間を活用する。

3チーム全員でコードを確認

 イベント前の時間に、各チームで取り組んだ技術や利用したサービスを他チームとシェアする。画面に表示したコードを3チームのメンバー全員で確認する。米アマゾン ウェブ サービスのクラウドサービスである「Amazon Web Services(AWS)」を使う場合は、全員で管理画面の「マネジメントコンソール」を見る。

 この活動により、3つのチームのスキルレベルが平準化され、チームごとに開発対象を限定する必要がなくなったという。「全てのチームが同程度のスキルレベルにあるため、どのチームも同じ開発生産性を維持し、どんなタスクでもこなせるようになった」(須田マネージャー)。