Per SaaS (software come servizio), quando si utilizza un processo di sviluppo snello o agile con brevi sprint / iterazioni (ad esempio da 1 a 3 settimane), quale approccio produce una migliore qualità: distribuzione / rilascio di funzioni ...
- durante lo sprint in cui sono sviluppati, o
- dopo lo sprint (probabilmente molto più avanti se vengono utilizzate versioni alfa / beta o flag di funzionalità limitata)?
Io chiamo "features" in particolare perché con SaaS, potremmo aver bisogno di rilasciare hot fix in qualsiasi momento, 24/7.
Quali criteri possono aiutare a determinare quale sia la scelta migliore?
Alcuni vantaggi di strawman per la distribuzione (1) durante lo sprint:
- Ottiene l'intero team di sviluppo più focalizzato sulle funzionalità di inserimento fino alla distribuzione
- Un programma leggermente precedente e probabilmente più prevedibile per la consegna ai consumatori a valle (clienti, gestione del prodotto)
- Se hai un "giorno dimostrativo", puoi dimostrare le funzioni implementate
... e per (2) dopo :
- Se il processo di rilascio richiede meno risorse rispetto allo sviluppo e al test, il pipelining in questo modo può portare a un throughput più elevato perché lo sviluppo e il testing possono continuare fino a più tardi nello sprint
- È possibile che il tempo di implementazione preciso possa essere controllato in modo più flessibile, ad es. per rilasci alfa / beta limitati (ma forse diciamo che è "implementato" quando è in alpha / beta), flag di funzionalità (idem all'ultimo commento), comunicazioni di marketing
- Se le risorse di ingegneria di rilascio sono insufficienti (ad esempio a causa di malattia), il rilascio non deve attendere un altro sprint completo, ma può verificarsi invece non appena le risorse sono disponibili (ovviamente, l'alternativa durante non non è assolutamente da escludere)
- Meh, perché no? Dovresti essere in grado di rilasciare SaaS in qualsiasi momento, giusto? (Un po 'di lingua in bocca lì.)