dojo - EverSantoro.com.br
Transcrição
dojo - EverSantoro.com.br
DESENVOLVIMENTO WEB COM JAVA eversantoro Coding Dojo Aplicando Princípios Ágeis Por que treinar? O Brasil teria conseguido chegar a penta campeão do mundo sem treino? O dia-a-dia de um desenvolvedor são os campeonatos. Quando são os treinos? Um campeonato serve como treino? 3 Definição de treinamento A expressão treinamento refere-se à aquisição de conhecimento, habilidades e competências como resultado de formação profissional ou do ensino de habilidades práticas relacionadas à competências úteis específicas. 4 Dojo O dojo ou dojô (pronuncia-se DÔ-JÔ) é o local onde se treinam artes marciais, especialmente as nipônicas. Muito mais do que uma simples área, o dojo deve ser respeitado como se fosse a casa dos praticantes. Por isso, é comum ver o praticante fazendo uma reverência antes de adentrar, tal como se faz nos lares japoneses. Artes marciais que utilizam dojo: Judô, Jiu-Jitsu, Ninjutsu, Karatê e Taekwondo. 5 Dojo 6 Coding Dojo • Um Coding Dojo é uma reunião presencial para estudar e praticar desenvolvimento de software. • Seus praticantes estão lá para se divertir e para participar em prática expontânea de forma a melhorar suas habilidades. • Em um ambiente não competivivo e colaborativo, todos os participantes possuem um objetivo em comum: resolver o problema que foi proposto no início da sessão. • Para tanto, é utilizado algumas práticas ágeis como Pair Programming, Test Driven Development (TDD), Refactoring e Baby Steps. Pair programming Programação em par é uma das práticas mais conhecidas e mais polêmicas utilizadas pelos que adotam o Extreme Programming. Ela sugere que todo e qualquer código produzido no projeto seja sempre implementado por duas pessoas juntas, diante do mesmo computador, revezando-se no teclado. Pair programming • Será que funciona? • Já imaginou um avião apenas com o piloto sem um co-piloto? Você jamais voaria em um avião assim. Mesmo que você não se preocupe com isso a companhia aérea se preocupa e muito. • Piloto e co-piloto possuem visões diferentes. Pair programming • Em 1971, em um livro chamado The Psychology of Computer Programming (Gerald Weinberg) mostrou que o olho humano tem uma incrível capacidade de só enxergar aquilo que deseja e, naturalmente, ignorar aquilo que não quer ver • “Programadores, se deixados por conta própria, ignoram os erros mais gritantes, os quais qualquer pessoa seria capaz de detectar instantaneamente“ • Princípio da dissonância cognitiva. Pair programming • Desenvolvedores rendem mais em duplas. • Disseminação de conhecimento é uma das importantes características da programação em par. • Eleva a capacidade técnica dos desenvolvedores. • Aumenta a confiança do desenvolvedor e no software. Pair programming Programar em par exige que as pessoas envolvidas sejam receptivas, compreensivas umas com as outras, engajadas e, sobretudo, humildes. É necessário aceitar que somos falíveis para que possamos programar em par. Weinberg criou o termo egoless programming, ou seja, programação sem ego. Test Driven Development Desenvolvimento Guiado simplesmente TDD. por Testes, ou Consiste numa técnica de desenvolvimento de software onde primeiro são criados os testes e somente depois é escrito o código necessário para passar por eles. Cenário comum Escrever o código de produção Escrever testes automatizados (ou não) Executar testes manuais para garantir o funcionamento Cenário com TDD Escrever um teste Refatorar Ver ele passar Diversas iterações para uma única funcionalidade. Ver ele falhar Fazer ele passar Refactoring Revisão, simplificação e evolução do código. A história do apartamento sujo... Baby Steps • Trabalhe em passos e pense simples. • Escreva códigos simplificados que atuem e resolvam apenas o seu respectivo teste. • Não crie 10 testes e saia codificando. Crie um teste e faça a codificação para que ele funcione. • Não crie testes gigantes e codificações de mesma proporção. Requisitos para o Coding Dojo • No mínimo 5 participantes • Uma sala • Um computador com projetor (apenas um) • Um problema • Um contador de tempo Requisitos dos participantes • Desejo de aprender e compartilhar conhecimento • Respeito ao próximo • Mente sempre aberta • Disciplina • Comprometimento Como funciona um encontro Piloto: Escreve o código Co-piloto: Explica o que o Piloto está fazendo e o ajuda Rodada: Dura 7 minutos Piloto se une ao grupo, Co-piloto vira piloto e alguêm do grupo vira Co-piloto. Grupo só fala: Teste está verde (passou) Antes de escrever um teste (para decidir o que será feito) OBRIGADO POR HOJE É SÓ…