SlideShare uma empresa Scribd logo
FDD - Feature Driven Development
FDD - Feature Driven Development
O FDD foi criado em 1997 num grande projeto em Java para o
United Overseas Bank, em Cingapura.
Nasceu a partir da experiência de análise e modelagem
orientadas por objetos de Peter Coad e de gerenciamento de
projetos por Jeff de Luca.
Foi inicialmente publicada em 1999, no
capítulo 6 do livro “Java Modeling in Color with UML”, de Peter
Coad, Eric Lefebvre e Jeff de Luca.
FDD - Feature Driven Development
Jeff de Luca
Peter Coad
FDD - Feature Driven Development
O que e FDD
Feature Driven Development (Desenvolvimento Guiado
por Funcionalidades)
È uma das seis metodologias ágeis originais,
cujos representantes redigiram o Manifesto Ágil para
Desenvolvimento de Software, em 2001.
O representante doFDD foi Jon Kern, que trabalhava na
TogetherSoft, substituindo Peter Coad quem foi o
desenvolvedor da metodologia juntamente com Jeff de
Luca.
FDD - Feature Driven Development
A FDD é uma metodologia ágil para gerenciamento e
desenvolvimento de Software, com foco na entrega frequente de
“software funcionando” para os clientes e na utilização de boas
práticas durante o ciclo de seu desenvolvimento.
Ela combina as melhores práticas do gerenciamento ágil de
projetos com uma abordagem completa para Engenharia de
Software orientada a objetos.
FDD - Feature Driven Development
• Com relação às outras metodologias de desenvolvimento de
software, esta numa posição intermediária entre as abordagens
mais prescritivas (Processo Unificado, Cascata tradicional -
Waterfall) e as abordagens Ágeis (XP - Programação Extrema, Scrum,
Crystal, etc.).
• Oferece um conjunto de princípios e práticas tanto para a Gestão de
Projetos e para a Engenharia de Software, convive bem com
abordagens mais especialistas, como Scrum.
• Apesar de algumas divergências com a XP, várias práticas propostas
pelo XP são utilizadas por equipes usando FDD, como os testes
unitários, refatoração, programação em pares, integração contínua,
entre outras. Apenas a ênfase na FDD é que não é tão grande
quanto na XP. A FDD também propõe práticas como inspeção formal
(de desenho e de código) e posse individual/situacional de
código/classe, que podem contrastar com algumas das práticas
fundamentais da XP.
O que são Features
Features são funcionalidade para o detalhamento
e uma característica pequena para ser implementada, no máximo em um
iteração, oferecendo assim o valor ao cliente
<ação><resultado><objeto>
<action><result><object>
Exemplo:
Calcular o total de uma venda.
ação resultado objeto
FDD - Feature Driven Development
• Os papéis principais são:
• Gerente de Projeto, Arquiteto Chefe, Gerente de
Desenvolvimento, Programador Chefe, Proprietário de Classe
e Especialista de Domínio.
• Os papéis de apoio são:
• Gerente de Domínio, Gerente de Versão, Especialista (Guru)
da Linguagem, Coordenador de Construção, Ferramenteiro
(toolsmith) e Administrador de Sistema.
• Os papéis adicionais são:
• Testador, Desenvolvedores e Escritor Técnico.
FDD - Feature Driven Development
Padrões do FDD
Segundo Jeff de Luca todas as fases do FDD devem seguir o
padrão “ETVX”:
• Entry – Entrada: define e especifica critérios de entrada para
as fases do FDD;
• Task – Tarefa: é composto por uma lista de tarefas a ser
realizada a cada uma das fases;
• Verification – Verificação: especifica tipos de avaliações e
inspeções de projeto e códigos “testes”;
• Exit – Saída: especifica os critérios de saída ou seja os critérios de
“pronto” da fase;
FDD - Feature Driven Development
Caracteristicas
A FDD chama a atenção por algumas características peculiares:
• .Fornece a estrutura suficiente para equipes maiores.
• Modelagem Orientada a Objetos do Domínio
• Desenvolvimento por funcionalidade
• Resultados úteis a cada duas semanas ou menos
• Blocos bem pequenos de funcionalidade valorizada pelo
cliente, chamados "Features"
• Planejamento detalhado e guia para medição
• Rastreabilidade e relatórios com incrível precisão
• Classe proprietária, ou seja, a unidade é feita individualmente,
evitando-se assim conflitos na equipe;
• Monitoramento detalhado dentro do projeto, com resumos de
alto nível para clientes e gerentes, tudo em termos de negócio
• Inspeção é realizada constantemente para garantir a boa
qualidade do código e do projeto
• Gerenciamento de configuração
• Integração contínua para demonstrar constantemente as
funcionalidades ao cliente e
• Visibilidade de progressos e resultados.
FDD - Feature Driven Development
A FDD é uma metodologia muito objetiva que possui duas
etapas e essas podem ser divididas cinco fases :
FDD - Feature Driven Development
Etapas
• Concepção e Planejamento: Pensar no modelo,
criar uma lista de características e planejar através
delas. Essa fase é executada apenas uma vez e dura
de uma a duas semanas.
• Construção: Desenvolvimento iterativo e incremental
durante um período de tempo de no máximo 2 semanas.
FDD - Feature Driven Development
Fases
A FDD é dividida em cinco processos principais bem definidos e
integrados:
• DMA - Desenvolver um Modelo Abrangente
(Critérios de entrada, Atividades, Verificação , Critérios de saída)
Estudos detalhados sobre o domínio do negocio para as partes do produto a
serem modeladas, podendo ser em forma de análise de requisitos, orientado
por objetos e outras técnicas.
• CLF - Construir a Lista de Funcionalidades
(Critérios de entrada, Atividades, Verificação , Critérios de saída)
Pode ser chamado de product backlog, consiste na decomposição funcional do
domínio, em áreas de negocio, atividades de negocio e funcionalidades.
FDD - Feature Driven Development
• PPF - Planejar por Funcionalidade
(Critérios de entrada Atividades Verificação Critérios de saída)
Planejamento, ordenação e estimativa das atividades a serem implementadas
baseando-se em fatores como carga de trabalho da equipe e complexidade.
• DPF - Detalhar por Funcionalidade
(Critérios de entrada Atividades Verificação Critérios de saída)
Dentro de uma iteração ocorre o detalhamento dos requisitos e outros artefatos
refinando os modelos de objetos com a definição de padrões e esqueletos de
código.
• CPF - Construir por Funcionalidade
(Critérios de entrada Atividades Verificação Critérios de saída)
È realizado o desenvolvimento e em seguida ocorre a realização dos testes. Após
ocorre a junção das funcionalidades para preparar o produto de entrega funcional.
FDD - Feature Driven Development
O que o FDD pode proporcionar?
• Inovação continua
• Adaptabilidade do produto
• Cronogramas reduzidos de entrega
• Adaptabilidade das pessoas e processos e
• Resultados confiáveis
FDD - Feature Driven Development
FDD - Feature Driven Development
O FDD possui um processo bem simples de ser
compreendido, é possível notar. O processo começa com a
modelagem abrangente seguido pela construção da lista de
features ou funcionalidades e seu planejamento, após esses
processos é iniciada a fase de construção que está divida em
dois processos, detalhar por funcionalidade e construir por
funcionalidade, sendo que essa fase é executada para cada
funcionalidade. A fase de concepção e planejamento é
executada uma vez para todo o projeto, já a fase de
construção é realizada para cada funcionalidade.
FDD - Feature Driven Development
Vantagens
• Recomendado para qualquer tipo de desenvolvimento
• Foco em característica de valor para o cliente
• FDD prioriza aquilo que o cliente prioriza
• Possui requisitos mais formais
FDD - Feature Driven Development
Desvantagens
• Questionamento sobre a eficácia, aplicabilidade FDD
O caso inicial de aplicação de FDD foi no desenvolvimento de uma aplicação
bancária. Entretanto, relatos confiáveis de uso bem-sucedido ainda não são
encontráveis, questionando a eficácia/aplicabilidade de FDD.
• Escalabilidade do time
Controvérsias sobre o tamanho mínimo de um time FDD;
• Manutenção
Ainda que FDD pressuponha um ciclo completo de documentação, a
especificação original da metodologia não comenta sobre sua aplicabilidade
à manutenção de sistemas.
Anúncio

