デジタルトランスフォーメーション(DX)という不確実性の高いプロジェクトでは、アジャイル開発が適していると思われがちです。反復的に開発を行い、徐々に完成形に近づけていくスタイルです。
しかしアジャイル開発を成功させるには、いくつかの前提条件を満たすことが必要です。
- システムの開発規模が大きくないこと
- 高品質が求められるシステムでないこと
- プロダクトオーナーがいて意思決定できること
- スキルの高いエンジニアが確保されていること
これらの条件を満たせない場合、アジャイル開発はスケジュールの大幅な遅延やプロジェクトの中止など、重大なトラブルを招くリスクが高くなります。それぞれの条件について、詳しく説明します。
①システムの開発規模が大きくないこと
開発規模が大きいプロジェクトの場合、エンジニアをはじめ関わるメンバーの人数が多くなります。その分、コミュニケーションコストが増えます。メンバーそれぞれのスキル・知識レベルの違い、理解力の違いなどから、以下のようなコミュニケーションが発生するのです。
- 教える、理解させるためのコミュニケーション
- 仕様の整合性を保つためのコミュニケーション
- 品質レベルを一定にするためのレビュー
- チームとしてのモチベーションを保つためのコミュニケーション(感情的ないさかいを起こさせないなど)
スキルレベルが異なる人が増えると、作業量をバランス良く調整することも難しくなってきます。結果、開発スピードが上がらない、人数の割に生産性が低いといったことになり、アジャイル開発の良さが生かせないことになりかねません。
プロジェクトの内容にもよりますが、プロダクトオーナーを含めて、4~5人程度でチームを組んで進められる規模であることが重要です。
この条件に当てはまるDXプロジェクトには、段階的なRPA(ロボティック・プロセス・オートメーション)導入プロジェクト、画像認識など単機能のAI(人工知能)開発プロジェクト、IoT(インターネット・オブ・シングズ)製品のプロトタイプ開発プロジェクトなどが該当します(図1)。これはあくまで典型例で、実際のプロジェクト内容によって該当するかどうかの判断が必要です。