Recentemente contamos com a consultoria da K21 para mudar a forma como desenvolvemos para nosso portfólio de projetos. Um dos processos que implantamos, como sugestão da consultoria, foi o Dojo .
O Dojo tem como objetivo a reunião de grupo de desenvolvedores com foco nas boas práticas de desenvolvimento. Dentro da visão de gerenciamento de projetos, estamos usando o Dojo para:
- Difusão de bons padrões de programação
- que gera qualidade de código do desenvolvedor, difunde os critérios de aceitação e diminui o número de correções;
- Funciona como uma ferramenta para ensino de regras de negócio
- que gera reflexos no time como maior capacidade de análise do time e;
- sugestões para melhorias nos projetos ou para melhor definição de funcionalidades
- Motivação do time
- Programador de verdade gosta de aprender e evoluir sempre
- O time fica mais coeso e amigo
- Aumento de produtividade do time no longo prazo
Vou colocar algumas regras para depois discutir o porquê de cada uma. Estamos em constante evolução nesse aspecto, essa é a terceira versão dessa lista:
- O entregável do dia do Dojo deve ser uma tarefa da fila de desenvolvimento, de preferência desafiadora e complexa;
- O Dojo é feito durante uma tarde, em um dia normal de trabalho;
- A tarefa que será desenvolvida deve ser enviada com antecedência aos desenvolvedores;
- São formados trios aonde temos sempre um digitando, outro acompanhando ao lado e outro observando;
- O nível entre os desenvolvedores do time não pode ser destoantes;
- Ao final do dia temos uma retrospectiva;
- E por último, mas não menos importante: o ambiente deve ser divertido.
O entregável do dia do Dojo deve ser uma tarefa da fila de desenvolvimento, de preferência desafiadora e complexa
Essa é uma premissa nossa e que ajuda o Dojo a ter continuidade: o produto final é algo que será, certamente, usado pela empresa.
Muito mais do que ajudar em treinamento, o Dojo ajuda a fazer o desenvolvedor ter conexão com o que é seu dia a dia. E mesmo assim, a discussão em grupo ajuda o produto final a ter mais qualidade.
O desenvolvedor, principalmente os recém chegados, entendem melhor as regras de negócio.
E, por último, ajuda a dar uma visão de sucesso ao final do dia.
O Dojo é feito durante uma tarde, em um dia normal de trabalho
Essa é outra vantagem do entregável ser um item da fila de desenvolvimento. Muitos programadores ainda estão na faculdade ou possuem especializações à noite, o que dificultaria a sincronização de agendas.
Ao mesmo tempo, durante o dia o aprendizado fixa melhor. Como a empresa é a maior beneficiada, em todos os sentidos, não há oposição da realização no horário de trabalho.
A tarefa que será desenvolvida deve ser enviada com antecedência aos desenvolvedores
Esse ponto ajuda a fazer o Dojo a ser mais produtivo. Mostrando antes o que vai ser feito, o desenvolvedor pode se preparar melhor, propor novas ferramentas ou novas formas de desenvolver.
A seleção é sempre feita antes num consenso entre o diretor de TI, o gerente de desenvolvimento e o gerente de projetos. Assim alinhados grau de dificuldade com andamento de projetos.
São formados trios aonde temos sempre um digitando, outro acompanhando ao lado e outro observando
Esse processo é simples. Senta um programador com o teclado, outro ao lado e um terceiro, em pé, observa. Depois de 10 minutos o que está ao lado do teclado assume, quem está em pé senta e quem estava digitando fica em pé. Isso dá ritmo e força o aprendizado.
O nível entre os desenvolvedores do time não pode ser destoantes
Essa regra é nossa. Mais que uma tutoria, dessa forma temos uma troca. A assimetria se for grande inibe o desenvolvedor mais júnior. E o gerente de desenvolvimento está sempre por perto para ajudar com metodologia e padrões de desenvolvimento.
Ao final do dia temos uma retrospectiva
Hora das lições aprendidas. De ver a evolução do que foi desenvolvido. Para avaliar se a meta foi alcançada e para propor melhorias no processo.
E por último, mas não menos importante: o ambiente deve ser divertido
O Dojo na Fidelize acontece sempre de 12h às 18h. E sempre com pizza!
Temos ainda outras experiências que gostaríamos de fazer e que vem sendo propostas, como interação com times externos usando o Dojo ou mesmo seleção de programadores para o time usando o Dojo.