SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
Hiury Araújo – hiury14@gmail.com
Hugo Nathan - hugonbr@gmail.com
127/05/2014
 Objetivos;
 Introdução;
 Histórico;
 Conceituando o FDD;
 Vantagens e desvantagens;
 Conclusão.
2
 Apresentar o que é o FDD – Feature Driven
Development;
• Histórico;
• Características;
• Processo;
• Fases.
3
 Metodologia ágil para gerenciamento e
desenvolvimento de software;
 Criada em 1997 em um grande projeto em Java;
 Engenharia de software orientada por objetos;
 Conquista os três principais públicos de um projeto de
software: Clientes, gerentes e desenvolvedores.
4
 O FDD foi criado em 1997;
 Foi inicialmente publicado no capítulo 6 do livro “Java
Modeling in Color with UML”;
 Em 2002, Stephen Palmer e John Mac Felsing
publicaram o livro “A Pratical Guide to Feature Driven
Development”;
 Em 2003, David Anderson publicou um marco na
literatura ágil, “Agile Management for Software
Engenering: Using the Theory of Constraints for Business
Results”.
5
 O que é o FDD?
• FDD é uma metodologia ágil para gerenciamento e
desenvolvimento de software;
• Seus princípios e práticas proporcionam um
equilíbrio entre as filosofias tradicionais e as mais
extremas;
• O lema da FDD é: “Resultados frequentes, tangíveis
e funcionais.”.
6
 Resultados úteis em curto prazo de tempo;
 Blocos pequenos de funcionalidades valorizada pelo
cliente, chamados “Features”;
 Complexidade do sistema e tamanho da equipe;
 Rastreabilidade e relatórios com precisão;
 Agrada a clientes, gerentes e desenvolvedores.
7
 Gerente do projeto;
 Arquiteto chefe;
 Gerente de desenvolvimento;
 Programador chefe;
 Proprietário de classe;
 Especialista do domínio.
8
 Gerente do domínio;
 Gerente de versão;
 Especialista (guru) de linguagem;
 Coordenador de construção;
 “Ferramenteiro” (toolsmith);
 Administrador de sistema.
9
 Testador;
 Desenvolvedores;
 Escritor técnico.
10
 Padrão “ETVX”:
• Entry - Entrada;
• Task - Tarefa;
• Verification -Verificação;
• Exit - Saída.
11
 FDD é um metodologia muito objetiva que pode ser
dividida em duas etapas e as mesmas em cinco fases:
• Concepção e Planejamento:
 Essa fase é executada apenas uma vez e dura de
uma a duas semanas;
• Construção:
 Período de tempo de no máximo duas semanas.
12
 Desenvolver um modelo abrangente
• Critérios de entrada:
 Os especialistas no domínio do negócio, os
programadores-líderes e o arquiteto-líder foram
selecionados.
• Critérios de saída:
 Diagramas de classes, métodos e atributos,
diagramas de sequência e/ou máquina de estados
e comentários sobre o modelo.
13
 Construir a lista de funcionalidades
• Critérios de entrada:
 Os especialistas no domínio do negócio, os
programadores-líderes e o arquiteto-líder foram
selecionados.
• Critérios de saída:
 Lista de áreas de negócio, lista de atividades e
funcionalidade para cada passo das atividades.
14
 Planejar por funcionalidade
• Critérios de entrada:
 O processo de construção de uma lista de
funcionalidades foi completado.
• Critérios de saída:
 Atividades de negócio com datas de término (mês
e ano), programadores-líderes atribuídos as
atividades de negócio e lista de proprietários de
classes.
15
 Detalhar por funcionalidade
• Critérios de entrada:
 O processo de planejamento foi completado.
• Critérios de saída:
 Uma capa com comentários, que completa e
descreve o pacote de projeto de tal forma a ser
suficiente para futuros revisores e alternativas de
projeto.
16
 Construir por funcionalidades
• Critérios de entrada:
 O processo de detalhar por funcionalidade foi
