Ich wähle derzeit zwischen zwei praktikablen Software-Designs / -Lösungen. Lösung 1 ist einfach zu implementieren, sperrt jedoch einige Daten in einem proprietären Format und kann später nur schwer geändert werden. Lösung 2 ist schwer zu implementieren, lässt sich aber später viel einfacher ändern.
Sollte ich diesbezüglich zu YAGNI gehen oder sollte ich die Ausstiegskosten in die Entscheidungsfindung einbeziehen? Oder anders gefragt: Sind die Ausstiegskosten Teil der Gesamtbetriebskosten?
Ich denke darüber nach, zum Kunden zurückzukehren und zu fragen, ob er die Ausstiegskosten für relevant hält oder nicht, aber ich würde gerne wissen, was die Community zuerst denkt.
PS Sind die Ausstiegskosten der richtige Begriff?
design
architecture
terminology
decisions
dvdvorle
quelle
quelle
Antworten:
Die Exit-Kosten sind Teil der Gesamtbetriebskosten (das T steht für total ), aber es ist schwierig, sie festzulegen, es sei denn, Sie wissen a priori, wie lange das System dauern wird. Mit anderen Worten, wenn Sie wissen, dass das System genau ein Jahr lang verwendet wird und die Stilllegung in einem Jahr 52.000 US-Dollar kostet, können Sie ziemlich sicher sein, 1.000 US-Dollar pro Woche zum Betriebsbudget hinzuzufügen, um es abzudecken.
Dieses Modell geht aus dem Fenster, wenn Sie die Lebensdauer des Systems nicht kennen. Das System könnte theoretisch für immer in Betrieb bleiben, was bedeutet, dass kein Geld für das Herunterfahren ausgegeben wird. Alles, was Sie jetzt berücksichtigen, wird in heutigen Dollars angegeben, und diese Zahlen könnten in fünf Jahren aufgrund von Änderungen der Arbeitsquoten und der Technologie, die den Prozess erleichtern (oder erschweren), bedeutungslos sein.
Am besten geben Sie Ihren Kunden eine Vorstellung davon, was für den Übergang vom System erforderlich ist, und lassen sie dies zu diesem Zeitpunkt bei Entscheidungen über den Austausch berücksichtigen.
(Und jetzt, nachdem ich diese Antwort geschrieben habe, kann ich abstimmen, um dies als nicht zum Thema gehörend zu schließen.)
quelle
YAGNI ist an seiner Stelle eine großartige Regel, aber ich bin mir nicht sicher, ob sie in diesem Fall gelten sollte. Sie Schätzung der künftigen Kosten eine Tätigkeit hier, das sollte eine gewisse Berücksichtigung zukünftiger Anforderungen Änderungen einzubeziehen. Wenn Sie die Implementierung schreiben würden, wäre das eine andere Geschichte!
Ich würde vorschlagen, dass Sie die Kosten berechnen, aber stellen Sie sicher, dass der Kunde versteht, warum Sie dies getan haben. Wenn sie nicht sehr technisch sind, wundern Sie sich nicht, wenn sie etwas sagen: "Es kann keine gute Lösung sein, wenn Sie bereits daran denken, etwas anderes zu verwenden!"
Bei der Erstellung / Präsentation Ihrer Kostenvoranschläge sind möglicherweise einige genauere Aspekte zu berücksichtigen:
quelle
Ausgehend von Ihrem Kommentar zur Situation der Excel-Datei sehe ich Folgendes aus:
Ich glaube, YAGNI gilt für diesen Parsing-Schritt. Stellen Sie sicher, dass Sie das Wissen über die aktuelle Struktur behalten, aber implementieren Sie die Analyse noch nicht.
Darüber hinaus ist die analysierte Datenstruktur möglicherweise nicht so flexibel wie Sie denken. Die Anforderungen könnten sich auch auf das Speichern verschiedener Informationen / Dateien beziehen, was bedeuten würde, dass Sie Ihre Tabellen aktualisieren / erweitern müssen.
quelle
Wenn Sie nicht zu 95% sicher sind, dass es in Zukunft geändert wird - Lösung 1 - YAGNI =)
Sicherlich hängt es von Ihren Kunden ab und von Ihrer Erfahrung, etwas für diesen Kunden zu programmieren .
quelle
Nach meiner Erfahrung dauert es länger, neu erfundene Räder neu zu erfinden, als Sie denken, und externe Räder sind in der Regel leichter auszutauschen. Beide Arten von Rädern sehen nach dem Kauf in der Regel schlechter aus als bei Ihrer Entscheidung.
Wenn Sie wirklich der Meinung sind, dass # 1 einfach zu implementieren ist und sich fragen, wie lange # 2 dauern wird, würde ich mir die Frage anhören. Implementieren Sie jetzt # 1 und denken Sie dabei an das größere Design. Das hilft Ihnen, wenn Sie es später neu erfinden möchten.
Umgekehrt, wenn # 1 nicht mehr so einfach aussieht, wie Sie es gedacht haben, springen Sie zu # 2.
quelle