Cele șase etape ale ciclului de viață al programului sunt cerințele utilizatorilor, analiza problemelor, proiectarea programelor, codarea programelor, testarea programelor și acceptarea acestora. Formularea specifică a acestor pași poate varia. În unele versiuni ale acestui model, acceptarea poate fi denumită implementare.
Primul pas privește determinarea problemelor sau necesităților specifice ale utilizatorului. Acest pas include de obicei brainstorming și cercetare, precum și alte sub-etape, cum ar fi o analiză de fezabilitate. Pasul de analiză a problemei este faza în care sistemul este definit și se dezvoltă procesele software. Pasul de proiectare a programului este faza în care se dezvoltă sistemul fizic.
Codificarea are loc în pasul următor. Sarcinile de codificare specifice pot fi atribuite dezvoltatorilor diferiți prin atribuirea sarcinilor. În a cincea etapă, programul este testat pentru a se asigura că îndeplinește cerințele utilizatorului. În timpul acestui pas, analiștii de calitate testează programul pentru erori. În timpul fazei de acceptare sau implementare, programul este condus de utilizatori. Dacă rulează fără erori, este considerat lansat și programul a fost acceptat.
Acest model este asociat îndeaproape cu o serie de pași menționați ca analiză și proiectare a sistemelor structurate. Acesta este, de asemenea, un proces în șase etape care începe după o cerere de utilizator.