completado, isto é, o pacote de projeto (design)
passou com sucesso pela inspeção.
• Critérios de saída:
 Classes e/ou métodos que passaram na inspeção
de código com sucesso, classes que foram
promovidas à versão atual e o término de uma
função com valor para o cliente.
17
18
 Fases muito fortes de análise, se comparada com outras
metodologias ágeis;
 Recomendada para qualquer tipo de desenvolvimento;
 O FDD prioriza aquilo que o cliente prioriza;
 Os resultados produzidos geram bastante e rápida
visibilidade para o cliente;
 Seus princípios e práticas proporcionam um equilíbrio
entre as filosofias tradicionais e as mais extremas.
19
 Relatos de uso bem-sucedido ainda não são
encontráveis;
 Há controvérsias sobre o tamanho mínimo de um time
FDD;
 A especificação original da metodologia não comenta
sobre sua aplicabilidade à manutenção de sistemas.
20
 É um método ágil e altamente adaptativo;
 Oferece vantagens dos métodos pesados;
 Oferece vantagens dos métodos extremamente ágeis;
 É orientada às necessidades dos clientes, gerentes e
desenvolvedores.
21
 http://pt.scribd.com/doc/37146865/FDD-Completo
 http://engenheirosdosoftware.blogspot.com.br/2008/1
0/fdd-feature-driven-development.html
 http://www.heptagon.com.br/fdd
 http://www.heptagon.com.br/fdd-oque
 http://www.heptagon.com.br/fdd-estrutura
 http://www.heptagon.com.br/files/FDD-Processos.pdf
22

Mais conteúdo relacionado

Mais procurados

Feature Driven Development (FDD)
Feature Driven Development (FDD)Feature Driven Development (FDD)
Feature Driven Development (FDD)Vitor Pacheco
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven developmentIzabel Rodrigues
 
Feature Driven Development (FDD)
Feature Driven Development (FDD)Feature Driven Development (FDD)
Feature Driven Development (FDD)Bruno Garcia
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareElaine Cecília Gatto
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Elaine Cecília Gatto
 
Introdução à Engenharia de Requisitos e RUP
Introdução à Engenharia de Requisitos e RUPIntrodução à Engenharia de Requisitos e RUP
Introdução à Engenharia de Requisitos e RUPVagner Santana
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Elaine Cecília Gatto
 
Engenharia Software Rup
Engenharia Software   RupEngenharia Software   Rup
Engenharia Software RupFelipe
 
Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Elaine Cecília Gatto
 

Mais procurados (20)

Feature Driven Development (FDD)
Feature Driven Development (FDD)Feature Driven Development (FDD)
Feature Driven Development (FDD)
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven development
 
Feature Driven Development (FDD)
Feature Driven Development (FDD)Feature Driven Development (FDD)
Feature Driven Development (FDD)
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
Aula 4- Engenharia de Software
Aula 4- Engenharia de SoftwareAula 4- Engenharia de Software
Aula 4- Engenharia de Software
 
Engenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - IntroEngenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - Intro
 
Aula Gestão de Projetos
Aula Gestão de ProjetosAula Gestão de Projetos
Aula Gestão de Projetos
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Qualidade de Software: MPS.BR
Qualidade de Software: MPS.BRQualidade de Software: MPS.BR
Qualidade de Software: MPS.BR
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de Software
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1
 
Outras Metodologias Ágeis Parte 3
Outras Metodologias Ágeis Parte 3Outras Metodologias Ágeis Parte 3
Outras Metodologias Ágeis Parte 3
 
Introdução à Engenharia de Requisitos e RUP
Introdução à Engenharia de Requisitos e RUPIntrodução à Engenharia de Requisitos e RUP
Introdução à Engenharia de Requisitos e RUP
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4
 
Engenharia Software Rup
Engenharia Software   RupEngenharia Software   Rup
Engenharia Software Rup
 
