SlideShare a Scribd company logo
1 of 34
ESCOLA TÉCNICA DE RONDONÓPOLIS
 CURSO: TÉCNICO EM INFORMÁTICA
      DOCENTE: ZAREIF DIB
   DISCENTES: ELCIENE RIBEIRO
              LAURA CAPURRO
História
   O Desenvolvimento guiado a funcionalidades (FDD) foi criado em 1997
num grande projeto de sistema de empréstimos em Java para o Banco United
Overseas Bank, em Singapura.

Problema: Após dois anos de consultoria, 3.500 páginas de casos de uso e um
modelo de objetos com centenas de classes, foi considerado impossível.

Decisão: União entre a experiência de análise e modelagem orientadas a
objetos de Peter Coad e o gerenciamento de projetos de Jeff De Luca.

Resultado: 15 meses depois da contratação da dupla , 2000 features
entregues por uma equipe de 50 pessoas.




             Peter Coad                        Jeff De Luca
                (Os Ninjas criadores da metodologia FDD)
(Igual a um ninja!)     O que é FDD?

    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,
conquistando os três principais públicos de um projeto de software:

  Clientes
  Gerentes
  Desenvolvedores
"O Ornitorrinco era originalmente o projeto de um pato, mas
  houve falha na comunicação entre os desenvolvedores e o
                          cliente".
Desenvolvimento ágil
“Resultados frequentes, tangíveis e funcionais.”
O que são Features?

Features são características ou Funcionalidades que representam algum valor
para o cliente e devem ser expressas da seguinte forma:

                   <action><result><object>
Exemplo:



                    ação     resultado            objeto
                 Calcular o total de uma venda.
Práticas da FDD

 Modelagem de Objetos do Domínio;
 Desenvolvimento por features;
 Posse individual de classe (código);
 Equipe de features;
 Inspeções;
 Builds regulares;
 Gerenciamento de configuração;
 Relatório /Visibilidade de Resultados;
Papéis Principais



                               Especialistas no Domínio




Gerente de     Gerente de              Programadores      Proprietários das
 projeto     Desenvolvimento               Chefes             classes




                                  Arquiteto Chefe
Ninjas, mal posso ver seus
       movimentos!

Mas posso ver seus resultados!
Da mesma forma é a FDD.
        Trata-se de uma metodologia muito objetiva, que
promete resultados periódicos rápidos e satisfatórios, sendo
estes períodos equivalentes a uma semana ou menos.

Sua objetividade a divide em apenas duas fases:


FASES                         Descrição                  Período
1- Concepção e Planejamento   Pensar antes de fazer      1 a 2 semanas
2- Construção                 Fazer de forma iterativa   2 semanas
Processo

Descrição

Cada processo é Descrito em não mais do que duas página de papel
tamanho carta, frente e verso.

Cada descrição do processo apresenta-se de acordo com a Estrutura:



   Entradas          Tarefas          Verificação        Saída
Processos da FDD

A FDD, classicamente, possui cinco processos.


 DMA- Desenvolver um Modelo Abrangente

 CLF- Construir uma Lista de Funcionalidades

 PPF- Planejar Por Funcionalidade

 DPF- Detalhar por Funcionalidade

 CPF- Construir por Funcionalidade
Processo 1
DMA- Desenvolver um Modelo Abrangente


Adquirir conhecimento do domínio e desenvolver um
modelo geral

Estabelecer o “propósito do negócio” do novo sistema.

Construção de um “modelo conceitual” do sistema.
Entradas
Especialistas no domínio, programadores e arquitetos chefes são
selecionados.

Atividades




*walkthrough – passo a passo
Saídas

Modelo Geral do Domínio;

Diagrama das Classes principais com alguns métodos e
atributos identificados;

Diagramas de Sequência de algumas funcionalidades mais
complexas (se houver);

Comentário sobre o modelo;
Processo 2
CLF- Construir uma Lista de Funcionalidades


O domínio é decomposto até chegar nas funcionalidades;

As funcionalidades são agrupadas e categorizadas;

As funcionalidades são granuladas até ser necessário menos
de 2 semanas para seu desenvolvimento;
Entradas

O Processo 1 ter sido concluído com sucesso.

Atividades
Saídas

Uma lista de áreas do domínio identificadas;

Para cada área, uma lista de atividades de negócio (conjunto de
funcionalidades);

Para cada atividade são definidos os passos a serem
realizados(Funcionalidades);
Processo 3
PPF- Planejar Por Funcionalidade


