全2125文字
PR

 アジャイル開発の普及に伴い、開発するシステムの大規模化が進んでいる。複数のアジャイルチームを束ねて1つのシステムを開発するようなプロジェクトも増えてきた。大人数でスムーズな開発を進めるには、1チームでの開発とは異なる体制が必要だ。

 複数チームによる開発では特にチーム間の連携が重要であり、難所になる。実装する機能の優先度を調整したり、開発する機能間を連携したりしなければならない。プロジェクト全体を管理する仕組みも必要だ。

 大規模化するアジャイルプロジェクトにどう対応すればよいか。日立製作所と日本IBMの取り組みからポイントを学ぼう。

PMOチームを新設して連携を強化

 日立製作所は2020年3月、約3年に及ぶ大規模スクラム開発を終えた。10チームによる開発で約200人が携わったこのプロジェクトでは、チーム編成や会議体を工夫した。

 1チームによる開発なら、実装する機能の優先順位付けや意思決定を担うプロダクトオーナー(PO)は1人で十分だ。しかし大規模になると、POの負担が大きくなり、プロジェクトはスムーズに進まなくなる。

 そこで日立製作所は各チームが自律的かつスムーズに運営できる体制を整えるため、チームのPOをまとめる「チーフプロダクトオーナー」を設けた。チーフプロダクトオーナーはプロジェクト全体の方針を決定する。

 さらにチーム間の連携を活性化させるため、PMO(プロジェクト・マネジメント・オフィス)チームを新設した。PMOチームはチーム間の意思疎通を図り、開発をスムーズに進める役割を担う。

 ただし最初からチーム間の連携がうまくいったわけではない。PMOチームの統括スクラムマスターを務めた、日立製作所の岡野信保アプリケーションサービス事業部主管技師長は「試行錯誤を繰り返した」と話す。その1つがミーティングの種類と頻度の調整だ。

 プロジェクトではスプリント期間の2週間(Day1~Day10)に、全チームミーティング(下図の青色の部分)、チーム内ミーティング(同ピンク色)、特定チームミーティング(同緑色)という3種類のミーティングを開いた。

(出所:日立製作所)
(出所:日立製作所)
[画像のクリックで拡大表示]

 チーム間の意思疎通を図るため、当初はチームリーダーによるミーティングを頻繁に開催した時期があった。しかし「リーダーの負担が増えてしまい、うまく回らなかった」(岡野主管技師長)。ミーティングの回数を継続的に見直し、「プロジェクト開始から2年ぐらいたって、ようやく会議体が落ち着いた」(同)という。

 プロジェクトの開始当初はチーム数や開発エンジニアの人数が少なかった。しかしプロジェクトが大規模化するにつれ、スプリント期間のDay9に開催する全体ミーティングの時間が足りなくなった。そこであらかじめ発表チームやミーティングで議論する内容などを決める全体事前ミーティングをDay7に設定した。

 開発を進めるうちに、チーム間で発生する課題が滞留する傾向が生じた。そこで岡野主管技師長は「チーム間で課題が発生したらDay3の合同リーダーミーティングで共有し、関係するチームのみでテーマを絞ってスプリントの2週目に特定チームミーティングを設定するとのルールを作った」と説明する。ただし緊急を要する場合は随時、特定チームミーティングを開いてよいものとした。