Mais conteúdo relacionado

Mais procurados (20)

Gerenciamento de projetos - Iniciação
Gerenciamento de projetos - IniciaçãoGerenciamento de projetos - Iniciação
Gerenciamento de projetos - Iniciação
Paulo Junior
 
Aula04 - EAP e Cronograma
Aula04 - EAP e CronogramaAula04 - EAP e Cronograma
Aula04 - EAP e Cronograma
Daniela Brauner
 
FDD
FDDFDD
FDD
Laura Capurro
 
Padrões de Projeto
Padrões de ProjetoPadrões de Projeto
Padrões de Projeto
Vagner Santana
 
Feature Driven Development (FDD)
Feature Driven Development (FDD)Feature Driven Development (FDD)
Feature Driven Development (FDD)
Vitor Pacheco
 
Teste de software
Teste de softwareTeste de software
Teste de software
COTIC-PROEG (UFPA)
 
Teste de Software - Introdução
Teste de Software - IntroduçãoTeste de Software - Introdução
Teste de Software - Introdução
Joeldson Costa Damasceno
 
Gerenciamento de tempo em projetos
Gerenciamento de tempo em projetosGerenciamento de tempo em projetos
Gerenciamento de tempo em projetos
Sandro H. Oliveira, MBA
 
Comparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisComparativo entre Processos Ágeis
Comparativo entre Processos Ágeis
Daniel Ferreira
 
