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
Posted at

この記事で言いたいこと

設計とは 「正解を当てること」ではなく、曖昧さの中で「ポジション(スタンス)を取ること」 だと感じた。
特に要件が固まっていないツール作り・他社協業の現場では、設計の価値は「決めること」に出る。
設計の正解は誰にもわからない。したがって、思考の材料を集めて、要件を自ら固めに行く姿勢が重要だとわかった。

背景:いま自分が置かれている状況

  • ツール作りをしている
  • 要件がそこまで固まっていない
  • 他社の人と一緒に作っている
  • 方向性が深く合意されきっていない

この状態だと、自然にこうなる。

  • 「様子見」しがち
  • 仕様を詰めるのに時間がかかる
  • 結果、ダラダラ進んで終わらない
  • 作ってほしい人に価値を届けられない

設計どおりにコードを書くのは、設計の難しさではない

設計が固まっているなら、

  • 設計書どおりに実装する
  • 仕様どおりに動かす

これはもちろん大事だけど、設計そのものの難しさはここじゃない。

設計が難しいのはむしろ、

  • 要件が曖昧
  • 将来の運用が見えない
  • どれくらいスケールするか分からない
  • でも何かを作って前に進める必要がある

という「不確実性の塊」の中で判断しないといけないところ。
AIがあるのでコードを用意することは簡単。正解がない設計を考える能力が重要だとわかった。

設計とはポジション(スタンス)を取ること

自分が最近しっくりきた言い方がこれ。

設計とはポジションを取ること

ここで言うポジションは、

  • 「この方向で作る」
  • 「ここに賭ける」
  • 「この設計思想で押し切る」

みたいな意思決定のこと。

曖昧な状況で「決めない」まま進むと、だいたい破綻する。
だからこそ設計者は、ある程度の仮説を置いて前に進める必要がある。

拡張性を考える、の正体は「全部に対応する」ではない

「拡張性を考えよう」はよく言われるけど、現場で感じたのはこれ。

  • 拡張性 = 未来のすべてに対応すること
    ではなく
  • 拡張性 = 何を捨てて、何を残すかを決めること

将来の要求は読めない。
だから設計は、

  • どこまでを今やるか
  • 何を後回しにするか
  • どこが壊れたら直すのか

を決める行為になる。

「間違っていたとしても、責任を取る」が信頼につながる

ポジションを取るのは怖い。

  • 外したら修正コストが出る
  • 間違いの責任が自分に来る

でも逆に、曖昧なまま進めて誰も決めないと、

  • 全員が不安
  • 誰も責任を持てない
  • 価値が出るまでが遠い

になりがち。

だから自分はこう思った。

  • 仮に間違っていても、意図を説明できる
  • 修正する前提で、判断した理由を残す
  • 自分が責任を持って作っている姿勢を示す

この方が、他社協業でも「安心」や「信頼」に繋がるはず。

まとめ

設計について、最近こういう結論に至った。

  • 設計とは「正解を書くこと」ではない
  • 設計とは「未来に対する仮説を置くこと」
  • 設計とは「決めないリスクから逃げないこと」
  • 設計とは「間違える前提で、責任の所在を引き受けること」

要件が曖昧なツール作りの現場こそ、
設計の価値は「ポジションを取ること」に出ると感じた。

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?