見出し画像

【備忘録】システム開発の要件定義は家づくりと似ている

参考記事:https://www.ipa.go.jp/archive/files/000065172.pdf

要件定義のプロセス

STEP1. 初期要求(希望)を聞き出す

初期要求を明確にする
・現場で既存の要求を集める
・過去に調査・実施した要求がある
・要求を是正せずにそのまま集め、事態を把握する

色々な要求を聞き出した後に真の要求、つまり、どうなりたいか?を明確にしてあげるのがポイント

家づくりでの例)

まず、どんな家に住みたいのか希望を聞き出す。
その後に、どんな新しい生活をしたいのか?という真の要望を聞き出す。

どんな家に住みたいか?(要求)
→一戸建て、システムキッチン、ウォークインクローゼット、高い天井、テラスでBBQしたい、リビングにプロジェクタや音響設備、地域の希望など
どんな生活がしたいか?(真の要求)
→通勤時間を短縮したい、空港や駅の近くがいい、子育てがしやすい環境、買い物に困らない、治安がいい、静かな場所

現在の状況と要求を比較し、精査することで、何がどれくらい良くなるのか・意外と変化が無い部分はないか、などが見極められる。

STEP1 まとめ

1. 現場の生の声を聞き、素直な要求を集める。(具体高め)
2. どうなりたいか?という真の要求を聞き出す。(抽象度高め)
3. 要求と現状を比較し、要求を整理する。

STEP2. ステークホルダー要求とその他の要求を引き出す

ステークホルダー(利害関係者)を洗い出す
・個別システム<全社システム<グローバルシステム、利用部門、お客様、協業企業など、とにかく漏れがないように洗い出す

ステークホルダー要求を明確にする
・ステークホルダーの特性を明確にする
例)役割・役職、影響度、対立関係
・ステークホルダーの傾向を理解する
例)無駄が嫌い、現状維持思考、全体俯瞰の視野
要求を聞くのではなく、引き出す

非機能要求やその他の要求を明確にする
・ビジネス要求や業務要求との整合性を確認する
・ユーザビリティ要求、UX要求、セキュリティ、差別化、事業継続性なども必要

家づくりでの例)
ステークホルダー = 両親や親戚、友人など
ステークホルダー要求 =「近くに遊びに来たときは泊まりたい」「足が悪いのでバリアフリーだと嬉しい」「近くに住んでいるからいつでも子育ては手伝うよ!」
非機能要求・その他の要求 = 地域社会(町内会活動)、地球環境(災害対策、エコ)、生活環境(セキュリティ)

STEP2 まとめ

1.ステークホルダー(利害関係者)を漏れなく洗い出す
2.ステークホルダーの要求を聞き出す
3.非機能要求などを明確にする

STEP3.要求の本質を整理する

要求の目的を整理する
「何のため」に「何をよくしたい」のかを整理
・目的と手段の違いを意識し、要求の価値を明確にする
・貢献度を明確にする

目的から手段を検討する
・目的を整理したら、その目的を達成するために他の手段はないか考える(手段の再検討)
・効率化以外の観点でも考えてみる
・KPIを検討する

要求の価値と効果を判断し、要求を厳選する
・膨大に膨らんだ要求を全て叶えるわけにはいかない
・目的を明確にし、要求の価値や効果、貢献度が薄いものは思い切って削減する
・貢献度をもとに削減を提案すれば、納得のいく合意形成が可能

家づくりでの例)
要求の目的を整理
・天井を高くしたい(要求)→みんなが集まりやすく、くつろげて、コミュニケーションを豊かにしたい(目的)
目的から手段の再検討
・コミュニケーションを豊かにしたい(目的)→キッチンからリビングを見渡せるようにする、畳やカーペット、床暖房などを採用する(再検討した手段)
要求の削減
・リビングにプロジェクターや音響設備→コミュニケーションを豊かにする貢献度が低い→削除
・天井を高くする→貢献度低→削除

STEP3 まとめ

1.要求の目的を整理する
2.目的から手段を再検討する
3.要求の効果や目的への貢献度を検証し、要求を削減する

STEP4.現実的に考え、実現できる要求に落とす

制約条件・前提条件を明確にする
・制約条件とは、プロジェクトでは変更できない外から与えられた条件(予算、納期、契約事項)
・前提条件とは、プロジェクトで確証なく設定した条件
・制約条件と前提条件を混同しないようにすること
・設定された予算と期間の範囲内で実現できるかどうかを検討する
・前提条件にはリスクが伴うため、随時監視し、見直す必要がある

制約条件・前提条件を考慮した現実案(妥協案)を検討する
・カスタマイズ要求を極力減らす
・パッケージや既存サービスの利用を検討する
・贅沢要求を捨てる

要求の優先順位付けを行い、低いものは削る
・膨らむ要求を抑える
・経営や業務への貢献度だけでなく総合的に評価する
・優先順位をつける

家づくりでの例)
制約条件・前提条件を明確にする
・予算はいくらか?いつから住みたいか?
・予算と納期を守るために個別仕様(カスタマイズ)を減らし、標準仕様(パッケージ)を利用する
制約条件・前提条件を考慮した現実案(妥協案)を検討する
・子供部屋を作らず、間仕切りを少なくしてシンプルなスペースとする→間仕切りがない方が将来的に柔軟に部屋を作れる
要求の優先順位付けを行い、低いものは削る
・システムキッチンを削る
・ウォークインクローゼットを削る
・テラスは利用頻度が高くないため費用対効果が低い→削る

STEP4 まとめ

1.制約条件・前提条件を明確にする
2.現実案を検討する
3.要求の優先順位付けを行い、要求をもっと削る

STEP5.要求を確認し、合意(契約)をする

To-Be(将来の状態)での変化と価値をまとめる
・実現する要求、断念する要求、稼働後に対応する要求を明確にする(今回のスコープを明確にする)
・現状の問題点、対策、変化点、効果、保留事項を端的にまとめ、説明資料を準備する

関係者と合意形成する
・ステークホルダーの合意をとる(期待値のコントロール)
・ドキュメントはスケジュールの半分までに作成する
・簡単なプロセス(初期段階→要求検討・具体化→基本合意→要求調整・詳細詰め→最終合意)

要件(仕様)として定義する
・要求を仕様として具体化する
・既存と同じでも使用を提示する
・ヌケ、モレ、曖昧なくドキュメントを記載する

家づくりでの例)
To-Be(将来の状態)での変化と価値をまとめる
・通勤時間、治安、災害対策、生活の質、コミュニケーション、子育てなど比較
関係者と合意形成する
・両親、親戚、友人など関係者に仕様を共有し、見直しや再確認が必要なものがないか調べる
要件(仕様)として定義する
・標準仕様は何があるか、個別仕様は何があるか、詳細な仕様を決める
・住宅業者と契約をする

STEP5 まとめ

1.To-Be(将来の状態)での変化と価値をまとめる
2.関係者と合意形成する
3.要件(仕様)として定義する

最後に

昨今のシステム開発に求められるのは、機能の安全性よりも開発スピードです。
60点や80点で素早く作って、運用の中で評価し、徐々に高品質を目指して90点-100点に上げていくことが重要です。
そのためには、膨らむ要求をできるかぎる抑えて、本当に必要で価値のあるものから作ることが求められます。


この記事が気に入ったらサポートをしてみませんか?