アジャイル開発の出発点である「アジャイルソフトウェア開発宣言」の公表から20年がたった。近年のデジタルトランスフォーメーション(DX)推進の潮流を受け、環境の変化に柔軟に対応できるアジャイル開発が再び脚光を浴びている。
実際に筆者が所属するシグマクシスでもアジャイル開発を適用したプロジェクトの支援が増えている。一方でDX案件でも慣れ親しんだウオーターフォール開発を選ぶケースが多いのもまた事実である。これは、「組織や文化を変革しないと成功しない」「要件が明確な業務システムであるSoR(System of Record)領域には適用しにくい」といったアジャイル開発の「印象」が影響していると考えられる。
本特集では、アジャイル開発に慣れていない日本企業のIT部門向けに、組織や文化を変革せずに、SoR領域でアジャイル開発を成功させるためのノウハウを詳解する。第1回はアジャイル開発を実践するうえで、取り組む前に最低限知っておきたい5つのポイントを解説しよう。
ポイント1:アジャイルの解釈は「人それぞれ」
「アジャイル開発」と聞いてまず何を連想するだろうか。
よく言われるのが、「早い」「安い」の2点だが、これらはあくまでイメージにすぎない。「何が早いのか」「なぜ安いのか」について正しく理解していなければ、「早い」「安い」は単なる個人の先入観であり、往々にしてプロジェクトの足をひっぱる原因となる。
「早い」については「システム『全体』の稼働タイミングが早まること」と勘違いしているケースが多くみられる。アジャイル開発のアプローチは、全体の一部でもまず動くソフトウエアをユーザーに「早く」使ってもらい、ユーザーのフィードバックを「素早く」反映して完成に近づけるサイクルを繰り返すというもの。すなわち、完全に要件を満たしたシステム全体を一斉稼働させるウオーターフォール開発に比べて、アジャイルだと短い期間でシステムが完成するわけではない。
「安い」については「システム構築・保守費用の『総額』が下がる」と解釈されがちだ。これには理由がある。経験上、同規模のシステムに関してアジャイル開発はウオーターフォール開発より費用が極端に高くはなることはない。
アジャイル開発は素早くフィードバックを得ることで必要な機能に絞り込んで開発し、常にソフトウエアのスコープやつくり込み具合を判断し続け、優先順位に沿って開発を進めていくからこそ、目標予算内でコントロールできるのである。アジャイルだから即「安い」というわけではない。
誤ったイメージはまだある。日本プロジェクトマネジメント協会が2012年に発表した「アジャイル開発における誤解と真実」に記された誤解は2021年の今もいまだに根強く残る。例えばアジャイル開発は「計画を立てない」「ドキュメントが要らない」「プロジェクトマネジャーが要らない」といった誤解だ。
プロジェクトを取り巻くステークホルダー、特にプロジェクトを評価するマネジャー層がこのような誤った先入観を持っていると、当然、期待値が一致しないままプロジェクトが進んでいく。その結果、マネジャー層が「当初予定したスピードや内容でプロジェクトが進捗していない」と判断し、アジャイル開発では本来要らないリカバリー作業や報告などに現場の工数が取られるケースも生じる。
ステークホルダーでアジャイル開発の特性について理解を一致させておくことは、プロジェクトの開始段階で時間をかけて行うべき重要なステップである。