Please enable JavaScript.
Coggle requires JavaScript to display documents.
FDD - Feature Driven Development - Coggle Diagram
FDD - Feature Driven Development
Características
Um único programador é responsável pela
funcionalidade desenvolvida
No FDD é incentivado que UM desenvolvedor seja
o único responsável pela funcionalidade que este
desenvolve,
Desenvolvimento por funcionalidades;
Com base na lista de funcionalidades, deve-se
planejar por funcionalidade, mas este
planejamento deve ser incremental.
Fases e Processos
Fases
Concepção e Planejamento:
Pensar um pouco antes
de fazer (tipicamente de 1 a 2 semanas);
Construção:
Fazer de forma iterativa (tipicamente
em iterações de 2 semanas).
Processos
DMA (Desenvolver um Modelo Abrangente) - Análise Orientada por Objetos
É uma fase de brainstorming. Os especialistas no domínio lideram reuniões com a equipe para conversar sobre o escopo e seu contexto. Depois disso, são feitas outras sessões mais detalhadas sobre o domínio do negócio.
CLF (Construir a Lista de Funcionalidades)
Decomposição Funcional
Visa à identificação das principais funcionalidades do projeto. Emprega-se o modelo básico criado no primeiro processo.
PPF (Planejar por Funcionalidade)
Planejamento Incremental
Tem como resultado o plano de desenvolvimento. O gerente de projeto, o gerente de desenvolvimento e os programadores líderes decidem a ordem de desenvolvimento das funcionalidades.
DPF (Detalhar por Funcionalidade)
Desenho (Projeto) Orientado por Objetos
Deve ser realizado para cada pacote de funcionalidades. O resultado é o pacote de desenho, com informações suficientes para implementação
CPF (Construir por Funcionalidade)
Programação e Teste Orientados por Objetos
O resultado visível para o cliente é construído a partir do pacote de trabalho produzido no processo anterior. É também nesta fase que o código desenvolvido passa por testes e pela inspeção.
Papéis
Gerente de projeto
gerencia o projeto como um todo. É o líder administrativo e financeiro do projeto: tem a palavra final no que se trata no escopo, cronograma e recursos do projeto. Providencia o ambiente de trabalho ideal para os desenvolvedores.
Gerente de Desenvolvimento
É o líder nas atividades diárias do desenvolvimento. É responsável por resolver qualquer tipo de conflito que venha a ocorrer dentro da equipe.
Arquiteto-chefe
É responsável pela modelagem do projeto. Deve auxiliar a equipe de desenvolvedores e contribuir na construção do software.
Especialistas do Domínio (negócio).
Pode ser qualquer pessoa que tenha o melhor conhecimento sobre o software em
particular, e pode ajudar as Equipes a entendê-lo. Sua responsabilidade é de adquirir e transmitir informações a respeito do funcionamento dos requisitos do sistema.
Proprietários de código (programadores chefes)
São os responsáveis pela modelagem e desenvolvimento de novas funcionalidades de um software. A principal atividade de um desenvolvedor/programador é a implementação das features definidas ou pelo Gerente de Projetos ou pelo Gerente de Desenvolvimento.
Padrão ETVX
Entrada: especifica e define os critérios de entrada para as etapas.
Tarefa: é composto por uma lista com as tarefas que deverão ser realizadas
Verificação: especifica tipos de avaliações (internas e externas) e inspeções de projeto e código
Saída: especifica os critérios de saída, definindo os produtos tangíveis.