Please enable JavaScript.
Coggle requires JavaScript to display documents.
FDD (Feature-driven development) - Coggle Diagram
FDD (Feature-driven development)
Parte 1
Processos
2° Fase
DPF
Detalhar por funcionalidade
Nesta fase, cada funcionalidade é detalhada em tarefas menores, conhecidas como features.
Cada feature é atribuída a um desenvolvedor ou equipe específica, que é responsável por sua implementação.
O detalhamento por funcionalidade também inclui a realização de testes para garantir a qualidade e a integridade do software.
CPF
Construir por Funcionalidade
Nesta fase, os desenvolvedores trabalham em conjunto para garantir que cada feature seja desenvolvida de forma eficiente e que atenda aos requisitos do cliente.
A construção por funcionalidade também envolve a realização de testes para garantir a qualidade e a integridade do software.
Construção
1° Fase
PPF
Planejar por Funcionalidade
A equipe planeja o desenvolvimento do sistema com base na lista de funcionalidades. Este planejamento é incremental, o que significa que a equipe planeja apenas o que será desenvolvido em cada incremento. Isso permite que a equipe se concentre em entregar valor ao usuário final de forma contínua e iterativa.
DMA
Desenvolver um Modelo Abrangente
Nesta fase, os desenvolvedores e stakeholders trabalham juntos para entender o domínio do problema e criar um modelo de domínio que representa as principais características do sistema. Este modelo serve como uma representação visual do sistema e ajuda a equipe a entender melhor os requisitos do sistema.
CLF
Construir a Lista de funcionalidades
A equipe identifica e organiza as funcionalidades do sistema em uma lista. Cada funcionalidade é uma pequena parte de trabalho que contribui para a funcionalidade geral do sistema. A lista de funcionalidades ajuda a equipe a priorizar o trabalho e a entender melhor o escopo do projeto.
Concepção e Planejamento
Parte 2
Diferenças Entre:
FDD e Extreme Programming
O FDD é uma metodologia ágil que foca na entrega de funcionalidades de software em projetos grandes. Já o XP é uma metodologia que prioriza a qualidade do código e a satisfação do cliente, utilizando práticas como programação em par e testes automatizados. A escolha entre elas depende das necessidades do projeto e da equipe.
FDD e RUP
O FDD é uma metodologia ágil que foca na entrega de funcionalidades de software em projetos grandes e bem estruturados. Por outro lado, o RUP é uma metodologia de desenvolvimento iterativa que utiliza conceitos de orientação a objeto e UML, organizando o desenvolvimento em quatro fases: iniciação, elaboração, construção e transição. Ambas têm suas particularidades e a escolha entre elas depende das necessidades específicas do projeto e da equipe.
Padrão ETVX
Entrada (E): Esta fase envolve a coleta e validação dos dados de entrada necessários para a funcionalidade.
Verificação (V): Nesta fase, os dados de entrada são verificados para garantir que estão corretos e completos.
Transformação (T): Aqui, os dados de entrada são transformados para produzir o resultado desejado.
Saída (X): Finalmente, os resultados da transformação são entregues como a saída da funcionalidade.
Vntagens e Desvantagens do FDD
Vantagens
Ideal para trabalhar com equipes grandes em projetos grandes.
Projetos bem estruturados desde a sua primeira fase.
Capacidade de entregar funcionalidades específicas de forma rápida e eficiente.
Promove a colaboração entre as equipes de desenvolvimento e os stakeholders.
Entrega constante de valor ao cliente, através do desenvolvimento incremental de features.
Desvantagens
Pode ser complexo para equipes pequenas ou projetos menores.
Requer uma compreensão clara e detalhada das funcionalidades desde o início.
Pode ser menos flexível para mudanças no meio do projeto.
Pode exigir mais tempo de planejamento e modelagem inicial.
Pode ser desafiador se a equipe não estiver familiarizada com a metodologia.