Io faccio parte di un'organizzazione di sviluppo che ha sempre utilizzato i principi Scrum. Abbiamo uno sprint di 3 settimane, al termine del quale produciamo un artefatto software che i nostri clienti installano su premise ea loro discrezione. La maggior parte dei clienti ha scelto di saltare ogni sprint dispari e quindi installa solo ogni 6 settimane.
Ora abbiamo un nuovo cliente di grandi dimensioni, con diverse filiali che, o già, utilizzeranno il nostro software. Ogni filiale ha requisiti leggermente diversi e un programma stretto per la produzione.
Quello che stiamo vedendo da alcuni mesi:
- Il nostro team di sviluppo spende meno del 50% delle attività di backlog
- Le attività quotidiane sono strongmente influenzate da ticket di supporto ad hoc (che possono riguardare difetti, pulizia del database, formazione degli utenti o analisi di cause semplici)
- Ogni settimana costruiamo service pack per le versioni già consegnate. Quindi un difetto è impegnato a padroneggiare, ma poi la ciliegia ha scelto uno o più rami più vecchi.
- Il tempo richiesto per i ticket di supporto e i service pack sopra indicati aumenterà nei prossimi 2 anni, dopodiché si spera che diminuirà di nuovo
- I nostri clienti tendono a non a darci un feedback rapido, abbiamo un ritardo di ciclo di feedback di qualche mese
- Modifica reg. filiali -
Sviluppiamo su origine / master. Ma diciamo che stiamo attualmente sviluppando la versione 5.0.12 e abbiamo una correzione di bug o funzionalità che il cliente desidera urgentemente su 5.0.10. In questo caso selezioniamo le patch su 5.0.10.1 e 5.0.11.1. Non ci sono rami specifici del cliente, ognuno riceve lo stesso software.
- Fine modifica -
Sono abbastanza sicuro che Scrum non è più adatto per questo tipo di lavoro. Non sono abile con DevOps, ma la mia comprensione è che è strongmente basata su una distribuzione rapida e frequente. Se la mia comprensione è corretta, anche questo non andrebbe bene.
Ci sono delle migliori pratiche su come affrontarlo? Dovremmo:
- Dividere il supporto e lo sviluppo e mantenere Scrum per lo sviluppo? (è previsto un team di supporto dedicato)
- Passare a Kanban (ma mantenere il supporto e lo sviluppo ad-hoc misti)?