qualidade no desenvolvimento de softwre

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

Upload: sti-society-tecnologia-da-informacao-ltda

Post on 05-Aug-2015

35 views

Category:

Software


1 download

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