Aula Gestão de Projetos Escopo, Tempo e Custo
Aula Gestão de Projetos Escopo, Tempo e CustoAula Gestão de Projetos Escopo, Tempo e Custo
Aula Gestão de Projetos Escopo, Tempo e Custo
 
Apresentação RUP
Apresentação RUPApresentação RUP
Apresentação RUP
 
Outras Metodologias Ágeis Parte 2
Outras Metodologias Ágeis Parte 2Outras Metodologias Ágeis Parte 2
Outras Metodologias Ágeis Parte 2
 
Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2
 

Semelhante a FDD Metodologia Ágil

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
 
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 2Fernando Vargas
 
Texto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.pptTexto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.pptHurgelNeto
 
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 softwareJerônimo Medina Madruga
 
Aula 1 introducao
Aula 1   introducaoAula 1   introducao
Aula 1 introducaolicardino
 
Aula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdfAula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdfJadna Almeida
 
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...Renato Groff
 
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 FidelixCris Fidelix
 
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...Renato Groff
 
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 ágeisguilhermepinter
 
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...iMasters
 

Semelhante a FDD Metodologia Ágil (20)

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)
 
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
 
Texto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.pptTexto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.ppt
 
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
 
ageis2003.ppt
ageis2003.pptageis2003.ppt
ageis2003.ppt
 
ageis2003.ppt
ageis2003.pptageis2003.ppt
ageis2003.ppt
 
Aula 1 introducao
Aula 1   introducaoAula 1   introducao
Aula 1 introducao
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
38484931 questionario-es
38484931 questionario-es38484931 questionario-es
38484931 questionario-es
 
Aula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdfAula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdf
 
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
 
Aula 3
Aula 3Aula 3
Aula 3
 
Metodos ageis
Metodos ageisMetodos ageis
Metodos ageis
 
Aula 2 - Modelos de processos
Aula 2 -  Modelos de processosAula 2 -  Modelos de processos
Aula 2 - Modelos de processos
 
PLM Summit 2019 - A05 - Matheus Terra
PLM Summit 2019 - A05 - Matheus TerraPLM Summit 2019 - A05 - Matheus Terra
PLM Summit 2019 - A05 - Matheus Terra
 
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
 
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
 
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
 
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
 
Tdd On Rails
Tdd On RailsTdd On Rails
Tdd On Rails
 

