DPF (Detalhar por Funcionalidade): Esse processo, e o processo seguinte, são executados uma vez para cada funcionalidade. Agora, formam-se as equipes de funcionalidades, onde o programador-chefe chama os ”donos” de cada classe para participar da equipe. Dependendo do quão complexa seja a funcionalidade, o programador chefe pode convocar um especialista de negócio para que este conduza um novo Domain Walkthrough (Estudo dirigido sobre o domínio) para a equipe, para não ficar dúvidas a respeito daquela funcionalidade em si. Ainda dependendo do quão claro ficou para o time sua função, pode ser reservado um tempo para ser estudada a documentação de negócio e as anotações relacionadas àquela funcionalidade. E feito então um diagrama de sequência relacionado àquela funcionalidade e é refinado o modelo abrangente, já incluindo métodos e atributos nas classes envolvidas nela. Com essas informações, cada programador cria os prólogos de suas classes, com cabeçalhos de métodos com tipagem de parâmetros, atributos e outros, não fazendo nenhuma implementação ainda. Então, o programador-chefe dessa funcionalidade convida outro membro da equipe para avaliar o desenvolvimento de sua classe durante o processo.
CPF (Construir por Funcionalidade): Este processo também será executado uma vez para cada funcionalidade, como o anterior. São implementadas as classes e métodos de acordo com a visão abrangente e o detalhamento realizado nos processos anteriores. Então, cada desenvolvedor convida um membro de outra equipe para avaliar aquilo que foi desenvolvido em sua classe durante este processo. E após isso os desenvolvedores ficam responsáveis por testar suas classes e métodos e assegurar que as necessidades do negocio sejam alcançadas. E com as classes testadas e funcionando, pode ser então feito o build.