qualidade no desenvolvimento de softwre
TRANSCRIPT
![Page 1: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/1.jpg)
Você é um desenvolvedor de software acima da média?Qualidade no desenvolvimento de software
![Page 2: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/2.jpg)
Sobre
▪ Sobre o tema:
▪ Examinar o impacto de desenvolver software sem qualidade de código, bem como, o reflexo na carreira de um desenvolvedor de software.
▪ Sobre o palestrante:
▪ Gabriel Schmitt Kohlrausch, apaixonado por desenvolvimento de software. Buscando constantemente aprender boas práticas para a construção de software com qualidade, agilidade e sustentabilidade. Nerd, Gamer e praticante de paintball.
▪ [email protected] | http://stiblog.azurewebsites.net/
![Page 3: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/3.jpg)
Você se considera um desenvolvedor de software ACIMA da média?
![Page 4: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/4.jpg)
Afinal, programar é fácil !!!!!!
![Page 5: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/5.jpg)
Mas desenvolver um software com qualidade, que seja funcional e que possa evoluir com sustentabilidade ....
![Page 6: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/6.jpg)
Desenvolvimento de software é parecido com a construção civil?
Planta baixa (engenharia)
Projeto (Cronograma)
Construção
Entrega
Manutenção
Processo de construção civil
![Page 7: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/7.jpg)
Desenvolvimento de software é parecido com a construção civil?
Requisitos (engenharia)
Projeto (Cronograma)
Desevolvimento (construção)
Entrega
Manutenção
Processo de desenvolvimento de software
![Page 8: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/8.jpg)
Mas se durante a construção quisermos adicionar um andar para garagem?
![Page 9: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/9.jpg)
Ou depois de pronto o cliente: “gostei, mas não dava para mover 20 metros mais para o lado?”
![Page 10: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/10.jpg)
No desenvolvimento de software mudanças são naturais em qualquer etapa !
![Page 11: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/11.jpg)
Qual o custo para construir outro edifício igual ao lado?
![Page 12: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/12.jpg)
E para copiar o software, qual o custo?
![Page 13: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/13.jpg)
Ok, mas e se perdêssemos o código fonte? Seria o mesmo custo?
![Page 14: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/14.jpg)
Desenvolvimento de software é aprendizado !!!!
![Page 15: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/15.jpg)
Time de desenvolvimento de software ao fechar 1 ano em um projeto único !
![Page 16: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/16.jpg)
O time apenas se preocupou em PROGRAMAR !!!
![Page 17: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/17.jpg)
Afinal, programar é fácil !!!!!!
![Page 18: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/18.jpg)
Mas ao final do segundo ano ....
![Page 19: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/19.jpg)
Vamos contratar mais programadores, afinal o problema é produtividade !
![Page 20: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/20.jpg)
Agora temos uma bomba prestes e explodir
![Page 21: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/21.jpg)
Ao contrário do esperado ...
![Page 22: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/22.jpg)
De quem é a culpa?
![Page 23: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/23.jpg)
Ou seja a cozinha ficou bagunçada demais !
![Page 24: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/24.jpg)
Vamos refazer tudo ... Então time novo!
![Page 25: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/25.jpg)
E o time antigo?
![Page 26: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/26.jpg)
Mas o que realmente houve?
![Page 27: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/27.jpg)
O time perdeu produtividade no momento em que abriu mão da qualidade do código gerado?
![Page 28: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/28.jpg)
Eles são rápidos porque abrem mão da qualidade?
![Page 29: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/29.jpg)
Qual grau de qualidade do seu código?
![Page 30: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/30.jpg)
0% = Código escrito por MIL MACACOS
![Page 31: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/31.jpg)
100% = Código impecável
![Page 32: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/32.jpg)
Times altamente produtivos são formados por pessoas que querem aprender constantemente!
![Page 33: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/33.jpg)
REFACTORING !!!!!!Alterar o código em funcionamento para torna-lo mais legível, eficiente e elegante.
![Page 34: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/34.jpg)
Mas antes, testes unitários ......
![Page 35: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/35.jpg)
Por exemplo ...
![Page 36: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/36.jpg)
![Page 37: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/37.jpg)
![Page 38: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/38.jpg)
![Page 39: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/39.jpg)
Primeiro refactoring: Nome de variáveis
![Page 40: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/40.jpg)
Segundo refactoring: Extract method
![Page 41: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/41.jpg)
Aplicando Design Pattern Builder
![Page 42: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/42.jpg)
Código limpo, legível e sustentável ...
DDD (Domain Driven Design)
TDD (Test Driven Design)
S.O.L.I.D
SOA (Service Oriented Architecture)
AOP (Aspect Oriented Programming)
Desing Patterns
Architectural Patterns
Agile Principles
![Page 43: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/43.jpg)
Quais as características de profissionais acima da média?
![Page 44: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/44.jpg)
Iniciativa
![Page 45: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/45.jpg)
Cooperação e não competição
![Page 46: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/46.jpg)
Ensina ....
![Page 47: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/47.jpg)
Gosta de compartilhar conhecimento
![Page 48: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/48.jpg)
São apaixonados pelo que fazem
![Page 49: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/49.jpg)
Produtividade != Esforço
![Page 50: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/50.jpg)
São focados
![Page 51: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/51.jpg)
São adaptáveis
![Page 52: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/52.jpg)
O time deveria se perguntar frequentemente ....
![Page 53: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/53.jpg)
Estamos amadurecendo?
![Page 54: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/54.jpg)
Estamos desenvolvendo software com mais qualidade e
tecnologias melhores?
![Page 55: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/55.jpg)
Dominamos ou estamos no caminho de dominar as
ferramentas e tecnologia que utilizamos?
![Page 56: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/56.jpg)
E o mais importante ...
![Page 57: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/57.jpg)
Faça chuva...
![Page 58: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/58.jpg)
Faça sol...
![Page 59: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/59.jpg)
Esteja com azar ...
![Page 60: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/60.jpg)
Esteja com sorte ....
![Page 61: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/61.jpg)
De um passo em direção ao seu objetivo !
![Page 62: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/62.jpg)
Agora, se você está com sorte e tem sol .....
![Page 63: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/63.jpg)
Porque no final, você se considera um desenvolvedor de software ACIMA da média?
![Page 64: Qualidade no desenvolvimento de softwre](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55c1c87bbb61eb99298b4584/html5/thumbnails/64.jpg)
Referências
• The Art of Unit Testing, Roy Osherove• Agile Development, James Shore & Chromatic• Test-Driven Development, Kent Beck• Software Architecture in Pratice, Len Bass & Paul Clements & Rick Kazman• Clean Code, Robert C. Martin• Agile, André Farias Gomes• http://pt.slideshare.net/bluesoftbr/construindo-uma-cultura-de-aprendizagem-mar-de-agilidade-salvador-2011• http://pt.slideshare.net/lcobucci/refactoring-like-a-boss-8-solisc