Gerenciamento de escopo em projetos
Gerenciamento de escopo em projetosGerenciamento de escopo em projetos
Gerenciamento de escopo em projetos
Paulo Junior
 
Modelo V - Desenvolvimento de Software
Modelo V - Desenvolvimento de SoftwareModelo V - Desenvolvimento de Software
Modelo V - Desenvolvimento de Software
Bruno Bitencourt Luiz
 
Gestão de Serviços de TI com a ITIL. Uma introdução
Gestão de Serviços de TI com a ITIL. Uma introduçãoGestão de Serviços de TI com a ITIL. Uma introdução
Gestão de Serviços de TI com a ITIL. Uma introdução
Rildo (@rildosan) Santos
 
Gerenciamento de projetos aula 4 (escopo)
Gerenciamento de projetos   aula 4 (escopo)Gerenciamento de projetos   aula 4 (escopo)
Gerenciamento de projetos aula 4 (escopo)
Paulo Junior
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
licardino
 
Metodologia agil scrum
Metodologia agil scrumMetodologia agil scrum
Metodologia agil scrum
Pablo Juan ஃ
 
Kanban
KanbanKanban
Kanban
André Faria Gomes
 
Apresentacao Pmbok
Apresentacao PmbokApresentacao Pmbok
Apresentacao Pmbok
Luiz Neto
 
Requisitos Ágeis
Requisitos ÁgeisRequisitos Ágeis
Requisitos Ágeis
André Faria Gomes
 
PMBOK
PMBOKPMBOK
PMBOK
Marcelo Coutinho
 
Análise e Modelagem de Software
Análise e Modelagem de SoftwareAnálise e Modelagem de Software
Análise e Modelagem de Software
Marcelo Yamaguti
 
Gerenciamento de projetos - Iniciação
Gerenciamento de projetos - IniciaçãoGerenciamento de projetos - Iniciação
Gerenciamento de projetos - Iniciação
Paulo Junior
 
Aula04 - EAP e Cronograma
Aula04 - EAP e CronogramaAula04 - EAP e Cronograma
Aula04 - EAP e Cronograma
Daniela Brauner
 
Feature Driven Development (FDD)
Feature Driven Development (FDD)Feature Driven Development (FDD)
Feature Driven Development (FDD)
Vitor Pacheco
 
Comparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisComparativo entre Processos Ágeis
Comparativo entre Processos Ágeis
Daniel Ferreira
 
Gerenciamento de escopo em projetos
Gerenciamento de escopo em projetosGerenciamento de escopo em projetos
Gerenciamento de escopo em projetos
Paulo Junior
 
Modelo V - Desenvolvimento de Software
Modelo V - Desenvolvimento de SoftwareModelo V - Desenvolvimento de Software
Modelo V - Desenvolvimento de Software
Bruno Bitencourt Luiz
 
Gestão de Serviços de TI com a ITIL. Uma introdução
Gestão de Serviços de TI com a ITIL. Uma introduçãoGestão de Serviços de TI com a ITIL. Uma introdução
Gestão de Serviços de TI com a ITIL. Uma introdução
Rildo (@rildosan) Santos
 
Gerenciamento de projetos aula 4 (escopo)
Gerenciamento de projetos   aula 4 (escopo)Gerenciamento de projetos   aula 4 (escopo)
Gerenciamento de projetos aula 4 (escopo)
Paulo Junior
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
licardino
 
Metodologia agil scrum
Metodologia agil scrumMetodologia agil scrum
Metodologia agil scrum
Pablo Juan ஃ
 
Apresentacao Pmbok
Apresentacao PmbokApresentacao Pmbok
Apresentacao Pmbok
Luiz Neto
 
Análise e Modelagem de Software
Análise e Modelagem de SoftwareAnálise e Modelagem de Software
Análise e Modelagem de Software
Marcelo Yamaguti
 

Destaque (18)

Desenvolvimento ágil de software
Desenvolvimento ágil de softwareDesenvolvimento ágil de software
Desenvolvimento ágil de software
Sompo Seguros
 
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Agile Think® Share
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Development
dcsunu
 
Dynamic System Development
Dynamic System DevelopmentDynamic System Development
Dynamic System Development
Zeeshan Tariq
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven development
Ruhaim Izmeth
 
Agile Metric | Velocity | PMI ACP | IZenBridge
Agile Metric | Velocity | PMI ACP | IZenBridgeAgile Metric | Velocity | PMI ACP | IZenBridge
Agile Metric | Velocity | PMI ACP | IZenBridge
Saket Bansal
 
PMI-ACP Exam Study Flashcards sample
PMI-ACP Exam Study Flashcards samplePMI-ACP Exam Study Flashcards sample
PMI-ACP Exam Study Flashcards sample
Joseph Flahiff
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
Dr. Syed Hassan Amin
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven development
Khanh Nguyen
 
