Top Banner
Você é um desenvolvedor de software acima da média? Qualidade no desenvolvimento de software
64

Qualidade no desenvolvimento de softwre

Aug 05, 2015

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Qualidade no desenvolvimento de softwre

Você é um desenvolvedor de software acima da média?Qualidade no desenvolvimento de software

Page 2: Qualidade no desenvolvimento de softwre

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

Você se considera um desenvolvedor de software ACIMA da média?

Page 4: Qualidade no desenvolvimento de softwre

Afinal, programar é fácil !!!!!!

Page 5: Qualidade no desenvolvimento de softwre

Mas desenvolver um software com qualidade, que seja funcional e que possa evoluir com sustentabilidade ....

Page 6: Qualidade no desenvolvimento de softwre

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

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

Mas se durante a construção quisermos adicionar um andar para garagem?

Page 9: Qualidade no desenvolvimento de softwre

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

No desenvolvimento de software mudanças são naturais em qualquer etapa !

Page 11: Qualidade no desenvolvimento de softwre

Qual o custo para construir outro edifício igual ao lado?

Page 12: Qualidade no desenvolvimento de softwre

E para copiar o software, qual o custo?

Page 13: Qualidade no desenvolvimento de softwre

Ok, mas e se perdêssemos o código fonte? Seria o mesmo custo?

Page 14: Qualidade no desenvolvimento de softwre

Desenvolvimento de software é aprendizado !!!!

Page 15: Qualidade no desenvolvimento de softwre

Time de desenvolvimento de software ao fechar 1 ano em um projeto único !

Page 16: Qualidade no desenvolvimento de softwre

O time apenas se preocupou em PROGRAMAR !!!

Page 17: Qualidade no desenvolvimento de softwre

Afinal, programar é fácil !!!!!!

Page 18: Qualidade no desenvolvimento de softwre

Mas ao final do segundo ano ....

Page 19: Qualidade no desenvolvimento de softwre

Vamos contratar mais programadores, afinal o problema é produtividade !

Page 20: Qualidade no desenvolvimento de softwre

Agora temos uma bomba prestes e explodir

Page 21: Qualidade no desenvolvimento de softwre

Ao contrário do esperado ...

Page 22: Qualidade no desenvolvimento de softwre

De quem é a culpa?

Page 23: Qualidade no desenvolvimento de softwre

Ou seja a cozinha ficou bagunçada demais !

Page 24: Qualidade no desenvolvimento de softwre

Vamos refazer tudo ... Então time novo!

Page 25: Qualidade no desenvolvimento de softwre

E o time antigo?

Page 26: Qualidade no desenvolvimento de softwre

Mas o que realmente houve?

Page 27: Qualidade no desenvolvimento de softwre

O time perdeu produtividade no momento em que abriu mão da qualidade do código gerado?

Page 28: Qualidade no desenvolvimento de softwre

Eles são rápidos porque abrem mão da qualidade?

Page 29: Qualidade no desenvolvimento de softwre

Qual grau de qualidade do seu código?

Page 30: Qualidade no desenvolvimento de softwre

0% = Código escrito por MIL MACACOS

Page 31: Qualidade no desenvolvimento de softwre

100% = Código impecável

Page 32: Qualidade no desenvolvimento de softwre

Times altamente produtivos são formados por pessoas que querem aprender constantemente!

Page 33: Qualidade no desenvolvimento de softwre

REFACTORING !!!!!!Alterar o código em funcionamento para torna-lo mais legível, eficiente e elegante.

Page 34: Qualidade no desenvolvimento de softwre

Mas antes, testes unitários ......

Page 35: Qualidade no desenvolvimento de softwre

Por exemplo ...

Page 36: Qualidade no desenvolvimento de softwre
Page 37: Qualidade no desenvolvimento de softwre
Page 38: Qualidade no desenvolvimento de softwre
Page 39: Qualidade no desenvolvimento de softwre

Primeiro refactoring: Nome de variáveis

Page 40: Qualidade no desenvolvimento de softwre

Segundo refactoring: Extract method

Page 41: Qualidade no desenvolvimento de softwre

Aplicando Design Pattern Builder

Page 42: Qualidade no desenvolvimento de softwre

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

Quais as características de profissionais acima da média?

Page 44: Qualidade no desenvolvimento de softwre

Iniciativa

Page 45: Qualidade no desenvolvimento de softwre

Cooperação e não competição

Page 46: Qualidade no desenvolvimento de softwre

Ensina ....

Page 47: Qualidade no desenvolvimento de softwre

Gosta de compartilhar conhecimento

Page 48: Qualidade no desenvolvimento de softwre

São apaixonados pelo que fazem

Page 49: Qualidade no desenvolvimento de softwre

Produtividade != Esforço

Page 50: Qualidade no desenvolvimento de softwre

São focados

Page 51: Qualidade no desenvolvimento de softwre

São adaptáveis

Page 52: Qualidade no desenvolvimento de softwre

O time deveria se perguntar frequentemente ....

Page 53: Qualidade no desenvolvimento de softwre

Estamos amadurecendo?

Page 54: Qualidade no desenvolvimento de softwre

Estamos desenvolvendo software com mais qualidade e

tecnologias melhores?

Page 55: Qualidade no desenvolvimento de softwre

Dominamos ou estamos no caminho de dominar as

ferramentas e tecnologia que utilizamos?

Page 56: Qualidade no desenvolvimento de softwre

E o mais importante ...

Page 57: Qualidade no desenvolvimento de softwre

Faça chuva...

Page 58: Qualidade no desenvolvimento de softwre

Faça sol...

Page 59: Qualidade no desenvolvimento de softwre

Esteja com azar ...

Page 60: Qualidade no desenvolvimento de softwre

Esteja com sorte ....

Page 61: Qualidade no desenvolvimento de softwre

De um passo em direção ao seu objetivo !

Page 62: Qualidade no desenvolvimento de softwre

Agora, se você está com sorte e tem sol .....

Page 63: Qualidade no desenvolvimento de softwre

Porque no final, você se considera um desenvolvedor de software ACIMA da média?

Page 64: Qualidade no desenvolvimento de softwre

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