As fases não são idênticas (veja gráfico das baleias) em termos de programação e esforço. Embora isso varie muito de acordo com o projeto, um ciclo de desenvolvimento inicial típico para um projeto de médio tamanho deve prever a seguinte distribuição de esforço e programação:
Esta distribuição pode variar. Por exemplo, ferramentas que gerem código e etapas de teste podem diminuir a fase de construção. Além disso, para um ciclo de evolução ou manutenção, as fases de iniciação e de elaboração seriam consideravelmente menores, já que uma visão e arquitetura básica já estão estabelecidas. São exceções a essa regra os ciclos de evolução, em que ocorre uma redefinição significativa do produto ou da arquitetura.