O documento descreve as regras básicas e benefícios do Coding Dojo, um treinamento que utiliza pequenos passos ("babysteps"), programação em pares e fases para garantir que todos entendam o código enquanto aprendem e ensinam uns aos outros. O objetivo é compartilhar conhecimento de forma colaborativa.
8. “O conhecimento pertence a todos e não deve ser retido”
by Alê Borba
{Coding Dojo}
Regras Básicas:
• Babysteps
• Pair Programming
• Todos devem entender
• 3 fases
9. “O conhecimento pertence a todos e não deve ser retido”
by Alê Borba
{Coding Dojo}
Babysteps
São passos de bebe!
10. “O conhecimento pertence a todos e não deve ser retido”
by Alê Borba
{Coding Dojo}
Pair Programming
11. “O conhecimento pertence a todos e não deve ser retido”
by Alê Borba
{Coding Dojo}
Todos devem entender
15. “O conhecimento pertence a todos e não deve ser retido”
by Alê Borba
{Coding Dojo}
Babysteps
• Ajuda a visualizar o problema de uma maneira
diferente.
• Facilita o raciocínio em equipe.
• Ajuda a controlar a ansiedade.
16. “O conhecimento pertence a todos e não deve ser retido”
by Alê Borba
{Coding Dojo}
Pair Programming
• Ajuda trabalhar em equipe.
• Lidar com conflitos.
• Controlar o tempo e manter o foco.
17. “O conhecimento pertence a todos e não deve ser retido”
by Alê Borba
{Coding Dojo}
Todos devem entender
• Ensinar.
• Aprender.
• Perguntar.
18. “O conhecimento pertence a todos e não deve ser retido”
by Alê Borba
{Coding Dojo}
• Testes... testes... testes... e mais testes...
19. “O conhecimento pertence a todos e não deve ser retido”
by Alê Borba
:wq
Alê Borba
@ale_borba
www.linkedin.com/in/alexandrealvesborba
alexandre.borba@imasters.com.br
Notas do Editor
Review do que será abordado: Apresentação Sobre comunidades Coding Dojo: Regras Coding Dojo: comparativo
Sim, esse é o meu cachorro deitado na minha mesa rsrs Já fui feirante, vendedor de material de construção, gerente de loja, vendedor de motos, vendedor de celulares. Um belo dia resolvi mexer com internet. Fui programador PHP, trabalhei em um provedor de internet a rádio (sim isso existe!!) então...
Trabalho com evangelista das comunidades, fomentando o compartilhamento de conhecimento, convidando articulistas, validando artigos, organizando Hackathons e Coding Dojos. E sempre tomando muito café
Se eu quiser comer, tenho que fazer. Sim, sou casado, mas a patroa só lava os pratos! Cozinha de guerrilha Rul3z!
E agora nós realmente começamos a brincadeira! Porque isso é importante e em que isso vai me ajudar?
Uma comunidade pode ser compreendida como um grupo de pessoas que possui certa identidade devido ao fato de compartilhar interesses comuns ou proximidade geográfica. Uma comunidade pode ser identificada como um grupo de pessoas que vivem na mesma aldeia, cidade ou país. Por outro lado, a comunidade pode ser identificada como um grupo de pessoas que compartilham um conjunto de valores, interesses ou enfermidades comuns.
Se um teste não está passando, você deve escrever o código mais simples possível que faça o teste passar. Quando for escrever um novo teste para o mesmo método, escreva um teste que teste só um pouquinho a mais da funcionalidade desejada.
A programação é feita em duplas. Cada dupla tem um piloto e um co-piloto. Ambos pensam em como passar no teste atual, mas só o piloto digita. Cada par tem por volta de 5 a 10 minutos no seu turno. Quando esse tempo acaba: O piloto volta para a platéia O co-piloto assume o lugar do piloto Um novo co-piloto vem da platéia
O piloto e o co-piloto devem sempre explicar em voz alta o que estão tentando fazer para solucionar o problema. Qualquer um na platéia pode pedir explicações se não entender algum raciocínio
Antes de qualquer código, tem que ser feito um teste.
Um Coding Dojo sempre está em alguma dessas 3 fases, dependendo do estado dos testes: Vermelha: Pelo menos um teste não está passando. A dupla da vez deve se concentrar em fazer o teste passar. A platéia não deve falar nessa fase, para não atrapalhar piloto e co-piloto. Verde: Os testes acabaram de ser rodados e todos estão passando. Essa é a hora de quem está na platéia dar sugestões para melhorar o código. Cinza: O código foi modificado de acordo com as sugestões, mas a bateria de testes ainda não foi rodada. Deve-se evitar fazer grandes modificações no código nessa fase.
E dai? O que que eu tenho com isso tudo? Porque isso me interessa?
Pensando mais calmamente, você consegue visualizar outras formas e caminhos de resolver o problema e não só aquele que veio primeiro na sua mente e que nem sempre é o melhor. Como sempre começamos dos passos mais simples, isso faz com que o raciocinio comece em equipe praticamente do zero. Como você tem sempre que pensar em passos curtos, força que você tenha controle “pegar e resolver”
Você exercita ao extremo o trabalho em equipe e o comando de um projeto. Sempre que aparecem conflitos em piloto e copiloto, quem tem que tomar a decisão final é o piloto, ele tem o comando. Com tempos curtos a equipe tem que dominar o tempo e manter o foco em passar nos testes Com a dinâmica da troca constante de pilotos e copilotos, você tem um problema sério e que tem que ser muito trabalhado. O legado! Aprender a deixar e aprender a trabalhar com ele. O código é do Dojo, o código não é seu.
Aprender a passar o conhecimento. A compartilhar. Humildade para aprender o que não sabe. Cara dura pra sempre perguntar o que não sabe.
Sempre testar! Isso faz com que qualquer um contribua com seu código! Falar sobre retrospectivas!
Sempre testar! Isso faz com que qualquer um contribua com seu código!