「アジャイルだからスコープは決まりません。できるところまで一所懸命作ります」。アジャイル草創期には、何度も耳にした言葉だ。さすがに今は、こうした提案に予算を付けてくれる企業や組織はない。明確な根拠に基づく予算の算出が求められる。

 ところが、アジャイルプロジェクトでの予算取りは想像以上に難しい。もちろん、教科書的な算出方法はある。簡単に手順を示すと、まずはストーリー(機能シナリオ)を定義してバックログ(取りかかる予定の仕事)に積む。続いて、個々のストーリーの工数を見積もる。見積もった工数を積算して、積算工数をチームの1カ月の生産力で割る。これで、すべてのストーリーの実現に必要な期間が出る。チーム全員分の人件費と期間を掛け合わせ、予算を算出する。

五つの前提がそろわないと成り立たない

 この見積もりロジックを正しく実行するには、次の五つの前提がそろっている必要がある。(1)採用技術とアーキテクチャーが決まっている、(2)チームメンバーが期間を通して固定されている、(3)採用予定の実装方式を経験済みのメンバーがアサインされている、(4)この環境下でのチームの生産力が予想できている、(5)要求の実装に際してチームがある程度の裁量を有している――。

 内製であれば、技術もドメインもある程度固定されるし、常にだいたい同じメンバーで開発する。上記の前提を満たすのはさして非現実的ではない。ただ、日本のSI型を中心とした組織は、ここに挙げた前提とはほぼ真逆の状況だ。そのため、アジャイルを現場に適用しようとした際、予算取りが最初にして最大の壁となる。

 「ウォーターフォール型(トップダウン型の概算見積もりを要件定義を通じて詳細な見積もりにしていく方法)で予算取りし、アジャイル型でプロジェクトを実施する」という現場もある。これは、よほどの経営層のコミットがない限り、炎上の火種を作っているようなものだ。不具合がプロジェクトの後半に表面化した際、ちょっとしたことでもおおごとに発展しやすい。

 ウォーターフォール型の予算取りでは「明確化されたスコープと詳細な計画がある」ということになっている。不具合発生時にオーナーや経営層は仕様書、設計書などのドキュメントの品質を問いただすだろう。しかし、アジャイル型でプロジェクトを実施していると、こうしたドキュメントを作成していないことがある。この食い違いは往々にして大火事に発展する。

 筆者は、プロジェクトの進め方をオーナーや経営層にしっかり理解してもらうことを最重要視している。どうしても理解してもらえない場合は、アジャイルの適用を断念するケースもある。誰も幸せにならないことが目に見えているからだ。

 最後に、筆者なりの予算取りのベストプラクティスを挙げておこう。

 (1)全体の青写真を描く1カ月間の「企画」期間をプロジェクト開始前に設ける。機能性、適用技術、データ、非機能や将来像などの意識を合わせ、プロダクトバックログの構築を行う。

 (2)機能の実装工数を予測できる、採用予定の技術を経験済みのメンバーを必ず1人はアサインする。

 (3)新技術の採用など試行錯誤が多く先行き不透明なプロジェクトの場合は2段階で予算取りを行う。最初に1~2カ月程度の「アーキテクチャー構築」期間を設け、少数精鋭で実装方式を確立して見積もり精度を高める。その後、本開発の予算を確定する。

 以上、参考にしていただけると幸いだ。