Più persone devono lavorare ad un software che è sottoposto a cambiamento; Più di una versione del software deve essere supportata; Il software deve funzionare su macchine diverse e su sistemi ...