FDD Metodologia Ágil

  • 1. Hiury Araújo – hiury14@gmail.com Hugo Nathan - hugonbr@gmail.com 127/05/2014
  • 2.  Objetivos;  Introdução;  Histórico;  Conceituando o FDD;  Vantagens e desvantagens;  Conclusão. 2
  • 3.  Apresentar o que é o FDD – Feature Driven Development; • Histórico; • Características; • Processo; • Fases. 3
  • 4.  Metodologia ágil para gerenciamento e desenvolvimento de software;  Criada em 1997 em um grande projeto em Java;  Engenharia de software orientada por objetos;  Conquista os três principais públicos de um projeto de software: Clientes, gerentes e desenvolvedores. 4
  • 5.  O FDD foi criado em 1997;  Foi inicialmente publicado no capítulo 6 do livro “Java Modeling in Color with UML”;  Em 2002, Stephen Palmer e John Mac Felsing publicaram o livro “A Pratical Guide to Feature Driven Development”;  Em 2003, David Anderson publicou um marco na literatura ágil, “Agile Management for Software Engenering: Using the Theory of Constraints for Business Results”. 5
  • 6.  O que é o FDD? • FDD é uma metodologia ágil para gerenciamento e desenvolvimento de software; • Seus princípios e práticas proporcionam um equilíbrio entre as filosofias tradicionais e as mais extremas; • O lema da FDD é: “Resultados frequentes, tangíveis e funcionais.”. 6
  • 7.  Resultados úteis em curto prazo de tempo;  Blocos pequenos de funcionalidades valorizada pelo cliente, chamados “Features”;  Complexidade do sistema e tamanho da equipe;  Rastreabilidade e relatórios com precisão;  Agrada a clientes, gerentes e desenvolvedores. 7
  • 8.  Gerente do projeto;  Arquiteto chefe;  Gerente de desenvolvimento;  Programador chefe;  Proprietário de classe;  Especialista do domínio. 8
  • 9.  Gerente do domínio;  Gerente de versão;  Especialista (guru) de linguagem;  Coordenador de construção;  “Ferramenteiro” (toolsmith);  Administrador de sistema. 9
  • 10.  Testador;  Desenvolvedores;  Escritor técnico. 10
  • 11.  Padrão “ETVX”: • Entry - Entrada; • Task - Tarefa; • Verification -Verificação; • Exit - Saída. 11
  • 12.  FDD é um metodologia muito objetiva que pode ser dividida em duas etapas e as mesmas em cinco fases: • Concepção e Planejamento:  Essa fase é executada apenas uma vez e dura de uma a duas semanas; • Construção:  Período de tempo de no máximo duas semanas. 12
  • 13.  Desenvolver um modelo abrangente • Critérios de entrada:  Os especialistas no domínio do negócio, os programadores-líderes e o arquiteto-líder foram selecionados. • Critérios de saída:  Diagramas de classes, métodos e atributos, diagramas de sequência e/ou máquina de estados e comentários sobre o modelo. 13
  • 14.  Construir a lista de funcionalidades • Critérios de entrada:  Os especialistas no domínio do negócio, os programadores-líderes e o arquiteto-líder foram selecionados. • Critérios de saída:  Lista de áreas de negócio, lista de atividades e funcionalidade para cada passo das atividades. 14
  • 15.  Planejar por funcionalidade • Critérios de entrada:  O processo de construção de uma lista de funcionalidades foi completado. • Critérios de saída:  Atividades de negócio com datas de término (mês e ano), programadores-líderes atribuídos as atividades de negócio e lista de proprietários de classes. 15
  • 16.  Detalhar por funcionalidade • Critérios de entrada:  O processo de planejamento foi completado. • Critérios de saída:  Uma capa com comentários, que completa e descreve o pacote de projeto de tal forma a ser suficiente para futuros revisores e alternativas de projeto. 16
  • 17.  Construir por funcionalidades • Critérios de entrada:  O processo de detalhar por funcionalidade foi completado, isto é, o pacote de projeto (design) passou com sucesso pela inspeção. • Critérios de saída:  Classes e/ou métodos que passaram na inspeção de código com sucesso, classes que foram promovidas à versão atual e o término de uma função com valor para o cliente. 17
  • 18. 18
  • 19.  Fases muito fortes de análise, se comparada com outras metodologias ágeis;  Recomendada para qualquer tipo de desenvolvimento;  O FDD prioriza aquilo que o cliente prioriza;  Os resultados produzidos geram bastante e rápida visibilidade para o cliente;  Seus princípios e práticas proporcionam um equilíbrio entre as filosofias tradicionais e as mais extremas. 19
  • 20.  Relatos de uso bem-sucedido ainda não são encontráveis;  Há controvérsias sobre o tamanho mínimo de um time FDD;  A especificação original da metodologia não comenta sobre sua aplicabilidade à manutenção de sistemas. 20
  • 21.  É um método ágil e altamente adaptativo;  Oferece vantagens dos métodos pesados;  Oferece vantagens dos métodos extremamente ágeis;  É orientada às necessidades dos clientes, gerentes e desenvolvedores. 21
  • 22.  http://pt.scribd.com/doc/37146865/FDD-Completo  http://engenheirosdosoftware.blogspot.com.br/2008/1 0/fdd-feature-driven-development.html  http://www.heptagon.com.br/fdd  http://www.heptagon.com.br/fdd-oque  http://www.heptagon.com.br/fdd-estrutura  http://www.heptagon.com.br/files/FDD-Processos.pdf 22