アジャイル開発に正解はありません。企業のビジネスモデルやエンジニアの好みによって、最適な開発プロセスは異なります。最近では、世界中のほとんど全てのITベンチャーは、広い意味でのアジャイル開発を採用していると言っても過言ではないでしょう。世界的に有名な企業のアジャイル開発の事例を紹介します。
Facebook:日次ミーティングで情報共有
「完了は完璧よりも素晴らしい」Facebookのマーク・ザッカーバーグCEOが口にした言葉と言われています。完璧を追求して完成が遅れるよりも、早い段階で完了の状態まで持っていき、市場の反応を確認した方が良いという、Facebookの文化です。これはまさにアジャイル開発の精神に合致していると言えるでしょう。
アジャイル開発における手法の一つである日次ミーティングの様子が動画で公開されています。(リンク)プロファイル機能について、製品担当マネージャーやエンジニアたちが議論する様子が描かれました。ユーザーの反応に関する仮説を検証し、製品の改善について毎日議論を重ねているのです。
Spotify:製品別、職能別のアジャイル組織
定額制音楽配信サービスを手掛けるSpotifyは、2012年に発表したアジャイル組織の拡張に関する論文が話題を呼びました。(Scaling agile@Spotify)Spotifyの特徴は二つの軸でチーム構成し、柔軟な組織運営と、円滑なコミュニケーションを促している点です。
製品別の組織としてはSquad(班)、Tribe(部族)があります。Squadは数人程度で構成され、いわゆるアジャイル開発を実施する最小単位となります。例えば、楽曲リストを担当する班、音楽プレイヤーを担当する班といったチーム分けがなされます。さらに、Squadをまとめ上げた集団がTribeです。Tribeはユーザーインターフェース、インフラストラクチャーといった大きな枠組みで分かれます。
各Squadで自律的に開発を行うのは効率を高めますが、その他のチームとの連携が疎かになり、個別最適に陥るリスクもあります。そこで、チームをまたいだ活動を推進するのが、Chapter(支部)とGuild(組合。ギルド)です。テスト担当者のChapter、デザイナーのChapterといったチームを作り、ノウハウを共有したり、全体最適を図ったりする役割を負います。また、Guildはより自発的なコミュニティであり、個人の興味に応じて結成されるチームです。例えば、処理速度の向上、テスト環境の整備といった組織横断的なテーマについて研究を行い、製品や開発プロセスの「カイゼン」を狙います。
Paypal:売り上げ4倍の成長を支えるアジャイル開発
決済サービスを提供するPaypalは、イーロン・マスクやピーター・ティールらによる2001年の創立以来、成長を続けてきました。しかし、2010年頃から競合の参入によってビジネス環境が厳しくなり、そこで求められたのが開発プロセスの高度化です。4000人を超えた従業員が顧客中心で動くには、それまで行っていた方法では、あまりに非効率的でした。
2012年、Paypalは技術担当副社長Kirsten Wolbergを招へいし、アジャイル開発を始めました。これまでのウォータフォール型開発では、一つのチームが他のチームの作業完了を待たなければならない場合が多く、顧客の要望をすぐに叶えるのが難しい問題を発見しています。WolbergはPaypalを製品の機能に合わせて、510のチームに細分化し、それぞれが自律的に動けるプロセスを導入しました。
結果として、Paypalの製品開発プロセスはより速く、より効率的になり、競争力を高めました。2012年に5億ドルだった売り上げは、2015年に22億ドルに達し、決済サービスのリーダー的地位を維持しています。
参考:How a dramatic IT transformation saved PayPal from irrelevance
まとめ
アジャイル開発は企業の内幕であるため、なかなか表だって報じられるケースがありません。しかし、技術力に優れた企業は必ず独自のプロセスと、細かな工夫をしているものです。どのチームも効率性を高めるための工夫が求められています。
開発プロセスは結局のところ、技術そのものの問題ではなく、企業文化の問題です。経営陣が積極的に関与し、あるべき企業文化を育てていく必要があります。