全2090文字
PR

 アジャイル開発の普及に伴い、開発するシステムの大規模化が進んでいる。複数のアジャイルチームを束ねて1つのプロダクトを開発するようなプロジェクトも増えてきた。ただし複数のアジャイルチームで開発する際にはさまざまな課題に直面する。その1つが複数のチーム間でスキルを平準化することだ。

 大規模なアジャイル開発ではチーム間のスキル差を最小限に抑え、全てのチームが開発内容にかかわらず同じベロシティー(開発速度)を出せるようにするのが理想だ。しかし新たに加わったチームが、長期にわたりプロダクトを開発してきたチームのスキルレベルに追いつくのは容易ではない。

 チーム間のスキルレベルを素早く埋めて開発をスムーズに進めるにはどうすればよいのか。複数チームによるアジャイル開発に取り組むKDDIの2つの事例を基にポイントを見ていこう。

日ごとに一部のメンバーを入れ替える

 KDDIで「au HOME」サービスを開発する岡澤克暢ソリューション事業本部サービス企画開発本部アジャイル開発センターアジャイル開発4Gグループリーダーは、複数チームのスキルの平準化に取り組んでいる。au HOMEは専用のIoT(インターネット・オブ・シングズ)機器をスマートフォンアプリから管理するサービスだ。

 au HOMEのサービスは、1チーム約6人の3チームによる開発を進めている。岡澤グループリーダーが取った秘策は日ごとに開発メンバーを入れ替えることだ。au HOMEの開発チームはモブプログラミング(以下、モブプロ)で開発を進めている。モブプロとは、ペアプログラミングの拡大版とも呼べる手法で、3人以上のエンジニアが一緒にプログラムを記述する。

 au HOMEの開発チームはチーム内のメンバー6人を3人ずつに分けてモブプロを行う。この3人を日ごとに入れ替える。朝のミーティング時に米Slack Technologies(スラック・テクノロジーズ)のビジネスチャットツール「Slack」のボットを使い、一緒に開発するメンバーを決めている。

Slackボットを用いて毎日違うメンバーと開発する
Slackボットを用いて毎日違うメンバーと開発する
[画像のクリックで拡大表示]

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

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