You Aren’t Gonna Need It
Ich habe das Glück, in der IT zu arbeiten, komme aber aus dem Bereich der Softwareentwicklung, was mir eine etwas andere Sicht auf die Welt der IT verschafft – sowohl im Verständnis dessen, was hinter den Kulissen bei Release-Zyklen und Funktionen geschieht, als auch in der Anwendung des in jener Branche gewonnenen Wissens auf diese hier.
In der Softwareentwicklungsgemeinschaft hat sich in den vergangenen Jahren das Konzept „You Aren't Gonna Need It“ oder YAGNI zu einem beliebten entwickelt. YAGNI entstand aus der Extreme-Programming-(XP)-Gruppe der Agile-Entwickler und wird als folgende Regel formuliert: „Implementiere Dinge stets dann, wenn du sie tatsächlich benötigst, niemals dann, wenn du lediglich vorhersiehst, dass du sie benötigen wirst.“
Ich formuliere YAGNI in der Entwicklung gerne um zu: „Investiere nicht in etwas, bevor du weißt, dass du es benötigst.“ Doch das Konzept ist dasselbe – wenn du Zeit und Geld in den Aufbau von Teilen steckst, von denen du nicht sicher bist, dass du sie jemals benötigen wirst, gehst du Risiken ein, etwa dass du nicht so früh wie möglich Wert erzielst (indem du dich auf die Dinge konzentrierst, die noch keine Rolle spielen, während du die vernachlässigst, die es tun) und in Technik investierst, die niemals zum Einsatz kommen wird (weil sich Anforderungen ändern, das Projekt eingestellt wird usw.).
Dieses Konzept lässt sich äußerst gut auf die IT übertragen. Sowohl Konzeption als auch Beschaffung werden stark von YAGNI beeinflusst, oder sollten es zumindest. Speicher ist ein hervorragendes Beispiel. Investiere heute nicht in Speicher, von dem du glaubst, dass du ihn morgen nutzen wirst. Wir können viele Gründe dafür aufzählen, warum eine frühe Speicherinvestition schlecht ist: Das Unternehmen hat wenig bis gar keine Fähigkeit, sein eigenes Wachstum genau vorherzusagen, die IT ist schlecht darin, das Speicherwachstum auf Grundlage des Unternehmenswachstums vorherzusagen, der Zeitwert des Geldes, und der Kauf von Speicher heute ist teurer als der Kauf desselben Speichers morgen. Immer wenn wir auf Grundlage von Vorhersagen kaufen, gehen wir ein Risiko ein. Vorhersagen treffen selten ein.
Wenn wir heute zu viel Speicher kaufen, zahlen wir einen Aufpreis für diesen Speicher, denn Speicherkosten sinken im Laufe der Zeit dramatisch. Wenn wir mit 100 % Reserve kaufen und es drei Jahre oder länger dauert, bis wir diese Reserve nutzen, zahlen wir zu viel für den Speicher und erhalten ältere Technik – während ein späterer Kauf uns einen besseren Einblick in das geben würde, was wir zu jenem Zeitpunkt tatsächlich benötigen (nicht nur Kapazität, sondern auch Geschwindigkeit, Zuverlässigkeit, Funktionen usw.), zu geringeren Kosten und mit mehr Optionen.
Überkaufen ist das eine Risiko, Unterkaufen das andere. Unterkaufen ist offensichtlich ein geringeres Risiko, aber dennoch ein Anliegen. Wenn du heute für einen Bedarf in drei Jahren kaufst und nach zwei Jahren plötzlich einen sprunghaften Bedarf hast, hast du womöglich zu viel in eine Plattform oder Technik investiert, die deine Anforderungen nicht erfüllen kann.
Speicher ist ein Beispiel, doch dies kann überall gelten, von Softwarelizenzen über CPU-Kapazität, Speicher, Hochverfügbarkeitstechniken bis hin sogar zu Desktops. Nur wenige Betriebe würden Desktops um hundert Prozent überkaufen, nur um auf eine für in drei Jahren vorhergesagte Personalaufstockung vorbereitet zu sein, doch seltsamerweise zögern sie nicht, genau dies an anderer Stelle zu tun.
Indem man das für den unmittelbaren Bedarf Erforderliche kauft und Beschaffungsentscheidungen bis später zurückhält, ergibt sich eine bedeutende Gelegenheit für Kosteneinsparungen und technische Verbesserungen. In manchen Fällen mag es sein, dass der künftige Bedarf niemals entsteht, sei es aufgrund schlechter Vorhersagen, Veränderungen im Markt oder in der Strategie oder einer Änderung der technologischen Ausrichtung, sei es intern oder extern.
Über die Beschaffung hinaus kann YAGNI auf das Netzwerkdesign angewendet werden. Es ist nicht ungewöhnlich, dass große, komplexe Designs auf Grundlage erwarteten Wachstums vorgeschlagen und umgesetzt werden, das oft Jahre entfernt und, ehrlich gesagt, in einer realistischen Welt selten sehr wahrscheinlich ist. Beispielsweise eine komplexe Hochverfügbarkeitsumgebung mit teurer Lizenzierung, komplexem Netzwerk und viel Speicher für ein erwartetes künftiges Unternehmenswachstum aufzubauen, obwohl heute lediglich zwei Server und ein guter Backup-Plan kostentechnisch gerechtfertigt sind, ist gefährlich. Nicht nur muss das notwendige Wachstum eintreten, um die IT-Ausgaben zu rechtfertigen, sondern es muss so schnell eintreten, dass der Zeitwert des Geldes gerechtfertigt ist und die Kosten der Technik nicht so stark sinken, dass die Umsetzung zweier Systeme kosteneffektiver gewesen wäre. Es ist überraschend, wie leicht es geschehen kann, dass das Einrichten eines kleineren Übergangssystems und das anschließende Umsetzen eines größer skalierten Systems bei Bedarf weitaus günstiger sein kann, einfach weil die Kosten für den Bau des größeren, komplexeren Systems seit der Einrichtung des ersten Systems so stark gesunken sind – und das, noch bevor das Risiko schlechter Vorhersagen berücksichtigt wird.
Frühes Ausgeben birgt ein zusätzliches Risiko – es bindet Unternehmensfinanzen in ungenutzter Architektur. Dieses Geld könnte in andere Teile des Unternehmens investiert werden, um das Unternehmen wachsen zu lassen. In extremen Fällen könnte eine Überinvestition in Infrastruktur dazu beitragen, dass ein Unternehmen vollständig scheitert – eine sich selbst erfüllende Situation, in der die Nichtanwendung von YAGNI an und für sich jene Situation geschaffen hat, in der YAGNI am ehesten zutraf. Die ausgearbeitete Lösung wurde nie benötigt, da das Unternehmen scheiterte.
YAGNI ist ein Prozess zur Risikominderung. Das Arbeiten mit den Bedürfnissen, die man kennt, statt mit den Bedürfnissen, die man erwartet.
Vielleicht kaufen IT-Betriebe heute zu viel, weil ihnen bestimmte Budgets zugewiesen werden. Es ist verständlich, dass die IT in einer Technologie-Raffgier endet und zu implementieren versucht, was immer sie kann, wenn die Launen des Unternehmens ihr wohlgesonnen sind. Dies ist jedoch eine äußerst schlechte Geschäftspraxis. Unternehmen müssen erkennen, dass große Geldsummen für IT verschwendet werden, weil die IT gezwungen ist, Systeme unter der Annahme von Hellseherei umzusetzen, basierend auf willkürlichen Budgets des Unternehmens ohne jeglichen Bezug zur realen Welt. Die IT steckt fest und kauft, was sie dem Unternehmen auf Grundlage oft sehr unklarer Faktoren „verkaufen“ kann, und das Unternehmen finanziert die IT oft recht willkürlich. Dies schafft eine sehr ungesunde Beziehung zwischen Unternehmen und IT, in der die IT Geld verschwendet, weil sie kaum eine Wahl hat, und das Unternehmen die IT als Verschwendung ansieht, weil es ihr nicht gestattet ist, effizient zu arbeiten.
Um diese Situation zu beheben, müssen Unternehmen und IT zusammenarbeiten. Die IT muss mehr wie eine geschäftlich versierte Einheit agieren, und das Unternehmen muss sich für Orientierung auf die IT stützen und darf weder eine vorhersagebasierte Budgetierung einsetzen noch sich in die Wahl technologischer Ansätze verstricken, ohne das technische Verständnis für die Konsequenzen dieser Entscheidungen zu besitzen. Die IT muss dem Unternehmen darin vertrauen können, logische geschäftliche Finanzentscheidungen zu treffen, und das Unternehmen muss der IT darin vertrauen können, logische technologische Entscheidungen für das Unternehmen zu treffen. Das Unternehmen treibt die IT an, die IT befähigt das Unternehmen. Es ist eine symbiotische Beziehung. Wenn das Unternehmen darauf besteht, dass die IT Vorhersagen trifft und mit festen Budgets arbeitet, wird die IT weiterhin gezwungen sein, wann immer möglich zu viel auszugeben und zu viel zu architektonisieren, in der Hoffnung, für morgen gerüstet zu sein, wenn das Budget möglicherweise nicht genehmigt wird. Würde man der IT zutrauen, das Erforderliche anzufordern, und dem Unternehmen zutrauen, technologische Bedürfnisse zum geeigneten Zeitpunkt zu finanzieren, könnten beide zum gemeinsamen Wohl effektiver arbeiten.
Fazit: Investiere nicht frühzeitig, du weißt nicht, was die Technik oder das Unternehmen morgen tun wird.
