設計で迷ったら自分に問いかける質問

masasann
masasann
6分
2,262字

― 判断を前に進めるための思考整理テンプレ ―

はじめに

設計で迷う時間は、エンジニアなら誰でも経験します。
そして厄介なのは、「迷っている理由が自分でも分からなくなる瞬間」です。

この記事では、

  • 設計で迷ったときに自分に問いかける質問
  • その質問を実務で使える形に落としたチェックリスト
  • 設計レビューで使えるテンプレート
  • 迷いを深める「悪い問い」と、判断を前に進める「良い問い」の比較

までをまとめます。

答えを与える記事ではなく、
判断できる状態に戻るための記事を目指しています。


背景・前提条件

  • Webアプリケーション開発(業務システム想定)
  • 小〜中規模チーム
  • 要件は大枠決まっているが、設計の裁量がある状態

「正解を当てる設計」ではなく、
説明できる判断を積み重ねる設計を前提にしています。


なぜ設計で迷うのか

設計で迷うとき、多くの場合は次の状態に陥っています。

  • 問題と解決策が混ざっている
  • 未来の不安が膨らみすぎている
  • 判断基準が言語化されていない

この状態では、どんなに調べても前に進みません。
だからこそ、問いを立て直す必要があります。


設計で迷ったら問いかける5つの質問

① これは「今」解くべき問題か?

将来の拡張や不安を、
今の設計で解こうとしていないかを確認します。

  • 今の要件で本当に必要か?
  • 実際に困ってから修正できないか?
  • 困るとしても、それは致命的か?

多くの設計は「未来への不安」で重くなります。


② それを選ばないと、具体的に何が困るか?

「困りそう」では判断できません。

  • 誰が困るのか?
  • いつ困るのか?
  • どの程度困るのか?

ここが言語化できない選択肢は、
優先度が低い可能性が高いです。


③ この設計を、他人に説明できるか?

設計はコードよりも先に「説明責任」が来ます。

  • 半年後の自分が理解できるか?
  • チームメンバーに口頭で説明できるか?
  • READMEや設計書に書けるか?

説明できない設計は、
たいてい「自分も理解しきれていない」状態です。


④ 変更が入ったら、どこが壊れるか?

要件変更は避けられません。

  • 影響範囲は限定できているか?
  • 修正箇所は予測できるか?
  • 全体に波及しない設計になっているか?

「変更に強い」とは、
変更箇所を把握できていることです。


⑤ 今回の設計で、何を捨てているか?

設計は常にトレードオフです。

  • 拡張性を捨てて、実装速度を取っていないか?
  • 汎用性を捨てて、理解しやすさを取っていないか?

捨てたものを自覚していれば、
後で後悔しても「判断ミス」にはなりません。


設計判断チェックリスト(実務用)

迷ったときは、以下を上から順に確認します。

  • [ ] 今の要件で本当に必要か?
  • [ ] 解かないと致命的な問題か?
  • [ ] 選ばなかった場合の具体的な影響を説明できるか?
  • [ ] 他人に5分で説明できるか?
  • [ ] 変更が入ったときの影響範囲を把握できているか?
  • [ ] 今回あえて捨てている要素を把握しているか?

すべてYESでなくても構いません。
YES / NO を言語化できることが目的です。


設計レビュー用テンプレート

レビュー時は、実装よりも「判断理由」を共有します。

設計意図

  • 解こうとしている問題:
  • 今回は解かない問題:

選択肢

  • 採用案:
  • 検討したが採用しなかった案:

判断理由

  • 採用理由:
  • 採用しなかった理由:

トレードオフ

  • 得られるもの:
  • 捨てているもの:

将来変更時の想定

  • 変更が入った場合の影響範囲:
  • 修正方針の目安:

この形で話せる設計は、
レビューでも炎上しにくいです。


「悪い問い」と「良い問い」の比較

悪い問い(迷いを深める)

  • この設計って正解ですか?
  • ベストプラクティスは何ですか?
  • 将来拡張できなくなりませんか?

これらは答えが曖昧で、
判断を先延ばしにします。


良い問い(判断を前に進める)

  • 今回の要件で困る人は誰か?
  • 変更が入るとしたら、どこが壊れるか?
  • 今回は何を割り切っているか?

問いが具体的になると、
自然と判断基準も明確になります。


実務での注意点・落とし穴

  • 問いを立てずに実装に入る
  • 「将来のため」を理由に複雑化する
  • 判断理由を残さない

設計で大事なのは、
正解かどうかより、説明できるかどうかです。


まとめ

設計で迷ったときに必要なのは、
知識や経験よりも「問いの立て方」です。

  • 問題を今解くべきか
  • 何を捨てているか
  • なぜその判断なのか

これを言語化できれば、
その設計は十分に実務で耐えられます。

迷ったら、答えを探す前に、
まず自分に問いかけてみてください。

Written by