lunedì 9 luglio 2012

Automatizzazione dei processi che vengono coinvolti nella fase di rilascio di un'applicazione... quello che Jez Humble chiama "l'ultimo miglio", una fase spesso trascurata perché all'inizio di un progetto si è concentrati sul prodotto, ma che diventa sempre più complessa con il crescere dell'applicazione, fino a quando rilasciare diventa una fase critica, pressoché fatta manualmente e quindi soggetta ad errori, dimenticanze, poco o per niente standardizzata o ottimizzata, che richiede lunghi periodi e parecchio stress... rischiando di diventare un "collo di bottiglia" decisivo nella buona riuscita di un rilascio e quindi nella percezione che il cliente finale ha del prodotto.

Per contro cambiare certe modalità operative richiede tempo e risorse direttamente proporzionali alla complessità del prodotto e alla mancata attenzione che questa fase ha subito nel tempo, potrebbe richiedere cambiamenti nelle modalità di sviluppo ormai consolidate e per questo viene vista come un argomento scomodo da molti project manager poco lungimiranti. 

La regola è quella che indica Jez Humble in Four Principles of Low-Risk Software Releases: "The rule is that you never change existing objects all at once. Instead, divide the changes into reversible steps".

Automatizzare non vuol dire solo far fare tutto alla macchina, ma anche avere il controllo su quello che la macchina sta facendo, sullo stato del sistema in qualsiasi momento e la possibilità di ripristinare la situazione d'origine se necessario.