人とコンピュータの役割分担を明確にする
なんでもかんでもシステム化するのは間違い
人間も優秀なシステムと認識するべし!
リスク分析(リスク頻度×リスク影響度)から人間が担う部分(運用ルール化)を評価する
要求の価値を見極める
優先順位をつけて制約(QCD)に合わせる
優先順位をつけて後回しにできるものを明確にする
品質、費用、納期
優先するのはなに、犠牲にするのはなに?
やることだけでなく、やらないことを見積もる
やらないことでどれくらい品質、費用、納期を改善できるか
機能ではなく業務レベルで抽象化する
分割統治法で問題をシンプルに
改善すべきは業務
業務改善が済んでからシステム化すべし!
手順ではなく情報
5W1H:何の情報がどこで、いつ、だれが、なぜ必要か、を明確にし、提供方法を定義する
抽象化は重要
詳細レベルでは、全体的な問題を発見しずらい
詳細レベルでは、要求が発散する
要求者を信じない
要求者は要求内容をすべて抑えていない
要求者は要求内容を正しく伝えられない
条件を複雑化しない
1条件1行
アジャイル手法を採用する
初期のイテレーションで小さな機能を要件からリリースまで通してみる
その中で、コミュニケーション方法や各種管理手順などを調整して大きな流れを確立する
用語集を作る
言葉の意味が違うと要件内容も異なる