【目的】 アジャイルの方法論やプラクティスを基にして、基幹システム開発などエンタープライズ領域におけるソフトウェア開発の「プロセス改善」の方法を伝える。
【収穫】 ハイブリッドアジャイルの方法論と、その概要を説明できるだけの理解が得られた。
【概要】 本書は、日本の諸事情を考慮しながら、アジャイ
...続きを読むルプロセスを導入するための解説と、実際の国内プロジェクトの実践報告の紹介の2部に分かれている。
[解説編のポイント]: 日本での大規模開発への導入においては、変更受け入れのルールや契約の仕方など考慮すべき事項が存在する。例えば、あらかじめ変更要望に対応するためにコストやスケジュールにゆとりを持たせることを合意したり、請負契約に限らず変更分は準委任契約とするなど工夫が必要。アジャイルプロセスの導入検討においては、まず現行プロセスの課題を明確にし、解決策と具体的な改善方法の検討、改善効果の予測、そして事後評価という手順を踏む。実際にプロジェクト計画を策定する場面では、管理方法やどのプラクティスを導入するかを決定する。進捗管理では、WBSとバーンダウンチャートを併用すると効果的。また必要最低限のドキュメントに抑えるなどして作業量を減らすが、アジャイルプロセス特有の作業も発生するため、その分は必ずスケジュールに含める。
[実践編のポイント]: 実際のプロジェクトでは、WFモデルの詳細設計・製造工程をアジャイル化するハイブリッドアジャイル方式を適用。イテレーション毎に発注側含めて仕様確認レビューを行い、変更要望を早期に発見。また、変更要望コストのゆとりを基本設計完了後の20%としてその枠内で完成。プラクティスは、チケット型タスク管理や、CI、TDD、ペアプロなどを導入。実績としては、タスク管理やCIのおかげでリスク低減につながった。また、変更要望を早期に取り入れることで、初回リリースからユーザー満足度の高いシステムを提供。一方課題としては、開発コストの低減と短期リリースの効果があまりあらわれなかった。
【感想】 具体的な大規模開発向けのアジャイル適用事例を知りたくて購入。WFかアジャイルかという単純な区分ではなく、プロジェクトにおいて重視する部分を明確にして、その目的に合った開発手法を取り入れようという考え方が参考になった。一方、本書で紹介されている事例では、複数チームでの開発実績はなく(体制の組み方などは紹介されているが)、オフショア先との分散開発時の管理手法など、個人的に気になる部分までは明確にされていなかったため、そこは今後に期待したい。