2008年創刊 · デジタル版 · 2026年6月19日

SMB IT Journal

中小企業のための情報技術リソース

日本語
ITの経営

それはまだ必要ない(YAGNI)

私はITの仕事をしていますが、ソフトウェアエンジニアリングのバックグラウンドを持っているため、リリースサイクルや機能の舞台裏で何が起きているかを理解する点でも、その業界から得た知識をこの業界に応用する点でも、ITの世界に対して少し異なる視点を持っています。

近年のソフトウェアエンジニアリングコミュニティでは、「You Aren’t Gonna Need It(それはまだ必要ない)」またはYAGNIという概念が広まっています。YAGNIはアジャイル開発者のExtreme Programming(XP)グループから生まれ、次のルールとして述べられています。「実際に必要になったときに常に実装すること。ただ予見するだけでは実装しないこと。」

私はYAGNIを開発において「必要だとわかるまで何かに投資しないこと」と言い換えることを好みます。しかし概念は同じです。つまり、使うかどうかわからないものを構築するために時間とお金を費やすと、できるだけ早く価値を得られないリスク(まだ重要でないことに集中しながら、重要なことを後回しにすること)と、結局使われない技術に投資するリスク(要件が変わったり、プロジェクトがキャンセルされたりするなど)を負うことになります。

この概念はITに非常によく当てはまります。設計と調達はともに、YAGNIによって大きく影響されるべきです。ストレージは良い例です。明日使うと思うストレージに今日投資しないことです。早期のストレージ投資が悪い理由をたくさん挙げることができます。ビジネスは自社の成長を正確に予測する能力がほとんどまたは全くない、ITはビジネスの成長に基づくストレージの成長を予測するのが苦手、お金の時間的価値として今日ストレージを購入することは明日同じストレージを購入するよりもコストがかかる、などです。予測に基づいて購入するときはいつでもリスクを負います。予測はめったに的中しません。

今日ストレージを過剰購入すると、ストレージコストは時間とともに劇的に低下するため、そのストレージに対してプレミアムを支払うことになります。100%のヘッドルームで購入し、そのヘッドルームを使用するのに3年以上かかる場合、ストレージに対して過剰支払いをしていることになり、後で購入すれば、実際にその時点で必要なものについてより良い洞察(容量だけでなく速度、信頼性、機能なども含めて)、低コスト、より多くの選択肢が得られるのに、より古い技術を入手することになります。

過剰購入は一つのリスクであり、購入不足も別のリスクです。購入不足は明らかにリスクが少ないですが、それでも懸念事項です。3年後のニーズに合わせて今日購入し、2年後に突然需要が急増した場合、ニーズを満たせないプラットフォームまたはテクノロジーに過剰投資してしまった可能性があります。

ストレージは一例ですが、これはソフトウェアライセンス、CPU容量、メモリ、高可用性技術、さらにはデスクトップにまで適用できます。3年後の予測されたヘッドカウント増加に備えてデスクトップを100%過剰購入する会社はほとんどありませんが、奇妙なことに他の分野ではためらいなくそれをしてしまいます。

即時のニーズに必要なものを購入し、購入の決定を後回しにすることで、コスト削減とテクノロジーの改善のための重要な機会があります。場合によっては、将来のニーズが生じないこともあります。予測の失敗、市場や戦略の変化、内部または外部のテクノロジーの方向性の変化によってそうなることがあります。

購入を超えて、YAGNIはネットワーク設計にも適用できます。しばしば年先の予想される成長に基づいた大規模で複雑な設計が提案・実装されますが、現実的な世界では実現する可能性は低いことが多いです。例えば、今日コスト的に正当化されるのは2台のサーバーと優れたバックアッププランだけなのに、将来の会社の成長のために高価なライセンス、複雑なネットワーキング、大量のストレージを備えた複雑な高可用性環境を構築することは危険です。投資を正当化するためには必要な成長が起こらなければならないだけでなく、お金の時間的価値が正当化されるほど迅速に成長しなければならず、最初のシステムが設置されてから2つのシステムを実装する方がコスト的に有効になるほど大規模で複雑なシステムの構築コストが下がってしまうことなく成長しなければなりません。これは、停止措置的な小さいシステムを導入し、必要になったときに大規模なシステムを実装することが、はるかに安くなりうることが驚くほど容易に起こりうることを示しています。悪い予測のリスクを考慮する前からすでにそうなのです。

早期支出にはさらなるリスクがあります。使われていないアーキテクチャに企業の資金を縛り付けてしまいます。その資金はビジネスを成長させるためにビジネスの他の部分に投資できます。極端な場合、インフラへの過剰投資は、会社が完全に失敗する要因になりうります。これは、YAGNI自体を使用しなかったことがYAGNIが最も適用される状況を作り出したという自己実現的な状況です。設計されたソリューションは、会社が失敗したため、全く必要とされませんでした。

YAGNIはリスク軽減プロセスです。予想するニーズではなく、把握しているニーズに基づいて作業することです。

おそらくITショップが今日過剰購入するのは、特定の予算が与えられているからです。ビジネスの気まぐれが彼らに微笑むとき、ITができる限りのテクノロジーを実装しようとするテクノロジー争奪戦になることは理解できます。しかし、これは非常に貧しいビジネス慣行です。ビジネスは、ITが現実世界に基づかないビジネスからの恣意的な予算に基づいて透視能力を前提にシステムを実装することを余儀なくされているため、大きなお金がITで無駄にされていることを認識する必要があります。ITはしばしば非常に不明確な要素に基づいてビジネスに「売り込む」ことができるものを購入することを余儀なくされ、ビジネスはしばしばITに対して非常に恣意的に資金を供給します。これにより、ITはほとんど選択の余地がないために資金を無駄にし、ビジネスは効率的に運営することを許可されていないためにITを無駄と見なすという非常に不健全なビジネスとITの関係が生まれます。

この状況を修正するには、ビジネスとITが協力する必要があります。ITはより事業に精通したユニットとして行動する必要があり、ビジネスはITにガイダンスを求め、予測ベースの予算編成をやめるか、それらの選択の技術的な意味を技術的に理解せずに技術的なアプローチを選ぶことに巻き込まれないようにする必要があります。ITはビジネスが論理的なビジネスの財務的決定を下すことを信頼できなければなりませんし、ビジネスはITがビジネスのための論理的な技術的決定を下すことを信頼できなければなりません。ビジネスはITを推進し、ITはビジネスを可能にします。これは共生関係です。ビジネスがITに予測し固定予算で運営することを主張し続ける限り、ITは予算が承認されないかもしれない明日に向けて準備しようとする中で、可能な限り過剰支出と過剰設計を強いられ続けます。ITが必要なものを要求することを信頼され、ビジネスが適切なタイミングで技術的なニーズに資金を供給することを信頼されれば、両者は共通の善のためにより効果的に運営できます。

まとめ:早期に投資しないこと。明日のテクノロジーやビジネスがどうなるかはわかりません。

タグbusiness investing planning yagni

広告

SMB IT Journal — the IT resource for small business