Upgrade to Pro — share decks privately, control downloads, hide ads and more …

動くコードでは不十分

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for shinaps shinaps
March 10, 2026
17

 動くコードでは不十分

Avatar for shinaps

shinaps

March 10, 2026
Tweet

Transcript

  1. 目次 戦略的プログラミン グ 将来の変更コストを下げ るための「投資の思考姿 勢」と両者の対比 どの程度の投資が必 要か 10〜20%の継続投資、 技術的負債の回収期間、

    AI時代における設計の価 値 設計と組織 荒れたコードベースが新 メンバーの認知負荷・採 用・定着に与える影響 戦術的プログラミン グ 小さな妥協の蓄積が生む 複雑さの悪循環と「タク ティカル・トルネード」 の問題 2 / 20
  2. 戦略的プログラミング 特徴 マインドセットの転換 ただ動くものを作るのではなく、
 優れた設計を生み出すことを目指す システム全体の構造を長期的に改善して、
 将来の変更を容易にする 「今動くか」ではなく
 「この先も変更しやすいか」で判断する 戦術的プログラミングが「とりあえず動かす」ことに

    フォーカスするのに対して、戦略的プログラミングは 「動いた後も変更しやすい状態を保つ」ことにフォー カスする 動くコードは良い設計の結果として手に入るもの であって、設計を犠牲にして手に入れるものではない 9 / 20
  3. 投資の回収 戦術的プログラミング(負債) 戦略的プログラミング(投資) 短期: 速く進んでいるように見える 数ヶ月後: 小さな妥協が積み重なり、 コードの理解や変更に時間がかかるようになる 長期: 技術的負債が膨らみ開発速度は低下し続ける

    財政的負債と違い、完全に返済されないことが多い 短期 10〜20%遅く見える 数ヶ月後 設計への投資が効き始め、戦術的アプローチより 10〜20%以上速く開発できるようになる 長期 差は広がり続ける。著者の経験では、 6〜18ヶ月程度で投資を回収できる 13 / 20
  4. 開発現場で陥りやすい罠 よくある判断 設計に10〜20%の時間を使う余裕はないと感 じてしまう 設計にはほとんど手間をかけず、問題が出ても 整理に時間を割かない 「成功すればエンジニアを追加採用して整理で きる」と正当化する 著者の指摘 設計を後回しにするほど、開発はどんどん遅く

    なっていく スピードを優先しても、最初のリリースが必ずし も早くなるとは限らない コードの品質が低いと、採用競争力も下がる 人が来ない → 品質が下がる → さらに人が離れ る、という負の循環に陥る 品質を犠牲にするのではなく、作る機能の範囲を絞るべき 17 / 20
  5. 荒れたコードベースが新メンバーにもたらすもの オンボーディングの現実 新メンバーはプロジェクト固有の
 マインドセットを持たない状態で参加する 負債の溜まったコードベースに対して
 一から向き合うことになる 入社前の期待値と実際のコードベースに
 大きなギャップが生じる 自分のコードが何に影響するか把握する
 認知負荷が極めて高い

    新卒にとっての断崖 研修では真っさらな状態から始められるため
 認知負荷が低い 本番プロダクトに入った瞬間、
 設計が敗北したコードベースと直面 開発への無力感 
 → モチベーション喪失 
 → 離職 後から入った人の仕事が技術的負債の解消ばかりになると 開発の楽しさが失われ、人が定着しない 18 / 20
  6. まとめ 本章から 戦術的プログラミングは小さな複雑さを蓄積 させ、やがて開発速度そのものを低下させる 戦略的プログラミングは設計に継続的に投資 することで、長期的な生産性を高める 設計は「後で考えるもの」ではなく、毎日の 仕事の中に組み込むべきもの 修正を後回しにすればするほど、問題は大き くなっていく

    経験から タクティカル・トルネードは、チーム全体の生産 性を低下させる 戦術的に作り続けると、自分のコードすら把握で きなくなり、立て直しが困難になる コードの品質が低いと新メンバーの認知負荷が高 く、人が定着しない AI時代では設計なき開発の破壊速度も加速し、設 計の価値はさらに高まっている 20 / 20