xDD

247 visualizações

Publicada em

Os princípios ágeis relacionados com DDD, TDD e BDD

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
247
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Agenda da palestra Relembrar o manifesto ágil e dizer que as práticas *DD podem ser perfeitamente encaixadas no manifesto: Individuos e interações entre eles: DDD e suas colaborações entre o time de negócios e o time de desenvolvimento Software em funcionamento: TDD garante feedback rápido do seu código, garantindo que ele está funcionando Colaboração com o cliente: BDD faz com que o desejo do cliente vire código “ na frente dos seus olhos ” Responder a mudanças: *DD faz com que as mudanças não sejam vistas como vilãs
  • Mostrar que estas práticas podem se traduzir uma maior eficácia no seu projeto. Estas práticas, em primeiro momento, podem aumentar o custo de desenvolvimento, porém irá certamente diminuir o custo de manutenção, uma vez que há a certeza do impacto que determinada alteração terá no código como um todo.
  • Um projeto de software é uma troca entre o Negócio (dominio), a tecnologia e a equipe. O domínio deve vir do aprendizado trocado entre a equipe e o negócio, respeitando e por vezes superando os limites que a técnologia impõe.
  • Já que um software reflete uma realidade de negócio, o Domain-Driven Design vem para tratar toda esta complexidade no “ coração ” do software.
  • As confusões que as pessoas fazem sobre o DDD. Falar sobre cada uma delas
  • Uma maneira de modelar o negócio Uma coleção de principios e práticas Uma maneira de focar os esforços de design onde ele é mais importante
  • Falar sobre a importancia da linguagem única e a visão compartilhada entre a equipe de negócios e a equipe de desenvolvimento
  • Falar sobre o que é um modelo, sua representação da realidade, de um conceito, uma ideia. Modelos podem ter mais detalhes ou menos...
  • Provocar a platéia sobre como representar um modelo de negócio
  • Falar sobre método científico, etc.
  • Falar sobre a base do tdd, o ciclo básico e etc
  • Imagina se aquele problema do double vai para produção...
  • Falar sobre qualidade, qualidade externa e qualidade interna. Sobre o teste de unidade, teste de integração e testes ponta a ponta.
  • Bater novamente na tecla da antecipação da dor.
  • xDD

    1. 1. DDD / TDD / BDDTeoria e práticas
    2. 2. Os porquês
    3. 3. Eficácia = valor correto para o cliente custo total de propriedade Custo Custo Custo totaldesenvolvimento manutenção propriedade Entender Modificar Testar Distribuir Manter
    4. 4. DDD Domínio / NegócioTecnologia Equipe
    5. 5. DDDDomain-Driven Design
    6. 6. DDDDomain-Driven Design não é • Tecnologia • Metodologia • Arquitetura • Repositorio • Bala de prata • Receita de bolo
    7. 7. DDDDomain-Driven Design é, na verdade: • Modelagem de negócio • Coleção de princípios e práticas • Focar os esforços de design onde ele é mais importante
    8. 8. DDD Foco no domínioDesign do domínio é baseado em um modelo
    9. 9. DDDLinguagem Única Visão Compartilhada
    10. 10. DDDMas, afinal, o que é um modelo?
    11. 11. DDDComo representar um modelo?
    12. 12. DDDDiagramas?
    13. 13. DDDEspecificações detalhadas?
    14. 14. DDDTexto livre (Casos de uso, histórias)?
    15. 15. DDDTestes automatizados?
    16. 16. DDDCódigo Fonte?
    17. 17. DDDO modelo é a representação mental de um determinado conceito Tudo mais é apenas uma ferramenta de comunicação
    18. 18. DDDElaborar um modelo é um exercício cooperativo... ...Baseado em uma linguagem comum
    19. 19. DDDElabore um modelo... ...e o expresse em todos os níveis
    20. 20. DDDElaborar um modelo é um exercício evolucionário
    21. 21. DDDTestar é fundamental
    22. 22. DDDAutomatizar os testes é fundamental
    23. 23. TDDTest-Driven Development • Desenvolvimento guiado por testes • Mas não é sobre testes • É sobre design • É sobre código funcionando • É sobre código posto a prova
    24. 24. TDDComo funciona
    25. 25. TDDExemplo • Como Banqueiro quero negar débitos na conta corrente de determinado cliente caso ele não tenha saldo suficiente para pagá-lo, assim, eu não perderei dinheiro.
    26. 26. TDDConcordam?
    27. 27. TDDTDD é perda de tempo? (Microsoft research)
    28. 28. BDDBehavior-Driven Development Fazer certo a coisa, não implica, necessáriamente, em fazer a coisa certa
    29. 29. BDDQualidade, o que é?
    30. 30. BDDAntecipe a dor!
    31. 31. BDDExemplo

    ×