5s em código terra techtalks 2010

29
5S em Código 5S em Código TechTalks 5S em Código 5S em Código Princípios Princípios Lean Lean e Práticas XP para e Práticas XP para gerar Código de Qualidade gerar Código de Qualidade

Upload: uniritterufrgstjrswildtech

Post on 18-Dec-2014

405 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 5S em Código Terra TechTalks 2010

5S em Código5S em Código

TechTalks

5S em Código5S em CódigoPrincípios Princípios LeanLean e Práticas XP para e Práticas XP para

gerar Código de Qualidadegerar Código de Qualidade

Page 2: 5S em Código Terra TechTalks 2010

Quem somos

Daniel [email protected]

� Bacharel em Informática (PUCRS)

� Professor Universitário (FACENSA)

� Mais de 10 anos de experiência em Desenvolvimento de Software, hoje atuando como CIO naTrevisan Tecnologia

� Consultor da ThoughtWorks

� Atua como Coach para adoção de Metodologias Ágeis desde 2004, focando em LeanDevelopment, Scrum, eXtreme Programming e Feature Driven Development

� Forte atuação na comunidade de desenvolvimento de software (RSJUG, DUG-RS, JEDI)

� Fundador do XP-RS (Grupo de Usuários de Metodologias Ágeis do RS) e Coordenador do GUMA(Grupo de Usuários de Metodologias Ágeis) vinculado a SUCESU-RS

Page 3: 5S em Código Terra TechTalks 2010

Quem somos

Guilherme [email protected]

� Mestre em Ciência da Computação, área de Engenharia de Software (UFRGS)

� Professor de Graduação (FACENSA e UniRitter) e Pós-Graduação (UniRitter)

� Consultor de TI, com mais de 15 anos na área de desenvolvimento de Software e 10 anos deexperiência em modelagem e desenvolvimento OO

� Instrutor/Consultor de Metodologias Ágeis da TargetTrust Treinamento e Tecnologia

� Pioneiro em Metodologias Ágeis no Brasil (Lean, SCRUM e XP)

� Fundador do XP-RS (Grupo de Usuários de Metodologias Ágeis do RS) e Vice-Coordenador doGUMA (Grupo de Usuários de Metodologias Ágeis) vinculado a SUCESU-RS

� Membro do IASA (International Association of Software Architects)

Page 4: 5S em Código Terra TechTalks 2010

O que é um código ruim?

� Mal estruturados� Confuso, faz mais de uma coisa

� Comentários� Excesso ou que não agregam valor

� Duplicados

� Padrões sem propósito/intenção

� Ausência de testes

Page 5: 5S em Código Terra TechTalks 2010

Como você mede a qualidade do seu código?

Page 6: 5S em Código Terra TechTalks 2010

O que acontece com o código nos projetos de software?

Page 7: 5S em Código Terra TechTalks 2010

E como resolvê-los?

Page 8: 5S em Código Terra TechTalks 2010

E como resolvê-los?

Page 9: 5S em Código Terra TechTalks 2010

Que habilidades um desenvolvedor deveria ter?

Page 10: 5S em Código Terra TechTalks 2010

Que venha a luz!!

Lean + eXtreme Programming

Page 11: 5S em Código Terra TechTalks 2010

Metodologias Ágeis

Page 12: 5S em Código Terra TechTalks 2010

5S em Código

� 5S� Seiri (Separação), Seiton (Organização), Seiso (Limpeza), Seiketsu(Higiene pessoal), Shitsuke (autodisciplina)

Page 13: 5S em Código Terra TechTalks 2010

O que é um código limpo?

� Eficiente� Realiza o que se propõe, direto

� Elegante� Harmonioso, simples, natural, estiloso

� Pequeno e de rápido entendimento� Regra dos 30 segundos

� Uso de nomes significativos

� Realiza o que é esperado

Page 14: 5S em Código Terra TechTalks 2010

Desenvolvedor Profissional

Page 15: 5S em Código Terra TechTalks 2010

Teste de Unidade

Page 16: 5S em Código Terra TechTalks 2010

Teste de Unidade

Page 17: 5S em Código Terra TechTalks 2010

Testes

Page 18: 5S em Código Terra TechTalks 2010

Patterns, Boas Práticas, Refactoring

Page 19: 5S em Código Terra TechTalks 2010

Patterns, Boas Práticas, Refactoring

Page 20: 5S em Código Terra TechTalks 2010

Code Coverage

Page 21: 5S em Código Terra TechTalks 2010

Code Coverage

Page 22: 5S em Código Terra TechTalks 2010

Code Coverage

Page 23: 5S em Código Terra TechTalks 2010

Integração Contínua

Page 24: 5S em Código Terra TechTalks 2010

Integração Contínua

Page 25: 5S em Código Terra TechTalks 2010

Padrões de Codificação

Page 26: 5S em Código Terra TechTalks 2010

Padrões de Codificação

Page 27: 5S em Código Terra TechTalks 2010

Considerações Finais

� Bons desenvolvedores desenvolvem bons softwares

� Conhecimento e prática ajudam no processo

� Práticas indicadas

� Metodologias Ágeis não são para todo mundo

� Práticas indicadas� Padrões� Testes e Integração Contínua� Pair Programming� Move People Around� Promoção de Conding Dojos

Page 28: 5S em Código Terra TechTalks 2010

Exercício de Superação do medo

Um voluntário, por favor...Um voluntário, por favor...

Page 29: 5S em Código Terra TechTalks 2010

Apoio