Fdd presentation
Fdd presentationFdd presentation
Fdd presentation
Srikanth R Vaka
 
Adaptive leadership
Adaptive leadershipAdaptive leadership
Adaptive leadership
ASAF HUMAYUN
 
PMI-ACP - Agile Framework
PMI-ACP - Agile FrameworkPMI-ACP - Agile Framework
PMI-ACP - Agile Framework
Wafi Mohtaseb
 
Adaptive Development Methodology
Adaptive Development MethodologyAdaptive Development Methodology
Adaptive Development Methodology
Steve Greene
 
Spicing up agile retrospectives - TopConf Linz 2017 - Ben Linders
Spicing up agile retrospectives - TopConf Linz 2017 - Ben LindersSpicing up agile retrospectives - TopConf Linz 2017 - Ben Linders
Spicing up agile retrospectives - TopConf Linz 2017 - Ben Linders
Ben Linders
 
Why, what, an How of Agile Retrospectives - Lean Kanban Benelux 2015 - Ben Li...
Why, what, an How of Agile Retrospectives - Lean Kanban Benelux 2015 - Ben Li...Why, what, an How of Agile Retrospectives - Lean Kanban Benelux 2015 - Ben Li...
Why, what, an How of Agile Retrospectives - Lean Kanban Benelux 2015 - Ben Li...
Ben Linders
 
Lean Startup for Agile Product Management
Lean Startup for Agile Product ManagementLean Startup for Agile Product Management
Lean Startup for Agile Product Management
Proyectalis / Improvement21
 
Agile KPIs
Agile KPIsAgile KPIs
Agile KPIs
Gaetano Mazzanti
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
Rajeev Misra
 
Desenvolvimento ágil de software
Desenvolvimento ágil de softwareDesenvolvimento ágil de software
Desenvolvimento ágil de software
Sompo Seguros
 
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Agile Think® Share
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Development
dcsunu
 
Dynamic System Development
Dynamic System DevelopmentDynamic System Development
Dynamic System Development
Zeeshan Tariq
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven development
Ruhaim Izmeth
 
Agile Metric | Velocity | PMI ACP | IZenBridge
Agile Metric | Velocity | PMI ACP | IZenBridgeAgile Metric | Velocity | PMI ACP | IZenBridge
Agile Metric | Velocity | PMI ACP | IZenBridge
Saket Bansal
 
PMI-ACP Exam Study Flashcards sample
PMI-ACP Exam Study Flashcards samplePMI-ACP Exam Study Flashcards sample
PMI-ACP Exam Study Flashcards sample
Joseph Flahiff
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven development
Khanh Nguyen
 
Adaptive leadership
Adaptive leadershipAdaptive leadership
Adaptive leadership
ASAF HUMAYUN
 
PMI-ACP - Agile Framework
PMI-ACP - Agile FrameworkPMI-ACP - Agile Framework
PMI-ACP - Agile Framework
Wafi Mohtaseb
 
Adaptive Development Methodology
Adaptive Development MethodologyAdaptive Development Methodology
Adaptive Development Methodology
Steve Greene
 
Spicing up agile retrospectives - TopConf Linz 2017 - Ben Linders
Spicing up agile retrospectives - TopConf Linz 2017 - Ben LindersSpicing up agile retrospectives - TopConf Linz 2017 - Ben Linders
Spicing up agile retrospectives - TopConf Linz 2017 - Ben Linders
Ben Linders
 
Why, what, an How of Agile Retrospectives - Lean Kanban Benelux 2015 - Ben Li...
Why, what, an How of Agile Retrospectives - Lean Kanban Benelux 2015 - Ben Li...Why, what, an How of Agile Retrospectives - Lean Kanban Benelux 2015 - Ben Li...
Why, what, an How of Agile Retrospectives - Lean Kanban Benelux 2015 - Ben Li...
Ben Linders
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
Rajeev Misra
 
Anúncio

Semelhante a Fdd feature driven development (slide ) do trabalho (20)

Feature Driven Development – Desenvolvimento Guiado por Funcionalidades
Feature Driven Development – Desenvolvimento Guiado por FuncionalidadesFeature Driven Development – Desenvolvimento Guiado por Funcionalidades
Feature Driven Development – Desenvolvimento Guiado por Funcionalidades
Hiury Araújo
 
FDD para equipes não tão ágeis
FDD para equipes não tão ágeisFDD para equipes não tão ágeis
FDD para equipes não tão ágeis
guilhermepinter
 
Fdd em uma casca de banana
Fdd em uma casca de bananaFdd em uma casca de banana
Fdd em uma casca de banana
ejedelmal
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven development
Izabel Rodrigues
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
MarcosMaozinha
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)
Rennan Martini
 
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
Allan Ferreira
 
