Neste post irei compartilhar uma técnica de desenvolvimento tanto para quem trabalha presencial quanto para quem trabalha remoto, o Pair programming. Essa técnica surgiu a partir do modelo de desenvolvimento criado nos anos 80 pelo Kent Beck, o Extreme Programming. O conceito dela é bem simples, duas pessoas no mesmo computador desenvolvendo uma tarefa em específico. Quem está responsável pela digitação é chamado de “Piloto” e quem fica responsável por revisar e analisar o código é chamada de “Co-piloto”.
Abaixo citarei algumas vantagens da utilização dessa técnica e logo depois explicarei algumas boas práticas de como utilizar o Pair Programming.
Menos bugs!
Uma das maiores vantagens de se utilizar o pair programming é que são 2 pessoas olhando para o código, então a chance de algo escapar despercebido é bem menor.
É ágil!
Essa é uma técnica ágil, mas talvez não tão rápida. Se 10 desenvolvedores estivessem cada um numa task, provavelmente essas 10 atividades ficariam prontas mais rapidamente do que se para cada uma tivesse que ter 2 devs trabalhando nelas, em pair. Mas aí é que entra a vantagem dessa técnica, essas tasks terão menos bugs e menos retrabalho. O valor agregado de cada tarefa, por ter sido duplamente revisada, é muito maior do que outra vista por apenas uma pessoa. A economia está na pouca necessidade de reparos, e isso é agilidade.
Compartilhamento de conhecimento
Essa é uma das mais legais, pelo menos para mim que gosto de aprender e de ensinar. Fazendo pair com alguém mais experiente te permite aprender bastante, seja de como entender melhor a tecnologia que está utilizando ou até mesmo uma forma melhor de se programar. E fazendo pair com alguém que não entende tão bem aquele problema que você está trabalhando é legal para compartilhar conhecimento, afinal, também aprendemos quando ensinamos.
Never be alone =)
Uma das coisas boas é que vai ter sempre alguém contigo. Quando estiver dando errado, terá alguém pra te ajudar e quando você resolver algo, agora terá para quem mostrar. Geralmente a hora de codar é um processo solitário, pois é só você pensando e digitando sozinho, mas trabalhando em pair, o processo fica menos solitário e também melhora a comunicação dos participantes. Só é preciso tomar cuidado para não ficar conversando demais e esquecer de codar.
Dicas para começar bem
Falei aqui das principais vantagens de se utilizar o pair programming, espero que faça sentido na sua empresa ou no seu time. Então agora eu irei compartilhar algumas dicas para melhorar o desempenho das duplas utilizando essa técnica.
Não seja fominha!
Não fique o tempo todo pilotando, é importante que a dupla fique revezando quem tá pilotando e quem tá como co-piloto. Uma forma boa de gerenciar esse revezamento é utilizando a técnica de pomodoro: a cada 25min é realizada a troca de funções, com 5 minutos de descanso para beber uma água ou responder aquele whats que passou 25min apitando. 😉
Seja paciente!
Essa serve para os dois, quem tá codando tem que saber aceitar os comentários e as correções que o observador está fazendo. E quem tá observando têm também que dar um certo espaço para quem tá codando, não corrigir no mesmo momento em que ele errar alguma coisa, dê uns 15 ~ 20 segundos para ver se ele visualiza o problema e só assim você comenta sobre o erro. Pois a pessoa pode ficar mal acostumada a não ver aquele tipo de erro se sempre tiver alguém corrigindo na mesma hora em que ela erra.
Nós acertamos ou nós erramos!
Lembrar sempre de usar o “nós” no lugar de “eu” ou “seu/sua”, pois o código está sendo desenvolvido pelas duas pessoas, apesar de somente uma estar digitando. Então todos erros e acertos são da dupla, nunca de um único dev.
E remoto?
Todas essas técnicas podem ser utilizadas durante o trabalho remoto, só que também é preciso algo a mais para resolver a barreira da distância. Então vamos lá para as próximas dicas?
Comunicação
Primeiramente é preciso que o par esteja se comunicando. O que não falta hoje em dia são aplicações que resolvem esse problema como: Hangouts, Meet, Skype, Appear e até mesmo o Slack (versão paga). Utilizando algum desses sistemas já dá para fazer o pair programming utilizando o compartilhamento de tela.
Compartilhamento de código
Essa parte de compartilhamento de código não é essencial quando se usa o compartilhamento de tela, mas é bem legal. O VS Code tem o Visual Studio Live Share onde é possível que duas pessoas que possuam a IDE consigam programar em tempo real no mesmo arquivo e também acessar todos os outros arquivos do projeto. O Atom tem também um bem similar que se chama Teletype. Outra aplicação bem legal que é a união da comunicação com o compartilhamento de código é o Slack, quando se compartilha a tela por lá, as pessoas que estão vendo podem editar qualquer parte da tela que está sendo compartilhada.
Compartilhando terminal
Aqui é informação, meu camarada. Se a desculpa para não fazer pair era que não conseguia compartilhar o terminal, os seus problemas acabaram com o tmux ou o wemux. Utilizando um desses dois dá para compartilhar tranquilamente o terminal.
E aí, gostou das dicas? Agradeço sua atenção de ter chegado até aqui. Caso tenha dúvidas ou observações, comenta aqui abaixo!