it-swarm.com.de

Wie kann verhindert werden, dass der CI / CD-Prozess angehalten wird, während große Änderungen vorgenommen werden?

Dies ist eher ein Verfahren und vielleicht ein philosophisches Problem.

Das Entwicklungsteam, in dem ich bin, ist in Scrum-Teams oder Squads unterteilt, die an demselben Produkt arbeiten. Gelegentlich musste einer dieser Trupps etwas „Großes“ in Angriff nehmen, z. B. eine Überarbeitung einer Kernfunktion oder -komponente, ein Datenbank-Upgrade usw.

Der derzeitige Ansatz des Teams besteht darin, die aktuelle Version zu sperren und nur die Arbeit für diesen Kader für den nächtlichen Build zusammenzuführen. Andere Mannschaften verfolgen weiterhin ihre Sprintziele, dürfen jedoch die Tickets nicht in den nächtlichen Build einbinden, wodurch die Qualifikation der Tickets verhindert wird. Im Wesentlichen ist jede andere Arbeit bis auf die "große" Änderung blockiert.

Welche Möglichkeiten haben wir, um die Situation effizienter zu handhaben oder zumindest zu bewältigen? Es könnte auch erwähnenswert sein, dass die Trupps geografisch voneinander getrennt sind.

6
redflour

Dies ist genau das Problem, das Hewlett Packard hatte, als sie ihre Lösung neu entwickelten. Sie können darüber lesen in diesem Buch ( Kurzversion ).

Grundsätzlich sollten Sie Ihren Übergang so gestalten, dass sowohl die alte als auch die neue Version während der Transformation nebeneinander existieren können. Das Problem dabei ist, dass es die Dinge komplizierter macht und mehr Aufwand erfordert. Und wenn häufig Architektur vorhanden sein muss, um einen solchen schrittweisen Übergang zu ermöglichen. Aber es ist öfter möglich, als Entwickler und Architekten zugeben wollen.

Es ist wirklich der Kern von Agilität, große architektonische Veränderungen in eine Kette kleiner, schrittweiser Veränderungen umzuwandeln, und ich würde sagen, Ingenieurwesen, Fähigkeiten. Sie sollten sie nur daran erinnern, dass es Ihnen gut geht, wenn die Kosten für einen weicheren und allmählicheren Übergang möglicherweise steigen.

Es ist schwierig, Ihnen eine spezifische Antwort zu geben, da unterschiedliche Änderungen unterschiedliche Ansätze und Lösungen erfordern, um sie schrittweise zu gestalten. Oft ist es gleichzeitig der Fall, sowohl die alte als auch die neue Version gleichzeitig zu haben. In diesen Szenarien wird häufig auch Abwärtskompatibilität festgestellt. Feature-Flags sind ebenfalls eine gute Idee.

Verbunden :

6
Euphoric