FDD - ES.pptx.pptx
FDD - ES.pptx.pptxFDD - ES.pptx.pptx
FDD - ES.pptx.pptx
JooVictoroliveiradas2
 
38484931 questionario-es
38484931 questionario-es38484931 questionario-es
38484931 questionario-es
Concurseiro Área de TI
 
PLM Summit 2019 - A05 - Matheus Terra
PLM Summit 2019 - A05 - Matheus TerraPLM Summit 2019 - A05 - Matheus Terra
PLM Summit 2019 - A05 - Matheus Terra
Evandro Gama (Prof. Dr.)
 
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2
Fernando Vargas
 
Métodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de softwareMétodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de software
Jerônimo Medina Madruga
 
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Apresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e SeleniumApresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e Selenium
Rafael Cruz, MCT, MBA
 
FDWS - Apresentação Projeto Final de Curso
FDWS - Apresentação Projeto Final de CursoFDWS - Apresentação Projeto Final de Curso
FDWS - Apresentação Projeto Final de Curso
Mauricio Cesar Santos da Purificação
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
Rudson Kiyoshi Souza Carvalho
 
Apresentação RUP
Apresentação RUPApresentação RUP
Apresentação RUP
Fernando Nogueira
 
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
André Vidal
 
Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2
GrupoAlves - professor
 
Organizando demandas de desenvolvimento com o microsoft team foundation server
Organizando demandas de desenvolvimento com o microsoft team foundation serverOrganizando demandas de desenvolvimento com o microsoft team foundation server
Organizando demandas de desenvolvimento com o microsoft team foundation server
Vinicius Moura
 
Feature Driven Development – Desenvolvimento Guiado por Funcionalidades
Feature Driven Development – Desenvolvimento Guiado por FuncionalidadesFeature Driven Development – Desenvolvimento Guiado por Funcionalidades
Feature Driven Development – Desenvolvimento Guiado por Funcionalidades
Hiury Araújo
 
FDD para equipes não tão ágeis
FDD para equipes não tão ágeisFDD para equipes não tão ágeis
FDD para equipes não tão ágeis
guilhermepinter
 
Fdd em uma casca de banana
Fdd em uma casca de bananaFdd em uma casca de banana
Fdd em uma casca de banana
ejedelmal
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven development
Izabel Rodrigues
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)
Rennan Martini
 
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
Allan Ferreira
 
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2
Fernando Vargas
 
Métodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de softwareMétodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de software
Jerônimo Medina Madruga
 
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Apresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e SeleniumApresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e Selenium
Rafael Cruz, MCT, MBA
 
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
André Vidal
 
Organizando demandas de desenvolvimento com o microsoft team foundation server
Organizando demandas de desenvolvimento com o microsoft team foundation serverOrganizando demandas de desenvolvimento com o microsoft team foundation server
Organizando demandas de desenvolvimento com o microsoft team foundation server
Vinicius Moura
 
Anúncio

Último (15)

CNEN_3012024.pdf_.pdf normas de proteção radiológica
CNEN_3012024.pdf_.pdf  normas de proteção radiológicaCNEN_3012024.pdf_.pdf  normas de proteção radiológica
CNEN_3012024.pdf_.pdf normas de proteção radiológica
myespaco
 
Aula de Python - Modularização e Funções.pptx
Aula de Python - Modularização e Funções.pptxAula de Python - Modularização e Funções.pptx
Aula de Python - Modularização e Funções.pptx
ArturGuia1
 
Venha Aprender Sobre MuleSoft - Dia 10.pptx
Venha Aprender Sobre MuleSoft - Dia 10.pptxVenha Aprender Sobre MuleSoft - Dia 10.pptx
Venha Aprender Sobre MuleSoft - Dia 10.pptx
Renato de Oliveira
 
Venha Aprender Sobre MuleSoft - Dia 11.pptx
Venha Aprender Sobre MuleSoft - Dia 11.pptxVenha Aprender Sobre MuleSoft - Dia 11.pptx
Venha Aprender Sobre MuleSoft - Dia 11.pptx
Renato de Oliveira
 
Tabelas e Planilhas com apresentação em Dashboard
Tabelas e Planilhas com apresentação em DashboardTabelas e Planilhas com apresentação em Dashboard
Tabelas e Planilhas com apresentação em Dashboard
Hugo Dourado Graçano
 
Venha Apender Sobre MuleSoft - Dia 09.pptx
Venha Apender Sobre MuleSoft - Dia 09.pptxVenha Apender Sobre MuleSoft - Dia 09.pptx
Venha Apender Sobre MuleSoft - Dia 09.pptx
Renato de Oliveira
 
Apres-Hidraulica e seus componentes: válvulas, etc...
Apres-Hidraulica e seus componentes: válvulas, etc...Apres-Hidraulica e seus componentes: válvulas, etc...
Apres-Hidraulica e seus componentes: válvulas, etc...
portodesantacruz80
 
