ハイブリッドアジャイルの実践
教科書どおりの手法を再現しても、システム開発の課題は中々解決できません。本書前半部ではアジャイル開発の原則を簡潔に解説。後半部を実践編とし、ウォーターフォールを組み合わせた関西電力の事例を紹介。実データを示しながら、各種プラクティスの効果的な実践方法を手引きします。
内容詳細
アジャイル本格適用―― ■監修者の言葉 欧米流のアジャイル開発を、そのまま日本で実践するのは困難です。本書は実際の国内プロジェクトの実践報告を収録しており、これからアジャイルプロセスを導入する上で最適なガイドとなります。まさに、大規模アジャイル開発の指南書です。 (長瀬嘉秀) ■本書の主な構成 |
序 エンタープライズ・アジャイルの幕開けに寄せて |
本書の読者と刊行の動機 本書の構成 アジャイル適用の考え方 |
解説編 |
第1章 開発モデルの選択 |
1-1 アジャイルプロセスとは何か? |
1-1-1 アジャイルマニフェスト 1-1-2 世界的な普及状況 1-1-3 導入目的は「タイムリーな市場投入」 |
1-2 様々な開発モデル |
1-2-1 ウォーターフォール型と反復型 1-2-2 開発モデルの違いと開発方法論 1-2-3 ハイブリッドアジャイル 1-2-4 開発モデルの選択 |
1-3 アジャイルプロセスの適用事例 |
1-3-1 成功事例に学ぶ 1-3-2 失敗事例に学ぶ 1-3-3 海外のエンタープライズ適用事例 |
1-4 エンタープライズ適用の課題 |
1-4-1 大規模開発への対応 1-4-2 事例から見る問題点と工夫 |
1-5 日本固有のSI契約 |
1-5-1 日本ならではの諸事情 1-5-2 主な契約形態と追加契約 1-5-3 各契約形態における留意事項 |
第2章 開発プロセスの作り方 |
2-1 目的に即したプロセスの策定手順 |
2-2 現行プロセスの課題を整理する(As-Is分析) |
2-3 課題解決策を検討する |
2-4 プロセス全体の改善を検討する |
2-4-1 ベーシックなアジャイルとハイブリッドアジャイル 2-4-2 様々なプロセスパターン 2-4-3 各プロセスに対する評価 |
2-5 作業内容の改善を検討する |
2-5-1 作業量とドキュメント量の削減 2-5-2 開発作業のスピードアップ 2-5-3 アジャイルの主要なプラクティス |
2-6 プロジェクトの管理方法と体制を検討する |
2-6-1 プロジェクト管理の方法 2-6-2 プロジェクト体制の検討 |
2-7 改善効果を予測する |
2-8 新たに開発したプロセスを適用する |
2-9 実績値から改善効果を評価する |
第3章 プロジェクト計画の作り方 |
3-1 破綻を避ける管理の要諦 |
3-1-1 スケジュールにはゆとりを 3-1-2 コストの上限を意識すべし 3-1-3 結合テスト以降の品質指標はWFと同じ 3-1-4 変更管理はスピードが命 |
3-2 適用プラクティスを決める |
3-2-1 イテレーション(反復) 3-2-2 朝会 3-2-3 レトロスペクティブ(振り返り) 3-2-4 ペアプログラミング 3-2-5 テスト駆動開発(TDD) 3-2-6 リファクタリング 3-2-7 常時結合(CI) 3-2-8 回帰テスト自動化 3-2-9 仕様確認レビュー 3-2-10 タスク管理 3-2-11 各プラクティスの期待効果と適用状況 |
3-3 アジャイルプロセスにおける留意事項 |
3-3-1 アジャイル適用の前提条件 3-3-2 スケジュールとコストの見積り 3-3-3 契約上の留意点 3-3-4 計画立案時の留意点 3-3-5 進捗管理・変更管理と報告 3-3-6 品質をいかに確保するか |
実践編 |
第4章 関西電力版ハイブリッドアジャイルの適用計画 |
4-1 関西電力におけるシステム開発の課題 |
4-2 課題解決策としてのハイブリッドアジャイル |
4-3 現行プロセスを継承しつつ新プロセスを定義 |
4-4 作業量の削減とスピードアップ |
4-4-1 作業量の削減 4-4-2 作業のスピードアップ |
4-5 プロジェクトの管理方法と体制の検討 |
4-5-1 プロジェクトの管理方法 4-5-2 プロジェクト体制 |
4-6 効果予測 |
4-7 新プロセスを適用し実績データを蓄積 |
4-7-1 定性的評価の観点とデータの取得方法 4-7-2 定量的評価の観点とデータの取得方法 |
4-8 実績データから新プロセスを評価 |
4-9 プロジェクト教育でスキル合わせ |
第5章 事例プロジェクトの概要 |
5-1 開発対象のシステム |
5-1-1 システム概要 5-1-2 開発対象機能 5-1-3 ソフトウェア構成 |
5-2 全体スケジュール |
5-3 プロジェクト体制 |
第6章 事例プロジェクトの管理方法 |
6-1 バーンダウンチャートで進捗を日々管理 |
6-1-1 WBS /ガントチャートとの使い分け 6-1-2 イテレーション1・2・3回目の進捗 |
6-2 コストのゆとり内で開発する |
6-3 高い品質を保証する |
6-3-1 品質指標の設定 6-3-2 イテレーション期間中の品質確保の取り組み |
6-4 変更管理はイテレーションごとに実施 |
第7章 イテレーションで行ったこと |
7-1 イテレーション計画会議 |
7-2 日々の朝会と開発 |
7-3 仕様確認レビュー |
7-4 レトロスペクティブ |
7-5 保守ドキュメント作成 |
7-6 イテレーション内作業の実施結果 |
第8章 適用プラクティスと評価 |
8-1 ペアプログラミングの適用 |
8-1-1 適用の目的 8-1-2 1回目のイテレーションでの実施方法 8-1-3 2回目のイテレーションでの実施方法 8-1-4 3回目のイテレーションでの実施方法 8-1-5 ペアプログラミングの評価 |
8-2 テスト駆動開発の適用 |
8-2-1 適用の目的 8-2-2 実施方法 8-2-3 テスト駆動開発の評価 |
8-3 リファクタリングの適用 |
8-3-1 適用の目的 8-3-2 実施方法 8-3-3 リファクタリングの評価 |
8-4 常時結合(CI)の適用 |
8-4-1 適用の目的 8-4-2 実施方法 8-4-3 常時結合の評価 |
8-5 回帰テスト自動化の適用 |
8-5-1 適用の目的 8-5-2 実施方法 8-5-3 回帰テスト自動化の評価 |
8-6 タスク管理の適用 |
8-6-1 適用の目的 8-6-2 実施方法 8-6-3 タスク管理の評価 |
第9章 ハイブリッドアジャイルの総括評価 |
9-1 定性的評価 |
9-1-1 定性的評価のまとめ 9-1-2 アンケート結果から見る評価 |
9-2 定量的評価 |
9-2-1 生産性は大きく向上したか? 9-2-2 品質は確保できたか? 9-2-3 コストとスケジュールは守れたか? |
9-3 実践から見えた効果と課題 |
9-3-1 ハイブリッドアジャイルの効果 9-3-2 ハイブリッドアジャイルの一般的な課題 |