Sześć etapów cyklu rozwoju programu to wymagania użytkownika, analiza problemu, projekt programu, kodowanie programu, testowanie programu i akceptacja. Specyficzne sformułowania tych kroków mogą się różnić. W niektórych wersjach tego modelu akceptacja może być nazywana implementacją.
Pierwszy krok dotyczy określenia konkretnych problemów lub potrzeb użytkownika. Ten etap zwykle obejmuje burzę mózgów i badania, a także inne podetapy, takie jak analiza wykonalności. Etap analizy problemu jest fazą, w której definiowany jest system i opracowywane są procesy oprogramowania. Etap projektowania programu jest fazą, w której rozwijany jest system fizyczny.
Kodowanie odbywa się w następnym kroku. Określone zadania kodowania mogą być przypisane różnym programistom poprzez przydzielanie zadań. W piątym kroku program jest testowany, aby upewnić się, że spełnia on wymagania użytkownika. Na tym etapie analitycy jakości testują program pod kątem błędów. Podczas fazy akceptacji lub wdrażania program jest uruchamiany przez użytkowników. Jeśli działa bez błędów, jest uważany za uruchomiony i program został zaakceptowany.
Ten model jest ściśle związany z serią kroków nazywanych analizą i projektem systemów strukturalnych. Jest to również sześcioetapowy proces, który rozpoczyna się po żądaniu użytkownika.