Sollte ich die Ausstiegskosten in die Auswahl einer Lösung einbeziehen?

10

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?

dvdvorle
quelle
Können Sie hinzufügen, warum Sie glauben, dass die erste Lösung die Daten sperrt und später nur schwer zu ändern ist?
Jaap
Sind im Wesentlichen nicht alle Formate proprietär, auch solche, die als "Standard" oder "offen" gelten? Yagni gilt wahrscheinlich, wenn das "proprietäre" Format einfacher zu implementieren, einfach zu verwenden und / oder das defacto-Format für den Austausch ist.
JustinC
Ohne auf Einzelheiten einzugehen; Stellen Sie sich vor, Sie platzieren eine Excel-Tabelle (vom Kunden entworfen) in einem Dokumentenverwaltungssystem (Lösung 1), anstatt die entsprechenden Tabellen und GUIs zu erstellen und die Excel-Tabelle bei Bedarf zu erstellen (Lösung 2). Nur dass es nicht Excel ist.
dvdvorle
Dies schließt jedoch wahrscheinlich nicht aus, diesen Aspekt der Besorgnis bei der Präsentation der Auswahl und Entscheidung dem Projektsponsor zur Kenntnis zu nehmen.
JustinC
@ JustinC Nun, irgendwann reden wir hier über Bargeld. Ist es auf lange Sicht billiger, das "proprietäre" Format zu verwenden oder nicht? Das ist, was ich denke, am wichtigsten für den Projektsponsor
dvdvorle

Antworten:

4

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.)

Blrfl
quelle
Die Alternative zu den Ausstiegskosten, die Teil der Gesamtbetriebskosten dieser Lösung sind, wäre, dass sie Teil der Gesamtbetriebskosten der nächsten Lösung sind. Jetzt weiß ich, dass das seltsam klingt, wenn ich es einfach so sage, aber meiner Erfahrung nach sind die Kosten für die Außerbetriebnahme eines Systems Teil des Projektplans / Budgets des nächsten Systems, nicht des Projektplans / Budgets für das aktuelle System. Ist das sinnvoll?
dvdvorle
1
Das macht für mich Sinn, und das ist so ziemlich die Schlussfolgerung, zu der ich gekommen bin. Sie können nicht wirklich eine tatsächliche Summe finden, bis das Ganze vorbei und erledigt ist.
Blrfl
Ich stimme den Schwierigkeiten zu, die „Ausstiegskosten“ genau abzuschätzen. Ich denke, es ist wertvoll, eine bereitzustellen, selbst wenn sie im heutigen Geld enthalten ist. Vergleichen Sie "das wäre schwierig und zeitaufwändig" und "das würde wahrscheinlich zwischen 25000 und 50000 Dollar kosten, wenn es morgen gemacht würde".
Vaughandroid
@Blrfl, was macht diese Frage zum Thema?
Neontapir
1
@neontapir: Das Fleisch der Frage dreht sich wirklich um Projektmanagement; Die Tatsache, dass es sich um ein Programm handelt, macht es nicht wirklich zum Programmieren. Das Gleiche könnte genauso gut für Telefonschalter oder Pizzaöfen gelten.
Blrfl
2

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:

  • Wie wahrscheinlich ist es, dass die Daten in Zukunft auf ein anderes System migriert werden?
  • Ist es wahrscheinlich, dass der Lösungsanbieter sein eigenes Datenformat ändert, damit die Migration der Daten in Zukunft einfacher / schwieriger wird? Wenn ja, wirkt sich dies auf Ihre Lösung aus?
  • Auch wenn Sie die Daten später nicht ändern möchten , besteht die Möglichkeit, dass Sie sie auf andere Weise präsentieren / darauf zugreifen möchten? Meine Erfahrung ist, dass dies ziemlich häufig ist!
Vaughandroid
quelle
1

Ausgehend von Ihrem Kommentar zur Situation der Excel-Datei sehe ich Folgendes aus:

  • das aktuelle Format nicht ändern (Lösung 1)
  • versus das Format jetzt zu analysieren und es in einem anderen Format zu speichern (möglicherweise / hoffentlich besser geeignet / zukunftsfähig) (Lösung 1 + Analyseschritt, auch bekannt als Lösung 2)

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.

Jaap
quelle
Um klar zu sein, gibt es derzeit keine Lösung (Lösung 0, wenn Sie so wollen). Sie speichern derzeit alle Informationen in Papierdateien. Ich würde dieser Antwort voll und ganz zustimmen, wenn sie bereits die "Excel" -Datei im Dokumentenverwaltungssystem verwenden würden, aber hier gibt es noch eine Auswahl.
dvdvorle
Oder halten Sie das für nicht relevant, weil die Implementierung von Lösung 1 billig ist?
dvdvorle
Mein Punkt ist, dass ich glaube, dass YAGNI gilt, wenn Lösung 2 als Verbesserung von Lösung 1 angesehen werden kann, diese Verbesserung jedoch derzeit nicht unbedingt erforderlich ist.
Jaap
Ich verstehe was du meinst. Es ist etwas zum Nachdenken. Obwohl ich denke, es ist Zeit, jetzt zum Kunden zu gehen, sehen Sie, was er davon hält, dass es eine Verbesserung ist und so weiter.
dvdvorle
0

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 .

MikroDel
quelle
2
Sie sagen also, dass alle Kosten im Zusammenhang mit der 5% igen Wahrscheinlichkeit, dass sich die Lösung ändert, irrelevant sind?
dvdvorle
Ich meine, dass dies eine Art Gefühl ist ... Sie wissen selbst, was "YAGNI" bedeutet - der Rest ist Gefühl =)
MikroDel
0

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.

Übrigens
quelle