Slide - Linguagem de Definição de Dados - TLBADII.pdf
Slide - Linguagem de Definição de Dados - TLBADII.pdfSlide - Linguagem de Definição de Dados - TLBADII.pdf
Slide - Linguagem de Definição de Dados - TLBADII.pdf
FtGames1
 
Introdução a Informática basica conceitos basicos .pptx
Introdução  a Informática basica conceitos basicos .pptxIntrodução  a Informática basica conceitos basicos .pptx
Introdução a Informática basica conceitos basicos .pptx
OrlandoCanchipande1
 
A-Evolucao-das-Fontes-no-Windows-Uma-Jornada-Tipografica.pdf
A-Evolucao-das-Fontes-no-Windows-Uma-Jornada-Tipografica.pdfA-Evolucao-das-Fontes-no-Windows-Uma-Jornada-Tipografica.pdf
A-Evolucao-das-Fontes-no-Windows-Uma-Jornada-Tipografica.pdf
MarioAthayde
 
Venha Aprender Sobre MuleSoft - Dia 06.pptx
Venha Aprender Sobre MuleSoft - Dia 06.pptxVenha Aprender Sobre MuleSoft - Dia 06.pptx
Venha Aprender Sobre MuleSoft - Dia 06.pptx
Renato de Oliveira
 
AutoriaDigital.pdf ensino médio e fundamental
AutoriaDigital.pdf ensino médio e fundamentalAutoriaDigital.pdf ensino médio e fundamental
AutoriaDigital.pdf ensino médio e fundamental
DayaneSoares55
 
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptxAC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
Susana Cascais
 
Venha Aprender Sobre MuleSoft - Dia 07.pptx
Venha Aprender Sobre MuleSoft - Dia 07.pptxVenha Aprender Sobre MuleSoft - Dia 07.pptx
Venha Aprender Sobre MuleSoft - Dia 07.pptx
Renato de Oliveira
 
03-poo1-uml.pdf Apresentacao UML POOL UML
03-poo1-uml.pdf Apresentacao UML POOL UML03-poo1-uml.pdf Apresentacao UML POOL UML
03-poo1-uml.pdf Apresentacao UML POOL UML
ssuser426fcf
 
CNEN_3012024.pdf_.pdf normas de proteção radiológica
CNEN_3012024.pdf_.pdf  normas de proteção radiológicaCNEN_3012024.pdf_.pdf  normas de proteção radiológica
CNEN_3012024.pdf_.pdf normas de proteção radiológica
myespaco
 
Aula de Python - Modularização e Funções.pptx
Aula de Python - Modularização e Funções.pptxAula de Python - Modularização e Funções.pptx
Aula de Python - Modularização e Funções.pptx
ArturGuia1
 
Venha Aprender Sobre MuleSoft - Dia 10.pptx
Venha Aprender Sobre MuleSoft - Dia 10.pptxVenha Aprender Sobre MuleSoft - Dia 10.pptx
Venha Aprender Sobre MuleSoft - Dia 10.pptx
Renato de Oliveira
 
Venha Aprender Sobre MuleSoft - Dia 11.pptx
Venha Aprender Sobre MuleSoft - Dia 11.pptxVenha Aprender Sobre MuleSoft - Dia 11.pptx
Venha Aprender Sobre MuleSoft - Dia 11.pptx
Renato de Oliveira
 
Tabelas e Planilhas com apresentação em Dashboard
Tabelas e Planilhas com apresentação em DashboardTabelas e Planilhas com apresentação em Dashboard
Tabelas e Planilhas com apresentação em Dashboard
Hugo Dourado Graçano
 
Venha Apender Sobre MuleSoft - Dia 09.pptx
Venha Apender Sobre MuleSoft - Dia 09.pptxVenha Apender Sobre MuleSoft - Dia 09.pptx
Venha Apender Sobre MuleSoft - Dia 09.pptx
Renato de Oliveira
 
Apres-Hidraulica e seus componentes: válvulas, etc...
Apres-Hidraulica e seus componentes: válvulas, etc...Apres-Hidraulica e seus componentes: válvulas, etc...
Apres-Hidraulica e seus componentes: válvulas, etc...
portodesantacruz80
 
Slide - Linguagem de Definição de Dados - TLBADII.pdf
Slide - Linguagem de Definição de Dados - TLBADII.pdfSlide - Linguagem de Definição de Dados - TLBADII.pdf
Slide - Linguagem de Definição de Dados - TLBADII.pdf
FtGames1
 
Introdução a Informática basica conceitos basicos .pptx
Introdução  a Informática basica conceitos basicos .pptxIntrodução  a Informática basica conceitos basicos .pptx
Introdução a Informática basica conceitos basicos .pptx
OrlandoCanchipande1
 
