1 / 19

FDD

FDD. O que é FDD?. Feature Driven Development (Desenvolvimento Guiado por Funcionalidades) é uma metodologia ágil para gerenciamento e desenvolvimento de software. O approach do FDD não abrange todo o processo de desenvolvimento de software, mas se concentra nas fases de design e construção.

ali-gentry
Download Presentation

FDD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FDD

  2. O que é FDD? • Feature Driven Development (Desenvolvimento Guiado por Funcionalidades) é uma metodologia ágil para gerenciamento e desenvolvimento de software. • O approach do FDD não abrange todo o processo de desenvolvimento de software, mas se concentra nas fases de design e construção. • Possui mais requisitos formais e passos que outras metodologias ágeis como o XP.

  3. Lema do FDD "Resultados freqüentes, tangíveis e funcionais." Adail Rentamal

  4. Histórico

  5. Princípios “Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo. Através desse trabalho, passamos a valorizar: • Indivíduos e interação entre eles mais que processos e ferramentas; • Software em funcionamento mais que documentação abrangente; • Colaboração com o cliente mais que negociação de contratos; • Responder a mudanças mais que seguir um plano. Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.”

  6. Aplicabilidade • O FDD é a mais formal que todas as outras metodologias ágeis e é recomendado para projetos maiores com mais de dez desenvolvedores.

  7. Características • Fornece a estrutura suficiente para equipes maiores • Enfatiza a produção de software de qualidade • Entrega resultados freqüentes, tangíveis e funcionais • Realiza trabalho significativo desde o início, antes de tornar-se altamente iterativa • Fornece informação de estado e progresso de forma simples e compreensível • Agradam a clientes, gerentes e desenvolvedores.

  8. Estrutura

  9. Processos • DMA (Desenvolver um Modelo Abrangente): Análise Orientada por Objetos • CLF (Construir a Lista de Funcionalidades): Decomposição Funcional • PPF (Planejar por Funcionalidade): Planejamento Incremental • DPF (Detalhar por Funcionalidade): Desenho (Projeto) Orientado por Objetos • CPF (Construir por Funcionalidade): Programação e Teste Orientados por objetos

  10. Processos • Processo 1: DMA-Desenvolver um Modelo Abrangente • Diagramas de classes com foco na forma do modelo, isto é, quais classes estão no domínio, como estão conectadas umas às outras e sob quais restrições; • Métodos e atributos identificados são colocados nas classes; • Diagrama(s) de seqüência e/ou de máquina de estados, se houver; • Comentários sobre o modelo para registrar o motivo pelo qual uma forma de modelo foi escolhida e/ou quais alternativas foram consideradas.

  11. Processos • Processo 2: CLF-Construir a Lista de Funcionalidades • Uma lista de áreas de negócio; • Para cada área, uma lista de atividades de negócio dentro daquela área; • Para cada passo da atividade de negócio, uma funcionalidade que satisfaça ao passo.

  12. Processos • Processo 3: PPF-Planejar por Funcionalidade • Atividades de negócio com datas de término (mês e ano); • Programadores-líderes atribuídos a atividades de negócio; • Áreas com datas de término (mês e ano), derivadas da data do último término de suas respectivas atividades de negócio; • Lista das classes e seus respectivos desenvolvedores proprietários

  13. Processos • Processo 4: DPF-Detalhar por Funcionalidade • Uma capa com comentários, que completa e descreve o pacote de projeto de tal forma a ser suficiente para futuros revisores; • Os requisitos referenciados (se houver) na forma de documentos e de todos os memorandos de confirmação relacionados, e documentação de apoio; • O(s) diagrama(s) de seqüência; • Alternativas de projeto (design) (se houver); • O modelo de objetos com classes, métodos e atributos novos/atualizados; • A saída gerada pela <sua ferramenta>para os prefácios de classes e métodos, criados ou modificados por esse projeto (design); • Lista de tarefas e agendamentos para itens de ação nas classes afetadas para cada membro da equipe.

  14. Processos • Processo 5: CPF-Construir por Funcionalidade • Classe(s) e/ou método(s) que passaram na inspeção de código com sucesso; • Classe(s) que foi(ram) promovida(s) à versão atual (build); • O término de uma função com valor para o cliente (funcionalidade).

  15. Casos de sucesso United Overseas Bank, em Singapura. Após 2 anos de consultoria, 3500 paginas de casos de uso e um modelo com centenas de casos de uso, a entrega do projeto no prazo que havia sido determinado foi avaliado como impossível. Mas após a implantação do FDD, em 15 meses a equipe entregou 2000 features por uma equipe de 50 pessoas, demonstrando a total eficiência da metodologia.

  16. Ferramentas • UML em cores

  17. FDD progress report Ferramentas

  18. Work Package Progress Report Ferramentas

  19. Vantagens • Gerenciamento de projeto • Reporte de status do projeto • Estimativa • Controle de mudança • Uma metodologia ágil para aplicações críticas • Foco em “funcionalidades de valor para o cliente”

More Related