序 エンタープライズ・アジャイルの幕開けに寄せて |
本書の読者と刊行の動機
本書の構成
アジャイル適用の考え方 |
解説編 |
第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 ハイブリッドアジャイルの一般的な課題 |