Uma data de lançamento é estabelecida para o release
inicial;

A lista de funcionalidades priorizadas é refinada;

O Trabalho técnico é planejado e atribuído;
Entradas

O Processo 2 ter sido concluído com sucesso.

Atividades
Saídas

Atividades de negócio com data de término;

Programadores chefes atribuídos a atividades de negócio;

A lista de classes e seus donos (desenvolvedores);
Processo 4
DPF- Detalhar por Funcionalidade


Regras e transações são identificadas;

O modelo da interface do usuário é esboçado;

Diagramas de sequência mais detalhados são produzidos;

Especialistas são consultados para descobrir qualquer
necessidade específica adicional;
Entradas

O Processo 3 ter sido concluído com sucesso.

Atividades
Saídas

Diagramas de sequência;

Projetos alternativos (caso exista);

O modelo de objeto com classes, métodos e atributos novos ou
atualizados ;

Lista de tarefas(calendário/o que fazer)
Processo 5
CPF- Construir por Funcionalidade


As funcionalidades são construídas implementando todas as
classes e métodos necessários;

Testes de unidades;

As funcionalidades são inseridas no build quando o teste
resulta em sucesso;
Entradas

O processo anterior (Processo 4) ter sido concluído com sucesso.

Atividades
Saídas

Classes e/ou métodos que passaram na inspeção do código
com sucesso;

Classes inseridas no build;

A conclusão da funcionalidade do cliente ;
Demonstrando Resultados
Os seis marcos do FDD
Modelo disponibilizado pela empresa de desenvolvimento de software Sys
Evolution que utiliza a FDD como metodologia de gerenciamento e
desenvolvimento de seus softwares.
E lembre-se:




Então seja um deles e desenvolva seu software como um ninja!

More Related Content

What's hot

Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de softwarediha36
 
Modelo de Prototipação
Modelo de PrototipaçãoModelo de Prototipação
Modelo de PrototipaçãoJuliano Pires
 
Модуль 2: Лекция 9-10. Обзор методологий, фреймворков
Модуль 2: Лекция 9-10.  Обзор методологий, фреймворковМодуль 2: Лекция 9-10.  Обзор методологий, фреймворков
Модуль 2: Лекция 9-10. Обзор методологий, фреймворковYana Brodetski
 
Fdd em uma casca de banana
Fdd em uma casca de bananaFdd em uma casca de banana
Fdd em uma casca de bananaejedelmal
 
Comparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisComparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisDaniel Ferreira
 
Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворков
Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворковМодуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворков
Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворковYana Brodetski
 
Gerenciamento das comunicações - PMBOK
Gerenciamento das comunicações - PMBOKGerenciamento das comunicações - PMBOK
Gerenciamento das comunicações - PMBOKMárcia Barros
 
Ciclo de vida por prototipos
Ciclo de vida por prototiposCiclo de vida por prototipos
Ciclo de vida por prototiposMay Rodriguez
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareRoberto Brandini
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Luís Fernando Richter
 
Requerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareRequerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareKelvin Abdiel Alvarado
 
Workshop Scrum - 8 horas
Workshop Scrum - 8 horasWorkshop Scrum - 8 horas
Workshop Scrum - 8 horasWise Systems
 

What's hot (20)

Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de software
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Modelo de Prototipação
Modelo de PrototipaçãoModelo de Prototipação
Modelo de Prototipação
 
Модуль 2: Лекция 9-10. Обзор методологий, фреймворков
Модуль 2: Лекция 9-10.  Обзор методологий, фреймворковМодуль 2: Лекция 9-10.  Обзор методологий, фреймворков
Модуль 2: Лекция 9-10. Обзор методологий, фреймворков
 
Psp
PspPsp
Psp
 
Fdd em uma casca de banana
Fdd em uma casca de bananaFdd em uma casca de banana
Fdd em uma casca de banana
 
Comparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisComparativo entre Processos Ágeis
Comparativo entre Processos Ágeis
 
Fdd
FddFdd
Fdd
 
Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворков
Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворковМодуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворков
Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворков
 
Gerenciamento das comunicações - PMBOK
Gerenciamento das comunicações - PMBOKGerenciamento das comunicações - PMBOK
Gerenciamento das comunicações - PMBOK
 
Ciclo de vida por prototipos
Ciclo de vida por prototiposCiclo de vida por prototipos
Ciclo de vida por prototipos
 
DSDM
DSDMDSDM
DSDM
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de software
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
 
Requerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareRequerimientos en Ingenieria de Software
Requerimientos en Ingenieria de Software
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Modelo cascata
Modelo cascataModelo cascata
Modelo cascata
 
Capitulo 02 sommerville
Capitulo 02 sommervilleCapitulo 02 sommerville
Capitulo 02 sommerville
 
Workshop Scrum - 8 horas
Workshop Scrum - 8 horasWorkshop Scrum - 8 horas
Workshop Scrum - 8 horas
 
Metodologias Ágeis DSDM
Metodologias Ágeis DSDMMetodologias Ágeis DSDM
Metodologias Ágeis DSDM
 

Similar to FDD

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
 
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 FuncionalidadesHiury Araújo
 
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
 
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
 
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
 
Curso Microsoft Project 2010 / 2013
Curso Microsoft Project 2010 / 2013Curso Microsoft Project 2010 / 2013
Curso Microsoft Project 2010 / 2013Dimitri Campana, PMP
 
Apresentação pre tcc
Apresentação pre tccApresentação pre tcc
Apresentação pre tccRafael Marega
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trataRoni Reis
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven developmentIzabel Rodrigues
 
Scrum - Gerenciamento de Projetos
Scrum - Gerenciamento de ProjetosScrum - Gerenciamento de Projetos
Scrum - Gerenciamento de ProjetosWilliam Lima
 
Aula Introdução ao Gerenciamento de Projetos & MS Project
Aula Introdução ao Gerenciamento de Projetos & MS ProjectAula Introdução ao Gerenciamento de Projetos & MS Project
Aula Introdução ao Gerenciamento de Projetos & MS ProjectDiego Nei, MBA, PMP®
 

Similar to FDD (20)

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
 
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
 
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
 
38484931 questionario-es
38484931 questionario-es38484931 questionario-es
38484931 questionario-es
 
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)
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
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...
 
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
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2
 
Curso Microsoft Project 2010 / 2013
Curso Microsoft Project 2010 / 2013Curso Microsoft Project 2010 / 2013
Curso Microsoft Project 2010 / 2013
 
Apresentação pre tcc
Apresentação pre tccApresentação pre tcc
Apresentação pre tcc
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
Desenvolvimento Ágil
Desenvolvimento ÁgilDesenvolvimento Ágil
Desenvolvimento Ágil
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Development
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven development
 
Scrum - Gerenciamento de Projetos
Scrum - Gerenciamento de ProjetosScrum - Gerenciamento de Projetos
Scrum - Gerenciamento de Projetos
 
Aula Introdução ao Gerenciamento de Projetos & MS Project
Aula Introdução ao Gerenciamento de Projetos & MS ProjectAula Introdução ao Gerenciamento de Projetos & MS Project
Aula Introdução ao Gerenciamento de Projetos & MS Project
 
Apresentação RUP
Apresentação RUPApresentação RUP
Apresentação RUP
 

