A pessoa mais inteligente da sala
O Pair Programming, ou Peer Programming, é um antigo aliado dos desenvolvedores, muito utilizado para resolver problemas pontuais ou passar conhecimento de um dev Senior para um dev mais Junior. É uma ferramenta muito útil, que coloca duas cabeças pensantes para solucionar um problema complexo.
Esses dias, em um workshop escutei uma frase que me lembrou bastante das experiências que tive com dinâmicas em grupo, mas especialmente com um caso específico de pair programming:
“Não existe ninguém mais inteligente nessa sala do que a sala toda”
Essa frase devia estar estampada na entrada de todas as empresas do mundo — dadas suas devidas alterações na língua— é imprescindível entendermos o poder da colaboração para resolver problemas complexos ou encontrar uma solução inovadora, que são dois casos muito comuns no universo de tecnologia.
Agora, voltando a falar do Pair Programming, ele é utilizado exclusivamente por desenvolvedores em cima de códigos, certo? Errado.
Realizar sessões de pair programming sem escrever uma linha de código se tornou algo bem corriqueiro aqui na Inventos e cada vez mais vem se provando um ponto chave dos nossos projetos.
E agora você deve estar se perguntando, “esse cara enlouqueceu? Como assim pair programming sem código?” não é tão simples , mas senta que eu te explico.
Com toda essa revolução no-code, que já falamos aqui e aqui, cada vez mais realizamos projetos sem escrever uma única linha de código aqui na Inventos. Nós temos um sistema bem interessante de colaboração com mentores que são especialistas nas plataformas que irão ser utilizadas em determinado projeto, que além de tirar dúvidas pontuais e oferecerem workshops para o time entender melhor a plataforma ainda realizam sessões de pair programming com o dev team.
Para agilizar o desenvolvimento do produto e o aprendizado do time, essas sessões de pair programming se mostraram muito úteis ao longo dos últimos meses. É um momento da semana onde conseguimos repassar conhecimento de forma prática para o dev team e adiantar o desenvolvimento do produto ao mesmo tempo.
Esse pair programming se tornou quase que um evento da nossa rotina ágil, criamos um horário cativo para ele e sempre é um momento descontraído e muito produtivo dentro dos nossos sprints.
“Mas você ta me enrolando, quando você vai contar como funciona esse evento?”
Ótimo questionamento, jovem padawan.
Eu sei que isso vai ser um pouco corta clímax, mas o pair programming utilizando no-code é exatamente igual ao pair programming “tradicional”.
Mas pra você não perder a viagem, vamos repassar o passo a passo, de como nos preparamos e como realizamos essa dinâmica.
- Junto do dev team, separamos aquelas tasks mais cabeludas e com maior grau de dificuldade;
- Em seguida, repassamos esses pontos pro nosso mentor, para que ele possa se preparar e se organizar previamente;
- Entramos na nossa sala cativa e repassamos todos os pontos para garantir que estamos todos na mesma página;
- Alternamos entre mentor compartilhando a tela e mostrando como realizar tal tarefa e dev team compartilhando a tela replicando em maior escala o que foi ensinado
“Mas será que isso funciona mesmo? Eu quero i̶b̶a̶g̶e̶n̶s̶ números!”
É dado que você quer @? então toma.
No primeiro sprint do recorte feito, fizemos uso do pair programming e tivemos um resultado de entrega ótimo, bem acima do planejado onde conseguimos adicionar funcionalidades que nem estavam previstas para aquele momento do produto. Já no segundo sprint do recorte, decidimos que a sessão de pair programming não seria necessária e tentamos tirar apenas dúvidas mais pontuais com o mentor do time e como pode ser observado, o desempenho caiu bastante.
Já no terceiro sprint, além da sessão de pair programming com o mentor, nos organizamos e realizamos duas outras sessões de pair programming só entre o time.
O resultado não poderia ter sido melhor.
Esses encontros foram extremamente produtivos, conseguimos acelerar o desenvolvimento das tarefas sem tornar o encontro maçante, alternamos bastante entre momentos de descontração e de produção. Só de estarmos ali juntos sincronamente conseguimos sanar diversas dúvidas que surgiram e aceleramos muito o desenvolvimento pela troca de experiências, foram recorrentes as vezes que um dos devs estava com dúvida em algo que outro membro da equipe já havia feito em outro momento, o que agilizou todo o processo.
Com código, sem código ou até mesmo para áreas fora do desenvolvimento de produtos digitais, o simples fato de você se reunir com pessoas, explicar suas dúvidas e pensar em uma solução em conjunto faz com que o progresso de determinada atividade seja drasticamente acelerado. Então, independente da área e das tecnologias empregas, vamos buscar fazer cada vez mais “pair programmings”.
Ah, e se você quiser conversar mais conosco sobre esse ou outros assuntos é só clicar aqui e mandar uma mensagem pro Miguel, nosso super CEO.