A-Evolucao-das-Fontes-no-Windows-Uma-Jornada-Tipografica.pdf
A-Evolucao-das-Fontes-no-Windows-Uma-Jornada-Tipografica.pdfA-Evolucao-das-Fontes-no-Windows-Uma-Jornada-Tipografica.pdf
A-Evolucao-das-Fontes-no-Windows-Uma-Jornada-Tipografica.pdf
MarioAthayde
 
Venha Aprender Sobre MuleSoft - Dia 06.pptx
Venha Aprender Sobre MuleSoft - Dia 06.pptxVenha Aprender Sobre MuleSoft - Dia 06.pptx
Venha Aprender Sobre MuleSoft - Dia 06.pptx
Renato de Oliveira
 
AutoriaDigital.pdf ensino médio e fundamental
AutoriaDigital.pdf ensino médio e fundamentalAutoriaDigital.pdf ensino médio e fundamental
AutoriaDigital.pdf ensino médio e fundamental
DayaneSoares55
 
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptxAC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
Susana Cascais
 
Venha Aprender Sobre MuleSoft - Dia 07.pptx
Venha Aprender Sobre MuleSoft - Dia 07.pptxVenha Aprender Sobre MuleSoft - Dia 07.pptx
Venha Aprender Sobre MuleSoft - Dia 07.pptx
Renato de Oliveira
 
03-poo1-uml.pdf Apresentacao UML POOL UML
03-poo1-uml.pdf Apresentacao UML POOL UML03-poo1-uml.pdf Apresentacao UML POOL UML
03-poo1-uml.pdf Apresentacao UML POOL UML
ssuser426fcf
 

