「仕様書に書いてなかったので、実装していません」
これはエンジニアが口にしてはいけない言葉ランキングの不動の1位です。
しかし、PM(プロダクトマネージャー)も人間です。仕様書は常に不完全です。その穴を埋めるのがエンジニアの仕事です。
ここでは、要件を立体的に理解するための「5W1H8C1D分析法」を紹介します。
Loading diagram...
5つのW
- Why(なぜ):最重要。なぜこの機能が必要なのか? 解決したい課題は何か?
- Who(誰が):ユーザーは誰か?管理者か、エンドユーザーか、システムか?
- When(いつ):いつ使われるか? 深夜のメンテ時か、通勤ラッシュ時か?(アクセス負荷が変わる)
- Where(どこで):どこで使われるか? 安定したWi-Fi下か、電波の悪い地下鉄か?(オフライン対応が必要か?)
- What(何を):最終的なアウトプットは何か? 画面か、CSVか、APIレスポンスか?
エンジニアは「What」ばかり気にしますが、「Why」を知らないと仕様変更のたびに振り回されます。
How(どう動くか)
- 正常系:A→B→Cと進む。
- 異常系:Bでエラーが出たらAに戻るのか、Dに進むのか?
仕様書の8割は「正常系」しか書いていません。「異常系はどうなりますか?」とPMに詰め寄るのが、優秀なエンジニアです。