全4176文字
PR

変化に柔軟に対応するアジャイル開発だからといって、「計画」を立てないのは無謀だ。アジャイルに不慣れな企業こそ従来型をカスタマイズした計画を立てて合意を得たい。チーム組成ではプロダクトオーナー(PO)を下支えする「代理PO」を独自に配置しよう。

 アジャイル開発の経験が少ない日本企業が組織や文化を大きく変革せずにSoR(System of Record)領域の業務システムのアジャイル開発を成功させるにはどうすればいいのか。アジャイル開発プロジェクトを立ち上げる準備段階で重要となるポイントは4つある。今回は1つ目と2つ目について、事例を交えながら説明していく。

ポイント1:「計画」は重要

 プロジェクト準備段階における最大のイベントは「計画」の立案である。それはアジャイル開発も変わらない。

 よくある誤解が「アジャイル開発は仕様変更を受け入れるのが前提だから計画は作成しないし、そもそもアジャイル開発で計画することに意味はない」というものだ。確かにアジャイル開発の基本思想は「変化に柔軟に対応すること」である。

 目的を達成するための最適な案を都度検討し、実装検証する短いサイクルを走りながら繰り返していくという「方向転換のしやすさ」が特徴でもある。そのため、目的や目標が明確であれば、最初に手段や仕様を事細かにきっちり決めなくても、ある程度「おおまか」な状態でスタートを切れるのは事実だ。

 ただそれはアジャイル開発に慣れた企業での話である。アジャイル開発の経験が少ない中央集権型の企業(つまり多くの日本企業)においては、プロジェクト計画段階でステークホルダーはプロジェクト側に綿密な完成予想図とそこに向けた計画を求めてくる。

 ここで「アジャイル開発ならではの進め方」に固執しても理解を得るのは簡単ではない。この「理解の壁」を越えられず、アジャイル開発の採用を見送った経験のある読者も多いのではないだろうか。

 ただしウオーターフォール開発でつくったシステムが初期の完成イメージを忠実に実装できているかといえば、必ずしもそうではない。ウオーターフォール開発でも仕様変更は発生し、場合によってはスケジュールが延びたりコストが増えたりしてプロジェクトの全体計画を見直さなければいけないケースもある。ステークホルダーも苦い体験から、仕様変更に伴うリスクは十分に認識しているはずだ。

 こうした背景を踏まえると、中央集権型組織でアジャイル開発プロジェクトを立ち上げる際のカギとなるのも、やはり「計画」である。

 具体的には、アジャイル開発においても、「プロジェクトの目的と最終目標」「スケジュール(ロードマップ)」「予算(概算)」の3点については、ウオーターフォール開発プロジェクトと同様に事前に策定し、ステークホルダーの理解と合意を得ることが重要となる。全てを詳細化する必要はないものの、まずはウオーターフォール型と同様に計画を立てることで、立ち上げのハードルを下げる効果を見込める。

 実際、アジャイル開発では、プロジェクトの初期段階で詳細なスケジュールを立てたとしても、その通りに進むケースはまれだ。そのため開発ベンダーによってはプロジェクト立ち上げ時のスケジュール作成に難色を示すことさえある。

 そうした「不安定さ」を感じさせる状況が関係者をますます不安にさせるとも言える。だからこそアジャイル開発の計画段階でスケジュールをつくる意味があるのだ。

 このとき、中長期に及ぶ詳細なスケジュールを立てると徒労に終わる。詳細な見通しを示すのはプロジェクト開始から2~3カ月間分で十分である。

 このスケジュールはアジャイル開発においてプロジェクトメンバー全員にとっての重要な「コミュニケーションツール」となる。スケジュールをプロジェクトメンバー全員で考え共有することで、気付いていなかった課題やリスクを発見できる場合もあるからだ。

 ステークホルダーへの報告も、これまでなじみ深く、見慣れたスケジュールを基にしたほうが説明しやすいというメリットもある。アジャイル開発におけるスケジュールは、ウオーターフォール開発における予定表以上の効果があると言える。

図 アジャイル開発の進み方
図 アジャイル開発の進み方
「変化に柔軟に対応する」が理解を得られぬことも(出所:シグマクシス)
[画像のクリックで拡大表示]