Come menzionato da Michael, offri una soluzione standard basata su versioni / numeri di rilascio, con una durata ragionevolmente lunga per il tuo settore (forse interlacciato con una o più versioni intermedie di durata più breve, se ha senso per i tuoi clienti tipici).
Offri ai tuoi clienti la possibilità di intraprendere questa traccia di rilascio standard, magari con una scadenza decente per la migrazione.
Se insistono su una strategia di supporto delle filiali completamente personalizzata, è sufficiente addebitarli di conseguenza, per coprire correttamente tutti i costi aggiuntivi per offrire tale assistenza completamente personalizzata - ha senso solo dal punto di vista commerciale. Alcuni clienti migreranno per ridurre i loro costi (che ti aiuteranno a ridurre il numero di filiali personalizzate), altri no.
La fatturazione con supporto variabile, che cresce progressivamente con l'età delle versioni di rilascio da cui provengono le filiali personalizzate, può anche essere un incentivo per i clienti a migrare più rapidamente verso le filiali più recenti, aiutando con una chiusura più rapida delle filiali personalizzate più vecchie. Ciò può aiutare a ridurre il numero di filiali personalizzate per cliente, se si dispone di clienti che eseguono simultaneamente più versioni del software.
Assicurati di non cadere nella trappola di eseguire fusioni di filiali complete da / verso una qualsiasi delle filiali di rilascio (sia standard che personalizzate), tutte le modifiche ad esse devono essere sia correzioni unite sviluppate individualmente che selezionate ciliegia.
Poiché ciascuno di questi rami divergerà gradualmente l'uno dall'altro, il numero di hotfix che richiedono personalizzazione / sviluppo individuale crescerà in modo esponenziale (la semplice fusione di ciliegie fallirà). È necessario tenere conto dei costi di sviluppo per questi.
Con nessuna (significativa) succursale nell'immagine puoi (e dovrei, non posso sottolineare abbastanza la sua importanza) costruire pipeline CI / CD completamente automatizzate per queste succursali, accompagnate da un buon sistema di tracciamento / gestione dell'hotfix in atto, rendendo la consegna dell'hotfix solo di routine (o quasi).