Jak wspomniał Michael, zaoferuj standardowe rozwiązanie oparte na wersjach / numerach wydań, z rozsądnie długim okresem użytkowania dla Twojej branży (może być przeplatane z jedną lub kilkoma krótszymi wersjami pośrednimi, jeśli ma to sens dla typowych klientów).
Daj swoim klientom opcję rozpoczęcia tej standardowej ścieżki wydania, być może z odpowiednim terminem migracji.
Jeśli nalegają na w pełni niestandardową strategię wsparcia oddziału, po prostu odpowiednio je obciążaj, aby właściwie pokryć wszystkie dodatkowe koszty związane z oferowaniem takiego w pełni niestandardowego wsparcia - ma to tylko sens biznesowy. Niektórzy klienci przeprowadzą migrację, aby zmniejszyć koszty (co pomoże ci zmniejszyć liczbę niestandardowych oddziałów), inni nie.
Zmienne naliczanie opłat za obsługę, rosnące stopniowo wraz z wiekiem wersji wydań, z których pochodzą niestandardowe oddziały, może również zachęcać klientów do szybszej migracji do nowszych oddziałów, pomagając w szybszym zamykaniu starszych niestandardowych oddziałów. Pomoże to zmniejszyć liczbę niestandardowych oddziałów na klienta - jeśli masz klientów, którzy jednocześnie obsługują wiele wersji oprogramowania.
Upewnij się, że nie wpadniesz w pułapkę wykonywania pełnych połączeń gałęzi z / do którejkolwiek gałęzi wydania (zarówno standardowej, jak i niestandardowej), wszystkie zmiany w nich powinny być albo indywidualnie opracowane, albo wybrane połączone poprawki.
Ponieważ każda z tych gałęzi będzie stopniowo się od siebie różnić, liczba poprawek wymagających dostosowywania / indywidualnego rozwoju będzie rosła wykładniczo (zwykłe łączenie metodą „wybijanie wiśni” zakończy się niepowodzeniem). Musisz wziąć pod uwagę koszty rozwoju tych programów.
Bez (znaczących) połączeń gałęzi na zdjęciu możesz (i powinienem, nie mogę podkreślić jego znaczenia) zbudować w pełni zautomatyzowane rurociągi CI / CD dla tych gałęzi, w połączeniu z dobrym systemem śledzenia / zarządzania poprawkami, który zapewnia dostarczanie poprawek po prostu rutyna (lub prawie).