FDD

  • 1. ESCOLA TÉCNICA DE RONDONÓPOLIS CURSO: TÉCNICO EM INFORMÁTICA DOCENTE: ZAREIF DIB DISCENTES: ELCIENE RIBEIRO LAURA CAPURRO
  • 2. História O Desenvolvimento guiado a funcionalidades (FDD) foi criado em 1997 num grande projeto de sistema de empréstimos em Java para o Banco United Overseas Bank, em Singapura. Problema: Após dois anos de consultoria, 3.500 páginas de casos de uso e um modelo de objetos com centenas de classes, foi considerado impossível. Decisão: União entre a experiência de análise e modelagem orientadas a objetos de Peter Coad e o gerenciamento de projetos de Jeff De Luca. Resultado: 15 meses depois da contratação da dupla , 2000 features entregues por uma equipe de 50 pessoas. Peter Coad Jeff De Luca (Os Ninjas criadores da metodologia FDD)
  • 3. (Igual a um ninja!) O que é FDD? 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, conquistando os três principais públicos de um projeto de software: Clientes Gerentes Desenvolvedores
  • 4. "O Ornitorrinco era originalmente o projeto de um pato, mas houve falha na comunicação entre os desenvolvedores e o cliente".
  • 7. O que são Features? Features são características ou Funcionalidades que representam algum valor para o cliente e devem ser expressas da seguinte forma: <action><result><object> Exemplo: ação resultado objeto Calcular o total de uma venda.
  • 8. Práticas da FDD Modelagem de Objetos do Domínio; Desenvolvimento por features; Posse individual de classe (código); Equipe de features; Inspeções; Builds regulares; Gerenciamento de configuração; Relatório /Visibilidade de Resultados;
  • 9. Papéis Principais Especialistas no Domínio Gerente de Gerente de Programadores Proprietários das projeto Desenvolvimento Chefes classes Arquiteto Chefe
  • 10. Ninjas, mal posso ver seus movimentos! Mas posso ver seus resultados!
  • 11. Da mesma forma é a FDD. Trata-se de uma metodologia muito objetiva, que promete resultados periódicos rápidos e satisfatórios, sendo estes períodos equivalentes a uma semana ou menos. Sua objetividade a divide em apenas duas fases: FASES Descrição Período 1- Concepção e Planejamento Pensar antes de fazer 1 a 2 semanas 2- Construção Fazer de forma iterativa 2 semanas
  • 12. Processo Descrição Cada processo é Descrito em não mais do que duas página de papel tamanho carta, frente e verso. Cada descrição do processo apresenta-se de acordo com a Estrutura: Entradas Tarefas Verificação Saída
  • 13. Processos da FDD A FDD, classicamente, possui cinco processos. DMA- Desenvolver um Modelo Abrangente CLF- Construir uma Lista de Funcionalidades PPF- Planejar Por Funcionalidade DPF- Detalhar por Funcionalidade CPF- Construir por Funcionalidade
  • 14.
  • 15. Processo 1 DMA- Desenvolver um Modelo Abrangente Adquirir conhecimento do domínio e desenvolver um modelo geral Estabelecer o “propósito do negócio” do novo sistema. Construção de um “modelo conceitual” do sistema.
  • 16. Entradas Especialistas no domínio, programadores e arquitetos chefes são selecionados. Atividades *walkthrough – passo a passo
  • 17. Saídas Modelo Geral do Domínio; Diagrama das Classes principais com alguns métodos e atributos identificados; Diagramas de Sequência de algumas funcionalidades mais complexas (se houver); Comentário sobre o modelo;
  • 18. Processo 2 CLF- Construir uma Lista de Funcionalidades O domínio é decomposto até chegar nas funcionalidades; As funcionalidades são agrupadas e categorizadas; As funcionalidades são granuladas até ser necessário menos de 2 semanas para seu desenvolvimento;
  • 19. Entradas O Processo 1 ter sido concluído com sucesso. Atividades
  • 20. Saídas Uma lista de áreas do domínio identificadas; Para cada área, uma lista de atividades de negócio (conjunto de funcionalidades); Para cada atividade são definidos os passos a serem realizados(Funcionalidades);
  • 21. Processo 3 PPF- Planejar Por Funcionalidade Uma data de lançamento é estabelecida para o release inicial; A lista de funcionalidades priorizadas é refinada; O Trabalho técnico é planejado e atribuído;
  • 22. Entradas O Processo 2 ter sido concluído com sucesso. Atividades
  • 23. Saídas Atividades de negócio com data de término; Programadores chefes atribuídos a atividades de negócio; A lista de classes e seus donos (desenvolvedores);
  • 24. Processo 4 DPF- Detalhar por Funcionalidade Regras e transações são identificadas; O modelo da interface do usuário é esboçado; Diagramas de sequência mais detalhados são produzidos; Especialistas são consultados para descobrir qualquer necessidade específica adicional;
  • 25. Entradas O Processo 3 ter sido concluído com sucesso. Atividades
  • 26. Saídas Diagramas de sequência; Projetos alternativos (caso exista); O modelo de objeto com classes, métodos e atributos novos ou atualizados ; Lista de tarefas(calendário/o que fazer)
  • 27. Processo 5 CPF- Construir por Funcionalidade As funcionalidades são construídas implementando todas as classes e métodos necessários; Testes de unidades; As funcionalidades são inseridas no build quando o teste resulta em sucesso;
  • 28. Entradas O processo anterior (Processo 4) ter sido concluído com sucesso. Atividades
  • 29. Saídas Classes e/ou métodos que passaram na inspeção do código com sucesso; Classes inseridas no build; A conclusão da funcionalidade do cliente ;
  • 31.
  • 32. Os seis marcos do FDD
  • 33. Modelo disponibilizado pela empresa de desenvolvimento de software Sys Evolution que utiliza a FDD como metodologia de gerenciamento e desenvolvimento de seus softwares.
  • 34. E lembre-se: Então seja um deles e desenvolva seu software como um ninja!