Please enable JavaScript.
Coggle requires JavaScript to display documents.
Feature Driven Development - FDD - Coggle Diagram
Feature Driven Development - FDD
O FDD é uma abordagem de desenvolvimento de software que visa entregar funcionalidades de valor para o cliente de maneira eficaz e eficiente. A metodologia se concentra em criar e entregar funcionalidades em ciclos curtos e iterativos, o que permite ao cliente ver resultados tangíveis em um curto espaço de tempo
surgiu entre 1997 e 1999 em Singapura, desenvolvido por Peter Coad e Jeff De Luca, sendo publicado no livro "Java Modeling in Color with UML" em 1999
Características
Adequado para projetos iniciais, grandes equipes e projetos com codificação existente
É uma metodologia prática para projetos iniciais, grandes equipes e também para projetos que já possuam alguma base de código existente
O lema do FDD é "Resultados frequentes e funcionais"
Enfatiza a entrega de valor contínua para o cliente
É equilibrado entre filosofias tradicionais e ágeis
O FDD busca uma abordagem equilibrada entre práticas tradicionais de desenvolvimento de software e metodologias ágeis, combinando o melhor de ambos os mundos
Funcionalidades
O objetivo é entregar funcionalidades rapidamente, proporcionando ao cliente a oportunidade de ver resultados tangíveis em um curto período de tempo
Exemplos de funcionalidades podem incluir cálculos de valores, listagens de itens ou qualquer recurso que agregue valor ao sistema.
O FDD se concentra em desenvolver funcionalidades de software que tenham valor para o cliente e possam ser concluídas em duas semanas ou menos
Papéis
Arquiteto-chefe
Responsável pela modelagem do projeto, auxiliando na construção do software
Proprietários de código (Desenvolvedores)
Responsáveis pela implementação das funcionalidades, com o código sendo desenvolvido por um único programador
Gerente de Desenvolvimento
Lidera as atividades diárias de desenvolvimento, resolvendo conflitos e garantindo a produtividade da equipe
Especialistas do Domínio (negócio)
Pessoas com conhecimento específico do domínio do software, que auxiliam a equipe a entender os requisitos do sistema
Gerente de Projeto
É o líder administrativo e financeiro do projeto, tomando decisões sobre escopo, cronograma e recursos
Padrão ETVX
Cada etapa tem suas entradas, tarefas a serem realizadas, critérios de verificação e critérios de saída claramente definidos
O FDD segue o padrão ETVX, que significa Entrada (Entry), Tarefa (Task), Verificação (Verification) e Saída (Exit) em cada etapa do desenvolvimento
Fases e Processos
Concepção e Planejamento: Nesta fase, o foco é na análise de requisitos e na criação de um modelo geral do domínio do sistema. Isso ajuda a definir o escopo e as funcionalidades
Construção: Nesta fase, as funcionalidades são implementadas de forma iterativa e incremental, em iterações de aproximadamente duas semanas
Cada fase é composta por cinco processos distintos:
Construir a Lista de Funcionalidades: Aqui, uma lista de funcionalidades é criada, descrevendo-as e identificando suas áreas de domínio
Desenvolver um Modelo Abrangente: Envolve a análise do sistema e a criação de um modelo geral do domínio
Planejar por Funcionalidade: O planejamento é feito para desenvolver cada funcionalidade, com designação de programadores-chefe para cada parte do projeto
Detalhar por Funcionalidade: Nesta fase, ocorre a modelagem detalhada de cada funcionalidade, incluindo classes, métodos e atributos
Construir por Funcionalidade: Finalmente, a implementação das funcionalidades é realizada, seguida por inspeções de código e testes