Esse processo, conhecido como Detalhar por Funcionalidade (DPF), é dedicado a cada funcionalidade do projeto. Um grupo de funcionalidades é designado para desenvolvimento, liderado por um programador-chefe. Este seleciona as atividades a partir de sua "caixa de funcionalidades", podendo escolher várias funcionalidades ligadas às mesmas classes e, opcionalmente, um conjunto de funcionalidades para desenvolver de uma vez, chamado Pacote de Trabalho. Durante este processo, o modelo de dados abrangente definido no primeiro processo (DMA) é atualizado, adicionando informações como tipo de retorno de métodos, tipo de dados, nome dos métodos e outros artefatos de software necessários.