1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

なぜ要件定義で仕様を詰めきれないのか

システム開発において「要件定義で仕様を詰めきれなかった」という反省は、多くの現場で共通して語られるテーマです。
設計フェーズや実装フェーズに入ってから認識齟齬が発覚し、手戻りや追加対応が発生するケースも珍しくありません。

本記事では、なぜ要件定義の段階で仕様を詰めきれないのかについて、
個人の能力や経験不足ではなく 構造的な問題として整理します。

また、本記事では全体像の整理までを行い、
各要因については後続の記事で順に深掘りしていきます。


要件定義で仕様が詰まらない主な理由

1. 「要件定義」という言葉の認識が揃っていない

要件定義という言葉は広く使われていますが、立場によって指している内容が異なることが多くあります。
同じフェーズを指しているはずでも、各関係者が想定しているゴールが一致していない状態で議論が進むことがあります。

立場ごとの要件定義のイメージ

この図が示しているのは、同じ「要件定義」という言葉を使っていても、
各立場が異なるゴールを見ているという点です。

立場 要件定義のイメージ
顧客 システムで何ができるかを決めるフェーズ
営業 契約を成立させるための合意形成フェーズ
PM スコープや責任範囲を確定するフェーズ
エンジニア 実装に必要な情報を揃えるフェーズ

この認識のズレを放置したまま要件定義を進めると、
後工程で「そこまで決めるとは思っていなかった」「それは設計の話だ」といった
認識齟齬が発生します。


2. 抽象と具体の往復が不足している

要件定義では、目的や理想といった抽象的な話と、
画面・項目・ルールなどの具体的な話を行き来する必要があります。

しかし実際には、抽象論だけ、あるいは具体論だけで議論が進み、
両者が十分につながらないまま仕様化されるケースが多く見られます。


3. 「決めていない」という意思決定が明示されていない

要件定義の段階ですべてを確定できないこと自体は珍しくありません。
問題になるのは、あえて決めていない事項や暫定対応であることが
明示されない点です。

結果として、後工程では「決まっている前提」で解釈され、
認識齟齬や仕様変更につながります。


4. 業務理解が不十分なまま仕様を決めようとする

業務フローや現場運用に対する理解が浅いまま仕様を定義すると、
例外ケースや実際の運用とのズレが後から発覚します。

その結果、要件定義後にもかかわらず、
仕様の追加や修正が頻発する状況になります。


5. 仕様を「すべて確定させるもの」だと誤解している

仕様を詰めることは、必ずしもすべての数値や条件を
確定させることではありません。

変更が発生した場合の判断基準や責任範囲が
定義されていない状態では、仕様として十分とは言えません。


6. スケジュールや契約構造による制約がある

要件定義に十分な時間を確保できない、
見積や契約の都合で詳細を詰めきれないなど、
構造的な制約も存在します。

この場合、要件定義で仕様を詰めきれないこと自体が
前提になっているケースもあります。


1. 「要件定義」のゴールが揃っていない

要件定義で仕様が詰めきれない最大の原因は、
要件定義そのもののゴールが関係者間で揃っていないことにあります。

同じ「要件定義」という言葉を使っていても、
各立場が想定している完了条件は異なります。

立場 要件定義が「終わった」と感じる条件
顧客 システムのイメージができた
営業 契約に必要な合意が取れた
PM スコープと責任範囲が固まった
エンジニア 実装に必要な情報が揃った

全員が「要件定義は完了した」と認識していても、
実際には見ているゴールが異なっているケースは少なくありません。


なぜこのズレは表面化しにくいのか

要件定義フェーズでは、抽象的な表現で合意が成立しやすく、
詳細な判断を後工程に先送りすることが可能です。

しかし、設計や実装フェーズに入ると、
仕様は必ず具体的な判断を伴います。

その結果、「決まっていると思っていたが決まっていなかった」
という問題が後工程で顕在化します。


本当に揃えるべきなのは仕様ではない

要件定義で重要なのは、
すべての仕様を確定させることではありません。

重要なのは以下を明確にすることです。

  • 要件定義フェーズで決める範囲
  • 次フェーズに持ち越す事項
  • 未決事項が発生した場合の扱い

これらが合意されていない状態では、
仕様が存在していても要件定義が完了したとは言えません。


要件定義の完了条件を定義する

要件定義を成立させるためには、
「何をもって完了とするか」を明示的に定義する必要があります。

要件定義とは、仕様を詰める作業ではなく、
関係者のゴールを揃えるための合意形成フェーズです。


2. 抽象と具体の往復が不足している

― なぜ人は「往復しなくなる」のか

要件定義では本来、次の2つを行き来しながら仕様を形にします。

  • 抽象:目的・背景・課題・理想像
  • 具体:画面・項目・処理・ルール

