設計に必要なモノは何だっけ / 設計に”Why"を宿す by きんじょうひでき

PHPerKaigi 2025
レギュラートーク(20分)

設計に必要なモノは何だっけ / 設計に”Why"を宿す

o0h_ きんじょうひでき o0h_
1

設計に詳しくなりたいし、設計力が欲しいし、色々な場面で良い感じな設計を描けるようになりたいですよね。
ソフトウェアづくりに設計は必要です。
何をもって「良い設計ができた」と言いますか?何を目指していますか?
本トークは、その自信と根拠を持つための、「なぜ設計を行うのだっけ」を考えるきっかけとなることを目指します。

考えるべきこと

このトークにおける「設計」に対する態度

  • 設計は、何かしらの品質を支えるためにある。その意思決定が具体化されたものと捉える
  • 品質には「いま必要なものを、必要なレベルで実現できている」「必要な期間中、継続的に、要求に応え続けられている」の両軸が必要
    • 「将来的にも拡張・変更しやすい」だけでは満足されず、「今の環境や要員でついて行ける」ことも重要
  • 自信が持てるような設計にするには、「身の丈にあう」のガイドラインとしての機能を果たす必要がある
    • 「ぼくのかんがえたさいきょうのデザイン」にしない

「良い設計」のために必要なこと

  • 設計の「ねらい」をトレードオフとして表現して伝える
    • カーゴカルトよりテイラーメイドを重んじる
    • 何が本質かは自ら選び取り、思考をdumpする
  • その設計を「支える」のはメンバーたち
    • 本来のねらいが、実現され続けてこそ意味がある
    • 技量面への教育やツールによる支援が必要

このトークで得られるもの

  • ねらい: 「良い設計」を議論するための観点を提供する
  • 得られるもの: チームで「自分たちに必要な設計」を見つめ直すきっかけ

話さないこと

  • 具体的な設計技法やパターン
  • 各論的な品質特性やその計測方法

想定オーディエンス

  • 「設計ってなんだろう?」に興味を持ち始めたジュニア
  • 駆け出しテックリード