Fdd feature driven development (slide ) do trabalho

  • 1. FDD - Feature Driven Development
  • 2. FDD - Feature Driven Development O FDD foi criado em 1997 num grande projeto em Java para o United Overseas Bank, em Cingapura. Nasceu a partir da experiência de análise e modelagem orientadas por objetos de Peter Coad e de gerenciamento de projetos por Jeff de Luca. Foi inicialmente publicada em 1999, no capítulo 6 do livro “Java Modeling in Color with UML”, de Peter Coad, Eric Lefebvre e Jeff de Luca.
  • 3. FDD - Feature Driven Development Jeff de Luca Peter Coad
  • 4. FDD - Feature Driven Development O que e FDD Feature Driven Development (Desenvolvimento Guiado por Funcionalidades) È uma das seis metodologias ágeis originais, cujos representantes redigiram o Manifesto Ágil para Desenvolvimento de Software, em 2001. O representante doFDD foi Jon Kern, que trabalhava na TogetherSoft, substituindo Peter Coad quem foi o desenvolvedor da metodologia juntamente com Jeff de Luca.
  • 5. FDD - Feature Driven Development A FDD é uma metodologia ágil para gerenciamento e desenvolvimento de Software, com foco na entrega frequente de “software funcionando” para os clientes e na utilização de boas práticas durante o ciclo de seu desenvolvimento. Ela combina as melhores práticas do gerenciamento ágil de projetos com uma abordagem completa para Engenharia de Software orientada a objetos.
  • 6. FDD - Feature Driven Development • Com relação às outras metodologias de desenvolvimento de software, esta numa posição intermediária entre as abordagens mais prescritivas (Processo Unificado, Cascata tradicional - Waterfall) e as abordagens Ágeis (XP - Programação Extrema, Scrum, Crystal, etc.). • Oferece um conjunto de princípios e práticas tanto para a Gestão de Projetos e para a Engenharia de Software, convive bem com abordagens mais especialistas, como Scrum. • Apesar de algumas divergências com a XP, várias práticas propostas pelo XP são utilizadas por equipes usando FDD, como os testes unitários, refatoração, programação em pares, integração contínua, entre outras. Apenas a ênfase na FDD é que não é tão grande quanto na XP. A FDD também propõe práticas como inspeção formal (de desenho e de código) e posse individual/situacional de código/classe, que podem contrastar com algumas das práticas fundamentais da XP.
  • 7. O que são Features Features são funcionalidade para o detalhamento e uma característica pequena para ser implementada, no máximo em um iteração, oferecendo assim o valor ao cliente <ação><resultado><objeto> <action><result><object> Exemplo: Calcular o total de uma venda. ação resultado objeto
  • 8. FDD - Feature Driven Development • Os papéis principais são: • Gerente de Projeto, Arquiteto Chefe, Gerente de Desenvolvimento, Programador Chefe, Proprietário de Classe e Especialista de Domínio. • Os papéis de apoio são: • Gerente de Domínio, Gerente de Versão, Especialista (Guru) da Linguagem, Coordenador de Construção, Ferramenteiro (toolsmith) e Administrador de Sistema. • Os papéis adicionais são: • Testador, Desenvolvedores e Escritor Técnico.
  • 9. FDD - Feature Driven Development Padrões do FDD Segundo Jeff de Luca todas as fases do FDD devem seguir o padrão “ETVX”: • Entry – Entrada: define e especifica critérios de entrada para as fases do FDD; • Task – Tarefa: é composto por uma lista de tarefas a ser realizada a cada uma das fases;
  • 10. • Verification – Verificação: especifica tipos de avaliações e inspeções de projeto e códigos “testes”; • Exit – Saída: especifica os critérios de saída ou seja os critérios de “pronto” da fase;
  • 11. FDD - Feature Driven Development Caracteristicas A FDD chama a atenção por algumas características peculiares: • .Fornece a estrutura suficiente para equipes maiores. • Modelagem Orientada a Objetos do Domínio • Desenvolvimento por funcionalidade • Resultados úteis a cada duas semanas ou menos
  • 12. • Blocos bem pequenos de funcionalidade valorizada pelo cliente, chamados "Features" • Planejamento detalhado e guia para medição • Rastreabilidade e relatórios com incrível precisão • Classe proprietária, ou seja, a unidade é feita individualmente, evitando-se assim conflitos na equipe; • Monitoramento detalhado dentro do projeto, com resumos de alto nível para clientes e gerentes, tudo em termos de negócio
  • 13. • Inspeção é realizada constantemente para garantir a boa qualidade do código e do projeto • Gerenciamento de configuração • Integração contínua para demonstrar constantemente as funcionalidades ao cliente e • Visibilidade de progressos e resultados.
  • 14. FDD - Feature Driven Development A FDD é uma metodologia muito objetiva que possui duas etapas e essas podem ser divididas cinco fases :
  • 15. FDD - Feature Driven Development Etapas • Concepção e Planejamento: Pensar no modelo, criar uma lista de características e planejar através delas. Essa fase é executada apenas uma vez e dura de uma a duas semanas. • Construção: Desenvolvimento iterativo e incremental durante um período de tempo de no máximo 2 semanas.
  • 16. FDD - Feature Driven Development Fases A FDD é dividida em cinco processos principais bem definidos e integrados: • DMA - Desenvolver um Modelo Abrangente (Critérios de entrada, Atividades, Verificação , Critérios de saída) Estudos detalhados sobre o domínio do negocio para as partes do produto a serem modeladas, podendo ser em forma de análise de requisitos, orientado por objetos e outras técnicas. • CLF - Construir a Lista de Funcionalidades (Critérios de entrada, Atividades, Verificação , Critérios de saída) Pode ser chamado de product backlog, consiste na decomposição funcional do domínio, em áreas de negocio, atividades de negocio e funcionalidades.
  • 17. FDD - Feature Driven Development • PPF - Planejar por Funcionalidade (Critérios de entrada Atividades Verificação Critérios de saída) Planejamento, ordenação e estimativa das atividades a serem implementadas baseando-se em fatores como carga de trabalho da equipe e complexidade. • DPF - Detalhar por Funcionalidade (Critérios de entrada Atividades Verificação Critérios de saída) Dentro de uma iteração ocorre o detalhamento dos requisitos e outros artefatos refinando os modelos de objetos com a definição de padrões e esqueletos de código. • CPF - Construir por Funcionalidade (Critérios de entrada Atividades Verificação Critérios de saída) È realizado o desenvolvimento e em seguida ocorre a realização dos testes. Após ocorre a junção das funcionalidades para preparar o produto de entrega funcional.
  • 18. FDD - Feature Driven Development O que o FDD pode proporcionar? • Inovação continua • Adaptabilidade do produto • Cronogramas reduzidos de entrega • Adaptabilidade das pessoas e processos e • Resultados confiáveis
  • 19. FDD - Feature Driven Development
  • 20. FDD - Feature Driven Development O FDD possui um processo bem simples de ser compreendido, é possível notar. O processo começa com a modelagem abrangente seguido pela construção da lista de features ou funcionalidades e seu planejamento, após esses processos é iniciada a fase de construção que está divida em dois processos, detalhar por funcionalidade e construir por funcionalidade, sendo que essa fase é executada para cada funcionalidade. A fase de concepção e planejamento é executada uma vez para todo o projeto, já a fase de construção é realizada para cada funcionalidade.
  • 21. FDD - Feature Driven Development Vantagens • Recomendado para qualquer tipo de desenvolvimento • Foco em característica de valor para o cliente • FDD prioriza aquilo que o cliente prioriza • Possui requisitos mais formais
  • 22. FDD - Feature Driven Development Desvantagens • Questionamento sobre a eficácia, aplicabilidade FDD O caso inicial de aplicação de FDD foi no desenvolvimento de uma aplicação bancária. Entretanto, relatos confiáveis de uso bem-sucedido ainda não são encontráveis, questionando a eficácia/aplicabilidade de FDD. • Escalabilidade do time Controvérsias sobre o tamanho mínimo de um time FDD; • Manutenção Ainda que FDD pressuponha um ciclo completo de documentação, a especificação original da metodologia não comenta sobre sua aplicabilidade à manutenção de sistemas.