Qualidade no desenvolvimento de softwre

Post on 05-Aug-2015

35 views 1 download

Transcript of Qualidade no desenvolvimento de softwre

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

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.

▪ gabriel@society.com.br | http://stiblog.azurewebsites.net/

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

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

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

Desenvolvimento de software é parecido com a construção civil?

Planta baixa (engenharia)

Projeto (Cronograma)

Construção

Entrega

Manutenção

Processo de construção civil

Desenvolvimento de software é parecido com a construção civil?

Requisitos (engenharia)

Projeto (Cronograma)

Desevolvimento (construção)

Entrega

Manutenção

Processo de desenvolvimento de software

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

Ou depois de pronto o cliente: “gostei, mas não dava para mover 20 metros mais para o lado?”

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

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

E para copiar o software, qual o custo?

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

Desenvolvimento de software é aprendizado !!!!

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

O time apenas se preocupou em PROGRAMAR !!!

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

Mas ao final do segundo ano ....

Vamos contratar mais programadores, afinal o problema é produtividade !

Agora temos uma bomba prestes e explodir

Ao contrário do esperado ...

De quem é a culpa?

Ou seja a cozinha ficou bagunçada demais !

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

E o time antigo?

Mas o que realmente houve?

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

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

Qual grau de qualidade do seu código?

0% = Código escrito por MIL MACACOS

100% = Código impecável

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

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

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

Por exemplo ...

Primeiro refactoring: Nome de variáveis

Segundo refactoring: Extract method

Aplicando Design Pattern Builder

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

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

Iniciativa

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

Ensina ....

Gosta de compartilhar conhecimento

São apaixonados pelo que fazem

Produtividade != Esforço

São focados

São adaptáveis

O time deveria se perguntar frequentemente ....

Estamos amadurecendo?

Estamos desenvolvendo software com mais qualidade e

tecnologias melhores?

Dominamos ou estamos no caminho de dominar as

ferramentas e tecnologia que utilizamos?

E o mais importante ...

Faça chuva...

Faça sol...

Esteja com azar ...

Esteja com sorte ....

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

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

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

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