In einer idealen Welt, denke ich, bringen Sie einen neuen Build heraus und überraschen Sie! Nichts verändert sich. Dies liegt daran, dass sich alle Ihre neuen Funktionen hinter Schaltern befinden, die bei ausgeschaltetem Schalter ausgehen.
Nach der Bereitstellung stellen Sie sicher, dass Ihr ausgerollter Dienst weiterhin funktioniert, die Telefone nicht mehr klingeln (es sei denn, das Klingeln ist Ihr Zweck) usw. Sobald Sie zu einem bekannten stabilen Betrieb zurückgekehrt sind, beginnen Sie mit der Aktivierung und Überprüfung Ihre neu bereitgestellten Funktionen.
Nun zu Ihrer Antwort: Wie möchten Sie in einem Team arbeiten, in dem Bereitschaft praktisch ein Kinderspiel ist und unsere Benutzer uns lieben, weil unsere Websites und Dienste absolut stabil sind?
Daran möchte ich arbeiten.
Sie können hier aufhören zu lesen, wenn Sie möchten.
Wenn Sie alles hinter einen Funktionsschalter stellen, kann dies überall zu Spaghetti-Code führen. Wenn Sie IoC verwenden und in der Lage sind, zwischen vNow / vNext / vPrevious zu wählen, kommt es darauf an, Ihre Konfiguration beizubehalten. Ja, mehr Check-Ins, ja, mehr Klassen (KomponenteV1, KomponenteV2, KomponenteV3 usw.), aber Sie haben tatsächlich ein stabileres System? Wie? vWeiter ist Wonky? Wechseln Sie mit Ihrem Kontrollturm zurück zu vNow. Schon eine Woche und vNow hat einen subtilen Fehler? Das Gleiche gilt - kehren Sie genauso einfach zu vPrevious zurück.
Kein Ärger, keine Sorgen, kein Schlafverlust, kein Stress.
Das ist kein Wunschtraum. Ich habe dort gearbeitet. Ich wünschte, ich könnte dies an mein aktuelles Team verkaufen.