Già nel 1999 il libro “The Pragmatic Programmer” rispondeva “molta”. E insieme alla metodologia Agile, le pratiche di automazione nella costruzione del software si sono diffuse diventando parte sempre più importante e standard del processo di sviluppo.
In Aton usiamo un server di Continuous Integration che, senza intervento manuale, osserva i sorgenti degli applicativi dei vari progetti. Non appena uno sviluppatore consegna una nuova modifica al codice, la preleva ed esegue la sequenza di verifica e costruzione propria del progetto stesso.
I test automatici, che controllano i dettagli più piccoli del funzionamento del codice, vengono eseguiti e si controlla che tutti siano ancora soddisfatti; i passi necessari per ottenere dal codice sorgente un pacchetto eseguibile vengono eseguiti nel corretto ordine; i risultati intermedi sono pubblicati nell’archivio privato di Aton perché i componenti comuni possano essere condivisi fra tutti i progetti; ed infine, in alcuni progetti avanzati, alcune metriche sul codice sono analizzate per ottenere dei punteggi di qualità che devono mantenersi costanti, o magari migliorare continuamente.
Se qualsiasi intoppo accade in tutta questa sequenza, il server annota il problema e avvisa l’autore, che è invitato a risolvere quanto prima in modo da mantenere il progetto sempre in buona salute. E tutto questo senza che lo sviluppatore debba ricordarsi di farlo, o debba rileggere la guida che spiega come costruire il software: il computer è bravissimo nell’eseguire minuziosamente compiti noiosi, al contrario di noi; e proprio garantire che il software sia costruito sempre nello stesso ben definito modo è noioso ed irto di occasioni di piccoli errori manuali, per un umano.
Con questo metodo l’innovazione del software viene fatta circolare, senza che qualcuno la debba “spingere”: dall’autore ai colleghi e collaboratori, e dai team verso il cliente, con l’obiettivo di cominciare il prima possibile a produrre valore.