Ich entwickle eine neue, revolutionäre Webanwendung für den Unternehmensmarkt. Sicher, viele vor mir dachten, dass ihre Webanwendung revolutionär sein würde, nur um herauszufinden, dass sie es nicht ist. (Oder sie ist es, aber das Geschäft läuft trotzdem nicht gut).
Um herauszufinden, ob meine Idee mit den geringsten Kosten durchsetzbar ist, überlege ich, ein extremes YAGNI zu verfolgen:
-
Keine Sicherheitsmerkmale (d. h. keine Benutzer usw.). Für jeden neuen Kunden installiere ich eine neue Datenbankinstanz und eine neue Webapp-Instanz. Jede Webapp-Instanz ist durch ein http-Server-Passwort geschützt (Digest oder Basisautorisierung, vielleicht über https).
-
Keine Internationalisierung. Nur englische Zeichenfolge in den Quellcode eingebettet.
-
Keine Entkopplung. Nur Webseiten, die mit der Datenbank kommunizieren.
-
Keine Leistungstricks. Keine Warteschlangen, Caches, Timer, Hintergrundaufträge, asynchrone Aufrufe usw.
-
Keine Skalierbarkeit. Keine Datenbankpartitionierung, keine Shards, kein Clustering oder Replikation.
-
Verwenden Sie außerdem YAGNI auf der Mikroebene, wann immer es sich anbietet.
Ich möchte einfach nur mit dem Projekt beginnen und so schnell wie möglich einen Punkt erreichen, an dem ich meine innovativen Funktionen mit einer einfachen und ansprechenden Benutzeroberfläche verkaufen (oder zu verkaufen versuchen) kann.
Wenn der Plan scheitert, werde ich es frühzeitig erfahren. Wenn er erfolgreich ist, werde ich sehen, was die Kunden dann wollen. Wollen sie eine französische Version? Oder wollen sie Benutzer und Rollen innerhalb der Organisation?
Ist es das, was die Menschen mit YAGNI meinen, oder ist dies ein pathologisches und übertriebenes Beispiel für YAGNI?