しかし現場では、この往復が途中で止まり、
一方向に流れたまま要件定義が終わってしまうことが多くあります。

重要なのは、
「往復すべきだ」と分かっていても、なぜ往復しなくなるのか
という点です。


抽象に戻れなくなる理由(心理的ブレーキ)

具体的な仕様の話が進み始めた後で、次のような空気が生まれることがあります。

  • 今さら目的の話に戻ると、話が戻った感じがする
  • もう決まりかけているのに、蒸し返すのは気まずい
  • 抽象に戻ると議論が発散しそう

結果として、「違和感はあるが、戻らない」という選択が取られます。

この状態では、仕様は決まっていくが、目的との整合性は確認されません。


具体に落としきれなくなる理由(責任回避)

抽象の議論が続いたまま具体に進めないケースもあります。背景にあるのは次の心理です。

  • 具体に落とすと「決めた責任」が発生する
  • 数値・条件・分岐を決めると後戻りしにくい
  • 間違えたときの指摘が怖い

その結果、「もう少し方向性を詰めてから」という言葉で具体化が先送りされます。

この状態では、合意しているようで、実装判断は何も進んでいません。


実際に起きているのは「一方向の安全運転」

抽象にも戻らず、具体にも踏み込まない。結果として起きるのが次の状態です。

この状態はその場では平和ですが、設計・実装フェーズで必ず破綻します。


抽象と具体を往復できている状態とは

理想的な要件定義では、次の往復が意識的に行われます。

抽象を具体に落とし、具体が目的に合っているかを戻って確認する。
この往復を繰り返すことで、要件と仕様のズレを要件定義フェーズで吸収できます。


往復を起こすための問い

  • この仕様は「どの課題」を解決するためのものか
  • この仕様が無いと「誰が」「いつ」「何に」困るのか
  • 目的を満たす別案(運用・UI・データ)を比較したか

3. 「決めていない」という意思決定が明示されていない

― なぜ未決事項は闇に葬られるのか

要件定義で、すべてを確定できないこと自体は珍しくありません。
問題は、「決めていないこと」が明示されないまま進んでしまう点にあります。

未決事項が明示されない背景には、次の心理があります。

  • 未決と書くことで「誰かの宿題」になる
  • 宿題は責任の所在を生む
  • 責任を持ちたくないため、曖昧な表現で逃げる

その結果、仕様書には次のような言葉が並びます。

  • 「原則として」
  • 「状況に応じて」
  • 「柔軟に対応する」

これらは一見便利ですが、
実装フェーズでは何の判断材料にもなりません。

未決事項は「決めないこと」ではなく、
**「決めるための論点」**として扱わなければなりません。


4. 業務理解が不十分なまま仕様を決めようとする

― なぜ業務を深く聞かないのか

業務理解が浅いまま仕様を決めると、
必ず後工程で「想定外」が発生します。

しかし現場では、業務理解が後回しにされがちです。
理由は単純で、業務を深掘りするほど次が見えてくるからです。

  • 例外が多い
  • 人によって運用が違う
  • 暗黙ルールが存在する

これらを拾い始めると、仕様は膨らみ、
スケジュールや見積に影響が出ます。

その結果、「まずは基本だけ」という判断が下されます。
しかしこの判断は、後で必ず跳ね返ってきます。


5. 仕様を「すべて確定させるもの」だと誤解している

― なぜ人は全部決めたくなるのか

仕様を詰めるとは、「全部決めること」ではありません。
それでも現場では、すべてを確定させようとする力が働きます。

背景にあるのは、不安です。

  • 決まっていないと怖い
  • 後で揉めたくない
  • 指摘されたくない

その結果、判断基準のない「細かすぎる仕様」が量産されます。

本当に必要なのは、次の3点です。

  • 判断基準(どうなったらOKか)
  • 責任範囲(誰が最終判断するか)
  • 変更手続き(変わったらどう扱うか)

6. スケジュールや契約構造による制約がある

― なぜ分かっていても無理をするのか

要件定義で詰めきれない理由は、
個人やチームの能力ではなく、構造的な問題であることも多くあります。

代表的なのが次の構造です。

  • 見積前提で早期に契約
  • 要件定義の時間が短い
  • それでも詳細は求められる

この構造下では、
「要件定義で全部やる」という期待値自体が破綻しています。

重要なのは、次を明示することです。

  • 今回決めること/決めないこと
  • 未決事項の扱い
  • 変更が起きた場合のルール

まとめ(セクション3〜6)

  • 未決事項は放置すると「地雷」になる
  • 業務理解を避けるほど、後でコストが跳ね返る
  • 仕様は全部決めるより、判断基準を決める
  • 要件定義が破綻する原因は、個人ではなく構造にある

要件定義とは、
仕様を詰める作業ではなく、破綻しない前提を作る作業です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?