Your SlideShare is downloading. ×
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Feature-Driven Development - Visão Geral

2,118

Published on

Uma visão geral sobre o FDD.

Uma visão geral sobre o FDD.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,118
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Feature-Driven Development Jaime Barroso Isabela Maia Ruan Carvalho
  • 2. Roteiro ● O que é FDD? ● O que o FDD não é? ● A equipe... ● O que é Feature ● Ciclo de Vida ● Vantagens
  • 3. O que é FDD??!
  • 4. Feature-Driven Development (FDD) é uma metodologia ágil para o processo de engenharia de software.
  • 5. Foi elaborada com foco na entrega freqüente de “software funcionando” e na utilização de boas práticas durante o desenvolvimento.
  • 6. O FDD é um processo de desenvolvimento iterativo e incremental.
  • 7. O FDD abstrai o melhor de dois mundos: programação e modelagem
  • 8. e foca em um desenvolvimento bem equilibrado.
  • 9. O que o FDD não é??!
  • 10. O FDD não é uma metodologia descrita em trinta volumes de livros.
  • 11. O FDD não é uma metodologia de gerenciamento de projetos de software.
  • 12. O FDD não é uma bala de prata, portanto, ela não resolverá todos os problemas do mundo, ou da sua empresa.
  • 13. A equipe...
  • 14. Gerente de Projeto ● O Gerente do Projeto é responsável pelos assuntos administrativos; ● Gerenciamento de recursos, orçamentos, equipamentos, entre outros; ● A principal meta é garantir que nenhum fator externo atrapalhe a equipe.
  • 15. Especialista de Negócios ● Conhecedor das regras de negócio e apresenta as necessidades à equipe; ● Disponibiliza os detalhes das funcionalidades; ● Membro fixo da equipe e sempre fornece feedbacks sobre as entregas.
  • 16. Arquiteto de Software ● Bastante experiente em modelagem orientada a objetos - UML; ● Atua como facilitador no entendimento das regras de negócio; ● Responsável pela última palavra em toda a arquitetura do sistema;
  • 17. Gerente de Desenvolvimento ● Responsável pelo desenvolvimento diário do produto; ● Resolve os conflitos técnicos – software, hardware - entre programadores-chefes; ● Deve possuir experiência em desenvolvimento de software e nas tecnologias utilizadas no projeto;
  • 18. Programadores-chefes ● Responsável por liderar pequenos grupos de desenvolvedores; ● Atua, também, como desenvolvedor e implementa as classes mais complexas; ● Papel fundamental nas fases de análise do negócio e planejamento de features;
  • 19. Programadores (Class-owners) ● Compõem as pequenas equipes de funcionalidades; ● Realiza programação, modelagem, testes e documentação das suas funcionalidades; ● São os “donos” das classes que realizam as features atribuídas por Programadores-chefes
  • 20. Outras funções ● Gerente de Release ● Guru da linguagem ● Testadores ● Administrador de Sistema ● Escritores técnicos ● Implantadores ● Marketing ● Entre outros...
  • 21. O que é Feature
  • 22. Features são as funcionalidades que representam algum valor para o cliente.
  • 23. Features são nomeadas através da forma: <ação><resultado><objeto>
  • 24. Exemplos de features ● Calcular o desconto de uma venda ● Listar os clientes ativos de uma empresa ● Destacar os clientes devedores ● Imprimir a nota fiscal de uma venda ● Validar a senha de um usuário
  • 25. Ciclo de Vida
  • 26. Construir um modelo abrangente ● Formar time de modelagem: especialistas, programadores e arquiteto; ● Apresentar a visão geral do produto e estudar documentação existente; ● Desenvolver modelos de pequenos grupos e unir para formar o modelo abrangente; ● Executado uma única vez no projeto.
  • 27. Construir lista de funcionalidades ● Formar o time de funcionalidades, com os programadores-chefes; ● Construir uma lista de features, separada por áreas de negócio; ● Identificar as atividades de cada área;
  • 28. Planejar por funcionalidades ● Formar o time de planejamento: gerente, gerente de desenvolvimento e programadores- chefes; ● Determinar a seqüência do desenvolvimento, baseado nas dependências de cada funcionalidade; ● Atribuir áreas de negócios aos programadores- chefes, e classes aos desenvolvedores (class- owners)
  • 29. Detalhar por funcionalidade ● Apresentação detalhada da funcionalidade com especialista de negócio; ● Estudar documentos e refinar modelos: diagramas, descrições, casos de uso; ● Escrever prólogos de métodos e classes, sem implementação ainda; ● Inspeção do design, ou modelo, da funcionalidade;
  • 30. Desenvolver por Funcionalidade ● Implementar classes e métodos; ● Inspecionar código: o desenvolvedor “convida” outro para verificar seu código; ● Testes unitários, realizados pelo próprio desenvolvedor; ● Promover a build, se a classe estiver testada e inspecionada;
  • 31. Vantagens
  • 32. Por que usar FDD? ● Planejamento e modelo na medida certa. Sem exageros, mas também sem ausência. ● Os processos favorecem a aproximação de especialistas, gerentes e desenvolvedores. ● Permite realizar entregas freqüentes ao cliente. ● A inspeção de código e de design permite obter qualidade no produto final.
  • 33. Referências ● MAGNO, Alexandre. FDD Numa casca de banana. 2007. ● Heptagon: www.heptagon.com.br ● Nebulon – Jeff De Luca: www.nebulon.com ● Oficial Site: featuredrivendevelopment.com
  • 34. Obrigado!

×