5s em código terra techtalks 2010
DESCRIPTION
TRANSCRIPT
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
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
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)
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
Como você mede a qualidade do seu código?
O que acontece com o código nos projetos de software?
E como resolvê-los?
E como resolvê-los?
Que habilidades um desenvolvedor deveria ter?
Que venha a luz!!
Lean + eXtreme Programming
Metodologias Ágeis
5S em Código
� 5S� Seiri (Separação), Seiton (Organização), Seiso (Limpeza), Seiketsu(Higiene pessoal), Shitsuke (autodisciplina)
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
Desenvolvedor Profissional
Teste de Unidade
Teste de Unidade
Testes
Patterns, Boas Práticas, Refactoring
Patterns, Boas Práticas, Refactoring
Code Coverage
Code Coverage
Code Coverage
Integração Contínua
Integração Contínua
Padrões de Codificação
Padrões de Codificação
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
Exercício de Superação do medo
Um voluntário, por favor...Um voluntário, por favor...
Apoio