どんな問題?
- プロジェクトの大事なactivityが見落とされたり,過小に評価される
- technical planning
- architecture
- quality-control activities
- inspection
- test
- technical planning
症状と結果
- アーキテクチャ的な戦略がなくて,設計が難しく実装できない
- コードレビューやインスペクションの頻度が少なく,意義も小さい
- テスト設計が負担となる
- システムの振る舞いが定義されていないため
- インテグレーションやシステムテストのとき,欠点の報告が増えてくる
- 本来は最初期に取り除かれるべき
原因
- 不十分なアーキテクチャが技術的な基準を定義しない
- コードレビューやインスペクションが設計の欠点を見つけられない
- テストセットが不十分で,アプリケーションに必要な相互運用性が満たされない
- リスク管理がされていない
どう解決する?
- 以下のカテゴリのリスク管理が重要
- managerial
- common project failure points
- quality
Managerial
組織的なマネジメントで以下のリスクは小さくできる
- Processes
- 製品開発をend-to-endで定義する
- Roles
- プロセスの実装責任を明らかにする
Common Project Failure Points
- コスト超過
- 未熟なのにプロジェクトが終わること
- ぜんぜん違う製品を作ってしまうこと
- 技術的な失敗
Quality
- Program and project management
- 計画と制御プロセスの効果は大きい
- Product identification
- 問題定義の正確性
- Architecture definition
- 設計とコーディング方針の仕様
- Solution design
- 解決方法の設計
- 一貫性があり最適化されたコード仕様
- Solution implementation
- 正確なコードを作る能力
- Solution validation
- 要件に沿う解決方法となっているかの証明
- Product support
- 保守と製品販促の能力
Common Understanding
リスク管理の一つのテーマは「理解されていないこと」