Please enable JavaScript.
Coggle requires JavaScript to display documents.
Processos do FDD, FDD (Feature Driven Development) - Coggle Diagram
Processos do FDD
1ª Fase: Concepção e Planejamento
DMA (Desenvolver um Modelo Abrangente)
Momento de conhecer o sistema;
Análise e avaliação do contexto em que o sitema é inserido;
O profissional estuda os domínio do sistema e desenvolve um modelo geral;
São designadas pequenas equipe para criar uma modelagem superficial para cada área de domínio;
O modelo é criado e revisado por outros membros do projeto, que não fazem da equipe de criação, com o objetivo de ser imparcial na escolha do modelo de domínio de cada área do sistema
No final, os modelos escolhidos são unificados no modelo geral do domínio e é iniciado o projeto
PPF (Planejar por Funcionalidade)
Momento de planejar o desenvolvimento de cada uma das funcionalidade
Cada funcionalidade é designado um programador - chefe, responsáveis por algumas classes ou códigos
Aí é criada as equipes de planejamento, dentro de cada time, cada integrante é encarregado por uma parte do projeto
CLF (Construir a Lista de Funcionalidades)
Fase em que é criado uma lista de ferramentas do sistema, detalhando cada área de domínio de cada uma delas
Fase importante pois as tarefas de funcionalidades, mesmo sendo pequenas, precisa ser implementada ao projeto, gerando valor ao cliente
Os itens de Funcionalidade não devem demorar mais de 2 semanas para serem concluídos, e são ordenados por ordem de prioridade
Caso não conseguir criar a lista, o processo de desenvolvimento sofre atraso, porque a primeira etapa de criação de modelo geral precisa ser refeita. Se não, as fases seguintes do projeto sofrerão com erros e mais atrasos.
2ª Fase: Contrução
DPF (Detalhar por Funcionalidade)
Etapa que é criada uma modelagem com as funcionalidade a serem desenvolvidas
Diferente da Primeira Fase DMA, aqui é o programador chefe que o programador cria a modelagem de acordo com uma funcionalidade específica e divide em classes, métodos e atributos
Quando pronta, a funcionalidade passa por testes da equipe desenvolvedora
CPF (Construir por Funcionalidade)
Após os teste da modelagem, o código passa a ser implementado no sistema
As funcionalidade são incorporadas e podem ser colocadas em prática
Quando o código é efetivado, ele é escrito e essa funcionalidade tem sua conclusão
Faz parte dessa fase:
Implementação de regras de negócio das classes;
Inspeção do código;
Conduçãodos teste unitários;
Lançamento da Funcionalidade
FDD (Feature Driven Development)
Padrão ETVX
Padrão proposto pelos criadores. Como se fosse uma regra que define os momentos em que uma fase foi finalizada e outra pode ser iniciada. Composto de 4 Itens:
E
ntry: Define e especifica os critério de entrada para cada fase
T
ask: Lista e tarefas que devem ser realizadas em cada fase
V
erification: Especifica os tipos de inspeções e avaliações de projetos e código
E
xit: Critéio que determinam que a fase foi concluída
Vantagens x Desvantagens
Vantagens
Ideal para trabalhar com grandes equipes em projetos grandes;
Projetos bem estruturados desde a sua primeira fase;
Permite que várias equipes trabalhem simultaneamente, reduzindo o tempo do projeto;
O processo é altamente documentado, sendo fácil de rastrear
Equipes trabalham com etapas de desenvolvimento com agilidade
Desvantagens
Não funciona bem em equipes menores, já que o FDD demanda execução de muitas tarefas;
Grande produção de documentação escrita nas primeiras fases do projeto;
Projeto fica muito dependente das decisões do programador - chefe
FDD x XP
XP é ideal para projetos para o cliente que não sabe o que quer, já que ele pode mudar de ideia e é possível fazer alterações com agilidade sem prejudicar o plano. Já o FDD é para projetos mais bem definidos, já que suas fases demandam muito requisitos
FDD X RUP
O FDD e o RUP são duas abordagens diferentes para o desenvolvimento de software. Enquanto o FDD é ágil e focado na entrega incremental de funcionalidades, o RUP é mais formal, baseado em modelos e enfatiza a documentação ao longo do ciclo de vida do software. O FDD é mais adaptável e adequado para projetos de médio a grande porte, enquanto o RUP oferece flexibilidade para se adaptar a uma variedade de tamanhos e complexidades de projetos, embora seja mais prescritivo. A escolha entre as duas depende das necessidades específicas do projeto e da equipe de desenvolvimento.