Abbiamo un team di circa 40 ingegneri che lavorano su una grande piattaforma SaaS. Come con qualsiasi organizzazione, abbiamo un enorme arretrato di cose che vogliamo consegnare dalla nostra roadmap. Ma naturalmente, abbiamo anche un arretrato di bug, di tutte le priorità, nonché occasionali incidenti di produzione a cui reagire.
Siamo a conoscenza di alcuni modelli di attività di supporto / manutenzione, ma non siamo sicuri di quale sia la soluzione giusta (sia assiomaticamente che semplicemente "giusta" per noi).
I modelli di cui siamo a conoscenza sono:
-
Proprietà totale: ciascun team di scrum autonomo si occupa di bug e incidenti relativi alle aree dell'applicazione che possiedono. Questo teoricamente va fino al risveglio notturno se il team di sysadmin non riesce a capire cosa sta succedendo.
-
Team di supporto dedicato: un team di sviluppatori di manutenzione che sono gli unici responsabili della pulizia del backlog degli errori, della scrittura di hotfix per gli incidenti di produzione, ecc. Ciò lascia altri sviluppatori liberi di concentrarsi sul lavoro di roadmap.
-
Rotating team di supporto: ogni team di mischia esegue uno spostamento di diversi sprint in cui assumono compiti di manutenzione come descritto sopra; ma non in modo permanente.
Al momento stiamo andando con il modello di "proprietà totale", ma i PO / PM si lamentano, con qualche giustificazione, che la velocità di sprint viene talvolta influenzata negativamente quando devono essere affrontati i bug più grandi del previsto.
Oltre a scrivere un sistema privo di bug senza incidenti, come fanno le altre organizzazioni ad affrontare questo problema?