Che ne dite di una build ogni ora?

La maggior parte di noi non lavora su progetti giganteschi ma chi ci ha lavorato assicura che compilare un sorgente il più frequentemente possibile porta molti vantaggi.

  • Minimizza i rischi di integrazione: uno dei più grandi problemi di un progetto in team è il merge dei sorgenti quando le persone hanno lavorato troppo a lungo in maniera separata. Sforzarsi ogni giorno di creare una build ed eseguire degli smoke test aiuta a contenere gli errori di integrazione;
  • Riduce il rischio di scarsa qualità: eseguendo dei semplici test sparsi per il programma si previene l’insorgere di grossi problemi legati alla qualità;
  • Rende facile l’analisi dei difetti: se la build del giorno n-esimo si rompe, è facile risalire al problema confrontando le differenze da quella del giorno precedente;
  • Migliora il morale: vedere un prodotto che funziona, anche se fa poco, aiuta a mantenere alto il morale del team.

Secondo Martin Fowler integrare frequentemente i sorgenti porta cambiamenti anche nel modo di approcciarsi al proprio lavoro da parte dello sviluppatore:

Frequent commits encourage developers to break down their work into small chunks of a few hours each. This helps track progress and provides a sense of progress. Often people initially feel they can’t do something meaningful in just a few hours, but we’ve found that mentoring and practice helps them learn.

In questo modo si tende ad approcciare il proprio lavoro in maniera incrementale, in piccoli step che ogni giorno aggiungono qualcosa (anche se poco) e ci si assicura che quei progressi si integrano correttamente con quegli degli altri.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s