Slide 1

Slide 1 text

髙橋直規 株式会社SHIFT Copyright SHIFT Inc, All Rights Reserved. 2026.7.20 PHP Conference Japan 2026 #phpcon AI時代のYAGNI: 「爆速で無駄になった機能」からの学び

Slide 2

Slide 2 text

本日お話すること https://fortee.jp/phpcon-2026/proposal/184bde2e-f907-433f-a6ca-c1637ec6d064 2

Slide 3

Slide 3 text

必要のないものは、必要になるまで作らない 3 YAGNI原則とは You Aren't Gonna Need It. 必要となるまで作らない。 AIで速く作れるようになった時代に、 変更が少なそうだと思った機能を 先回りして一気に作りました。 結果、すべてが使われなくなりました。

Slide 4

Slide 4 text

髙橋直規(幡ヶ谷亭直吉) @asagayanaoki • エンジニア歴 :19年目 • 役割 :プロジェクトマネージャー、エンジニア • 大切 :経験主義、プロダクト思考、チーム開発 • 好きな原則 :YAGNI、DRY、単一責任の原則 4 著書 主催コミュニティ Copyright Murata Manufacturing Co., / SHIFT Inc., All Rights Reserved.

Slide 5

Slide 5 text

この話の前提:AIで何でもできる気がしていた 5 0→1の本番運用を前提にした 新規プロダクト開発 世の中から少し遅れてのAIコーディング 人間だけの開発スピードより 1.5倍以上の加速を期待されるが、楽に達成

Slide 6

Slide 6 text

AI開発の熱に浮かされていた この話の前提:AIで何でもできる気がしていた 6

Slide 7

Slide 7 text

AI時代の新しい開発の模索 7 AIが特別なツールに思えた。 今までと違う開発の進め方に挑戦したいと考えた。 それまで1本ずつ進めていたAPI開発を、 まとめて実装できないか試した。 API1 API2 API3 API4 API5 ・・・ それまで 挑戦 API2 API3 API4 API1 API5

Slide 8

Slide 8 text

単純な機能での実験 8 実験対象は、シンプルな検索APIの5本に絞った。 複雑な処理や業務判断が求められるAPIは対象外にした。 ロジックが似ているAPI群と、 同じ業務フローのAPI群を分けて開発を進めた。 ロジックが似ているAPI群 マスタテーブルを検索し、 レコードを取得する処理。 同じ業務フローのAPI群 処理自体は単純だが、API同士に 業務上の関連性がある処理。

Slide 9

Slide 9 text

まとめて進めたことで、学びが遅れた 9 ロジックが似ているAPI群は問題なく進んだ。 同じ業務フローのAPI群では、 複数APIの設計・実装・テストを同時に並行したことで、 テーブル定義の考慮漏れという設計ミスに気づくのが遅れた。 1本目で得られるはずの学びを次のAPIに活かせなかった。 業務が不確定な機能こそ、 まず1本をテストまで通してから、 残りに横展開すべきだった。

Slide 10

Slide 10 text

実験としては、成功したと思っていた 10 すべてのAPIの実装を完了した まとめて作れるものと、 まず1本通すべきものの違いも見えた

Slide 11

Slide 11 text

成果も学びも得ることができた 実験としては、成功したと思っていた 11

Slide 12

Slide 12 text

12 その後、まもなく...

Slide 13

Slide 13 text

5本作ったAPIはすべて無駄になった 13 要件の消滅、仕様変更、既存機能での代替により、 先回りして作ったAPIは、すべて使われなくなった。 0本 5本

Slide 14

Slide 14 text

作れることに意識が奪われていた 14 AIで想像以上に楽に速く作れるようになった。 その結果、プロダクトにその機能が本当に必要かより、 機能を作ること自体に意識が奪われていた。 「将来必要になりそう」で先回りしたAPIは、 要件の変化によって使われなくなった。

Slide 15

Slide 15 text

AI時代でもYAGNI原則は変わらない 15 You Aren't Gonna Need It. 必要となるまで作らない。 速く作れるからこそ、作る前に 「本当に今必要か」を考える。

Slide 16

Slide 16 text

作る前に考えるべきだったこと 16 その機能は、 次のリリースでは遅いのか?

Slide 17

Slide 17 text

17 では、実験も 無駄になったのか?

Slide 18

Slide 18 text

作るためではなく、試すための速度 18 圧倒的に速く開発できるようになったからこそ、 生産量を上げるだけでなく、 より価値のある機能をつくるために、 空いた時間で何を学ぶかが重要になる。 それまで AI開発

Slide 19

Slide 19 text

AI時代こそ実験からの学びを 19 実験をしたからこそ、 YAGNIの重要性も追体験できた。 AI時代の速度は、 学びを増やすためにも使える。

Slide 20

Slide 20 text

20