Please enable JavaScript.
Coggle requires JavaScript to display documents.
Feature-driven developmen(FDD), image - Coggle Diagram
Feature-driven developmen(FDD)
Quando utilizar?
Projetos Grandes e Complexos
Estruturação do Projeto
Escalabilidade
Visibilidade e Controle
Equipes com Diferentes Especialidades
Trabalho Colaborativo
Divisão de Tarefas
Dependência Reduzida
Necessidade de Entregas Frequentes e Incrementais
Feedback Contínuo
Agilidade em Mudanças
Entrega Contínua de Valor
Ambientes com Requisitos em Constante Mudança
Priorização Eficiente
Minimização de Impacto nas Mudanças
Flexibilidade no Planejamento
Projetos com Fortes Exigências de Documentação
Histórico de Decisões
Facilidade de Manutenção
Documentação Clara e Organizada
Empresas com Foco em Produtos Orientados ao Cliente
Ciclos de Feedback Rápidos
Customização Fácil de Produtos
Atendimento às Necessidades do Cliente
Ambientes Organizacionais com Processos Formais
Processo de Desenvolvimento Estruturado
Controle Rigoroso de Qualidade
:hammer_and_wrench:
Desafios e Ferramentas
:hammer_and_wrench:
:check:
Exemplos de Ferramentas
:hammer:
Github Projects
O que é
integrado ao repositório de código.
:warning: É útil para equipes que buscam uma solução integrada ao controle de versão.
Gerenciador de tarefas e funcionalidades.
Monday.com
O que é
Gerenciador de trabalho
Rastreador de fluxo de trabalho
Trello
O que é
Um gerenciador de tarefas baseado em quadros
Rastreador de funcionalidades e etapas
:question:
Desafios
:red_cross:
Necessidade de um entendimento claro do domínio
É essencial que a equipe possua um sólido entendimento do domínio do problema.
Se os membros da equipe não estiverem familiarizados com o assunto, isso representa um desafio.
Cooperação e comunicação entre equipes
A colaboração próxima entre as equipes de desenvolvimento, design e stakeholders é fundamental.
Dificuldades de comunicação podem causar mal-entendidos e retrabalhos.
Foco em funcionalidades pode negligenciar arquitetura
A entrega rápida de funcionalidades pode resultar em uma arquitetura de software menos robusta.
A falta de equilíbrio pode comprometer a manutenção da estrutura do sistema.
:writing_hand:
Parte Escrita por:
Carlos Eduardo Dias Nunes
https://youtu.be/pzdbmE5fcnM?si=fUjCSw7sWvoPW8AI
Características
Princípios
:desktop_computer:
Valores
:check:
Benefícios
Entrega Rápida e Incrementável :timer_clock:
Melhoria Continua :gear:
Redução de Riscos :warning:
Maior Visibilidade Progresso do Projeto :eyes:
Envolvimento Ativo do Cliente :clipboard:
Adaptabilidade a Mudanças :spiral_note_pad:
Como Funciona
:pencil2:
Papéis :silhouettes:
Gerente de Desenvolvimento :male-technologist::skin-tone-3:
Gerente de Projeto :male-technologist::skin-tone-2:
Programador Chefe :male-technologist::skin-tone-5:
Arquiteto Chefe :male-technologist::skin-tone-4:
Equipe de Desenvolvimento :male-technologist::skin-tone-6:
Proprietário da Funcionalidade :male-technologist::skin-tone-3:
Especialista de Domínio :male-technologist::
Equipe
Arthur Dias
Tiago Rós
Carlos Eduardo
Samuel
Referencias bibliográficas
Medium (FDD) -
https://medium.com/@jrobaski/fdd-feature-driven-development-7d08c5c24c8f
DevMedia (Introdução ao FDD) -
https://www.devmedia.com.br/introducao-ao-fdd-feature-driven-development/27971
Engenharia de Software uma abordagem profissional - por Roger Pressman
:check:Desenvolver um modelo geral do que
será o produto.
:check: Construir/elencar uma lista dos recursos necessários ao produto.
:check:Planejar cada recurso em: 1- sua função, 2- esforço necessário, 3- aceitação do mesmo
:check:Projetar por funcionalidade
:check:Construir por funcionalidade