Progettare software come moduli indipendenti e intercambiabili per facilitare la manutenzione e l'espansione.