Le sei fasi del ciclo di vita dello sviluppo del programma sono requisiti dell'utente, analisi del problema, progettazione del programma, codifica del programma, test del programma e accettazione. La dicitura specifica di questi passaggi può variare. In alcune versioni di questo modello, l'accettazione può essere definita implementazione.
Il primo passo riguarda la determinazione dei problemi specifici o delle esigenze dell'utente. Questo passaggio di solito include il brainstorming e la ricerca, così come altre sotto-fasi, come un'analisi di fattibilità. La fase di analisi del problema è la fase in cui viene definito il sistema e vengono sviluppati i processi software. La fase di progettazione del programma è la fase in cui il sistema fisico è stato sviluppato.
La codifica avviene nel passaggio successivo. Attività di codifica specifiche possono essere assegnate a diversi sviluppatori tramite l'assegnazione delle attività. Nella quinta fase, il programma viene testato per garantire che soddisfi i requisiti dell'utente. Durante questo passaggio, gli analisti di qualità testano il programma per gli errori. Durante la fase di accettazione o implementazione, il programma viene eseguito dagli utenti. Se viene eseguito senza errori, viene considerato avviato e il programma è stato accettato.
Questo modello è strettamente associato a una serie di passaggi denominati analisi e progettazione di sistemi strutturati. Questo è anche un processo in sei fasi che inizia dopo una richiesta dell'utente.