いま必要ないものは作るな!「YAGNIの原則」|エンジニアの原理原則3

齋藤 公一 / 2026年6月2日

UX / UI のデザインに強いWebシステムの開発と、BtoB Webマーケを支援するWeb制作を提供する
N's Creates (エヌズクリエイツ) 株式会社 フロントエンドエンジニアの齋藤 (@31mskz10) です。

エンジニア・IT業界には、有名な原理原則や法則がいくつかあります。
先人が何度も経験したことを言語化しているので、そこから学べることは多いはず。

今回は「YAGNIの原則」について紹介します。

YAGNIの原則とは?

YAGNIの原則とは「You Ain’t Gonna Need It」の頭文字をとった言葉です。
日本語にすると「どうせそれは必要にならないよ」といった、少しくだけたニュアンスの言葉になります。

これは、文字通り「いま必要ないと判断された機能は実装しない」という考え方です。
「いつか使うかもしれない」「あったら便利そう」といった憶測や予測に基づいて、前もって機能を作り込むことを戒める原則です。

なぜ「いま必要ないもの」を作ってはいけないのか?

では、なぜ将来を見越した実装は避けるべきなのでしょうか?

1つ目は、単純に、その努力が無駄になる可能性が高いからです。
良かれと思って実装した機能が、結局誰にも使われなかったり、ビジネスの方向性が変わって不要になったりするケースは少なくありません。開発やテストにかかった時間がすべて無駄になってしまいます。

2つ目は、システムが不必要に複雑になるからです。
使われない機能であっても、コードは存在し続けます。そのコードが原因で新たなバグを生んだり、他の開発者がコードを理解する際の妨げになったりします。

そして3つ目は、将来の変化に対応しにくくなるからです。
未来を予測して作った複雑な仕組みが、かえって足かせになることがあります。本当に必要な機能が出てきたとき、既存の余計な機能が邪魔で、柔軟な変更ができなくなります。

日常業務でYAGNIを実践するために

この原則を日々の仕事で実践するための、具体的な考え方や行動をいくつかご紹介します。

  • 機能開発をするとき
    • 「いつか使うかも」ではなく「いま必要だ」と言われたものから作る
    • まずは最小限の機能でリリースし、ユーザーの反応を見てから次を考える
  • コードを書くとき
    • 現在の要件を満たす、最もシンプルな設計を選ぶ
    • 「将来のために」という理由で、使われていない設定項目やメソッドを追加しない
  • チームで会話するとき
    • 新しい機能のアイデアが出た際に「それは本当に今必要ですか?」と問いかける文化を作る

YAGNIを追求する上での注意点

YAGNIの原則は、将来を考えずに場当たり的な開発を推奨するものではありません。
例えば、コードを綺麗に保つこと(リファクタリング)や、テストを書くこと、基本的なセキュリティ対策などは、将来のためではなく「現在の品質を保つために」必要なことです。

あくまでYAGNIが対象とするのは「機能」です。品質を犠牲にして良い、という意味ではないので誤解しないように注意しましょう。

まとめ

今回は、変化の速いIT業界で特に重要となる「YAGNIの原則」について紹介しました。
いま本当に価値のあることに集中することで、無駄をなくし、開発スピードを上げることができます。

新しい機能を追加しようと思ったとき、一度立ち止まって「これは本当に今必要なんだっけ?」と自問自答してみてはいかがでしょうか?


UX / UI のデザインに強いWebシステムの開発と、BtoB Webマーケを支援するWeb制作を提供する
N's Creates 株式会社は、神戸三宮オフィスまで週1出社(それ以外はリモートワーク)できる「デザイナー」「エンジニア」を募集しています。

興味のある方は、カジュアル面談しますので気軽にお問い合わせください!

同じテーマの記事