こんにちは、フリーランスシステムエンジニアの高山慶です。
スタートアップや中小企業の経営者の方と初回打ち合わせをすると、
必ずと言っていいほど聞かれる質問があります。
「要件定義って、具体的に何をするんですか?」
要件定義は「翻訳作業」です
要件定義を一言で表すなら「翻訳作業」だと私は考えています。
お客様の「こんなシステムが欲しい」という想いを、エンジニアが理解できる技術仕様に翻訳する作業です。
例えば、こんな会話があったとします。
お客様:「売上をもっと簡単に管理したいんです」
私:「具体的には、どのタイミングで、誰が、どんな情報を入力しますか?」
実際の要件定義プロセス
1. 現状把握
まず、今どんな業務フローで作業されているかをヒアリングします。Excel管理なのか、手書きなのか、既存システムがあるのか。
2. 課題の明確化
「何に困っているか」を具体的に聞き出します。時間がかかる?ミスが多い?データが見つからない?
3. 理想の姿を描く
「システムがあったら、どんな風に業務が変わって欲しいか」をイメージしてもらいます。
4. 技術仕様への落とし込み
お客様の言葉を、データベース設計や画面仕様に変換していきます。
要件定義で大切にしていること
私が最も重視するのは「本当の課題は何か?」を見極めることです。
お客様が「在庫管理システムが欲しい」とおっしゃっても、実際に話を聞くと「売上予測が立てられなくて困っている」ことが本当の課題だったりします。
要件定義は、お客様と一緒に「本当に解決すべき問題」を発見していく作業なのです。
まとめ
良い要件定義ができれば、プロジェクトの8割は成功したも同然です。
逆に言えば、ここを疎かにすると、後々大きな手戻りが発生してしまいます。
時間をかけてでも、お客様と一緒に理想のシステム像を描いていく。それが私の要件定義に対する考え方です。