Rilascia qualità a intervalli regolari, non rilasciare feature.
Release-based feature è una delle pratiche più diffuse: si rilascia quando le feature sono "pronte".
Per me è un'idea ormai superata.
Si dovrebbero fare schedule-based release.
In cosa consistono?
Le release sono a cadenza fissa, frequenti, nota a priori. Tutto il resto ci si deve adeguare.
Nei progetti, di solito, si hanno:
- Feature
- Qualità
- Schedule (pianificazione)
Di queste se ne possono prendere 2. Di solito, la vittima, è la qualità.
Volendo lasciare fissa la qualità (per ovvi motivi) perché sacrificare le feature? Perché così ti costringi a collaudare e migliorare il tuo processo di release che funziona da "pettine" e mette tutti in riga.
Le feature che non ce la fanno a raggiungere gli standard qualitativi in tempo verranno escluse tramite, ad esempio, feature flag.
In questo modo esercitiamo sempre il ciclo del feedback, costruendo la fiducia coi nostri utenti che vedono piccoli progressi, spesso e che non causano problemi.
Inoltre, in questo modo si evutano dinamiche che allungano le tempistiche di una release che verrà rimandata fino a quando "tutto non è pronto", non stimola il miglioramento dei processi di deployment e crea release grosse e rischiose.