As seis etapas do ciclo de vida de desenvolvimento do programa são requisitos do usuário, análise de problemas, design do programa, codificação do programa, teste e aceitação do programa. O texto específico dessas etapas pode variar. Em algumas versões deste modelo, a aceitação pode ser referida como implementação.
A primeira etapa diz respeito à determinação dos problemas ou necessidades específicas do usuário. Esta etapa geralmente inclui brainstorming e pesquisa, bem como outros subestágios, como uma análise de viabilidade. A etapa de análise do problema é a fase em que o sistema é definido e os processos de software são desenvolvidos. A etapa de design do programa é a fase em que o sistema físico é desenvolvido.
A codificação ocorre na próxima etapa. Tarefas específicas de codificação podem ser atribuídas a diferentes desenvolvedores por meio da alocação de tarefas. Na quinta etapa, o programa é testado para garantir que atenda aos requisitos do usuário. Durante esta etapa, os analistas de qualidade testam o programa em busca de erros. Durante a fase de aceitação ou implementação, o programa é executado pelos usuários. Se for executado sem erros, é considerado iniciado e o programa foi aceito.
Este modelo está intimamente associado a uma série de etapas conhecidas como análise e design de sistemas estruturados. Este também é um processo de seis etapas que começa após uma solicitação do usuário.