FDD/TDD Flashcards
Metodologias Ágeis
Foram criadas para otimizar o processo, reduzindo burocracias e aumentando a eficiência em projetos, especialmente diante de requisitos em constante evolução.
Test Driven Development (TDD)
Identificação de funcionalidades a serem desenvolvidas.
Criação de testes automatizados que inicialmente falham.
Execução dos testes e ajustes no código até que passem.
Refatoração e integração contínua com novos incrementos.
Benefícios do TDD:
Código mais confiável e compreensível.
Maior cobertura de testes e detecção precoce de erros.
Facilitação de testes de regressão e depuração.
Desvantagens do TDD:
Curva de aprendizado alta, especialmente para iniciantes.
Dificuldade em projetos complexos e sistemas multi-threaded.
Dependência de ferramentas e testes bem projetados.
Feature Driven Development (FDD)
Modelagem do domínio com definição de estrutura e componentes.
Listagem e priorização de funcionalidades desejadas pelos clientes.
Planejamento detalhado, definindo cronogramas e recursos.
Design e construção por funcionalidades com revisões constantes.
Benefícios do FDD
Organização robusta e eficiente para projetos amplos.
Facilidade de gerenciamento e entregas contínuas.
Feedback constante para melhoria e satisfação do cliente.
Desvantagens do FDD
Menor adaptabilidade a mudanças nos requisitos.
Estrutura excessiva para projetos pequenos ou equipes inexperientes.