Metodo di sviluppo software che segue un processo lineare e sequenziale, suddiviso in fasi come analisi dei requisiti, progettazione, implementazione, testing e manutenzione. È utilizzato principalmente in progetti web di grandi dimensioni dove le modifiche tardive possono essere costose, poiché ogni fase deve essere completata prima di passare alla successiva.
