SlideShare uma empresa Scribd logo
1 de 18
PAIR
PROGRAMMING
Definição e dicas para um melhor aproveitamento da técnica
1
PAIR PROGRAMMING
Técnica do desenvolvimento ágil de
software onde dois programadores
trabalham juntos no mesmo
computador
2
PAIR PROGRAMMING
3
É dividido em dois papéis: piloto e co-
piloto.
■ Piloto
■ Controla o teclado
■ Diz em voz alta o que está
pensando em fazer
■ Navegador (co-piloto)
■ Foca nas regras de negócio
■ Ajuda a refletir sobre o design do
código, testes e pontos
desapercebidos
4
?
PAIR PROGRAMMING: O BOM E O RUIM
5
PAIR PROGRAMMING: O BOM
6
Ambiente
■ Limpo e confortável
■ Respeite o espaço do outro
■ Silencie notificações (computador,
celular, etc)
■ Cuide com ruídos
■ Evite a personalização demasiada
do ambiente virtual (personalização
de teclas, temas, etc)
PAIR PROGRAMMING: O BOM
7
Dinâmica
■ Mapeie o curso
■ Quebre em pequenas tarefas
■ Escreva testes!
■ Faça pausas
■ Troque os papéis
PAIR PROGRAMMING: O BOM
8
Dinâmica
■ DTSTTCPW, KISS, YAGNI
■ Já falei dos testes?
■ Usar “nós” ao invés do “eu” ou “seu/
sua”. Ex:
■ Essa nossa solução funcionou /
não funcionou
■ Nós nos enganamos
■ Peça a opinião do par
PAIR PROGRAMMING: O RUIM
9
Piloto
■ Monopolizar o teclado
■ Alterar código sem explicar a ideia
ao navegador antes
■ Esquecer que está pareando
■ Intencionalmente se limitar a digitar
Fonte: http://www.designerd.com.br/wp-content/uploads/2014/10/shutterstock_185616953-1024x683.jpg
PAIR PROGRAMMING: O RUIM
10
Navegador
■ Fazer do piloto um operador de IDE
■ Ficar mexendo no celular
■ Pegar o teclado / mouse
abruptamente
PAIR PROGRAMMING: O RUIM
11
Navegador e Piloto
■ Não dar tempo para o outro pensar
■ Pareamento seletivo
■ Ignorar a ideia do par / impor a
própria ideia
■ Ego
Fonte: https://s-media-cache-ak0.pinimg.com/736x/3d/69/37/3d69370dede7c3a4effaa77d2b79dde5.jpg
PAIR PROGRAMMING: DICAS
12
PAIR PROGRAMMING: DICAS
13
Ping pong
■ Um escreve o teste e o outro
implementa o código que faz o
teste passar
■ Alterar entre quem escreve os
testes e a implementação
Fonte: http://blog.uberpong.com/wp-content/uploads/2013/01/LEGO-ping-pong-game-Uberpong.jpeg
PAIR PROGRAMMING: DICAS
14
Pomodoro
■ Ciclos de 25 min.
■ 5 min de descanso
■ Alternar piloto/navegador a cada
ciclo
Fonte: https://webinsider.com.br/wp-content/uploads/2015/12/tecnica_pomodoro1.jpg
PAIR PROGRAMMING: TÉCNICAS
15
Fonte: http://www.marketingon6th.com/wp-content/uploads/2015/02/small-companies-more-fun-marketing-on-6th.jpg
16
?
Dúvidas ou sugestões:
Andherson Maeda
amaeda@thoughtworks.com
@maedabr
OBRIGADO
REFERÊNCIAS
▫︎ https://www.thoughtworks.com/insights/blog/effective-navigation-
in-pair-programming
▫︎ http://www.slideshare.net/nashjain/pair-programming
▫︎ http://pt.wikihow.com/Programar-em-Pares-(Pair-Programming)
▫︎ http://jesusgilhernandez.com/2012/10/08/performing-pair-
programming/
▫︎ http://c2.com/cgi/wiki?PairProgrammingPattern
▫︎ http://c2.com/cgi/wiki?PairProgramming
▫︎ https://www.rallydev.com/blog/engineering/patterns-pair-
programming
▫︎ https://pragprog.com/magazines/2012-03/four-common-pairing-
pitfalls-and-how-to-avoid-them
18

Mais conteúdo relacionado

Semelhante a Pair Programming - Definição e dicas

3000 questoes de informatica resolvidos banco do brasil (bb), cef, ibge, tre...
3000 questoes de informatica  resolvidos banco do brasil (bb), cef, ibge, tre...3000 questoes de informatica  resolvidos banco do brasil (bb), cef, ibge, tre...
3000 questoes de informatica resolvidos banco do brasil (bb), cef, ibge, tre...
Thiago Carvalho
 

Semelhante a Pair Programming - Definição e dicas (20)

Aula 9 - Introdução ao Python
Aula 9 - Introdução ao PythonAula 9 - Introdução ao Python
Aula 9 - Introdução ao Python
 
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSAULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
 
Curso C e C++ - Teoria PDF.pdf
Curso C e C++ - Teoria PDF.pdfCurso C e C++ - Teoria PDF.pdf
Curso C e C++ - Teoria PDF.pdf
 
Programação Orientada a Gambiarra
Programação Orientada a GambiarraProgramação Orientada a Gambiarra
Programação Orientada a Gambiarra
 
Horizon chase: Design para multiplayer local
Horizon chase: Design para multiplayer localHorizon chase: Design para multiplayer local
Horizon chase: Design para multiplayer local
 
Introdução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaIntrodução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtiva
 
WRVA 2015
WRVA 2015WRVA 2015
WRVA 2015
 
P01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorP01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhor
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHP
 
POG nunca mais - SOLISC
POG nunca mais - SOLISCPOG nunca mais - SOLISC
POG nunca mais - SOLISC
 
Apostila informatica para concursos robson aquila
Apostila informatica para concursos   robson aquilaApostila informatica para concursos   robson aquila
Apostila informatica para concursos robson aquila
 
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
 
3000 questoes de informatica resolvidos banco do brasil (bb), cef, ibge, tre...
3000 questoes de informatica  resolvidos banco do brasil (bb), cef, ibge, tre...3000 questoes de informatica  resolvidos banco do brasil (bb), cef, ibge, tre...
3000 questoes de informatica resolvidos banco do brasil (bb), cef, ibge, tre...
 
3000 questoes de informatica resolvidos banco do brasil (bb), cef, ibge, tre...
3000 questoes de informatica  resolvidos banco do brasil (bb), cef, ibge, tre...3000 questoes de informatica  resolvidos banco do brasil (bb), cef, ibge, tre...
3000 questoes de informatica resolvidos banco do brasil (bb), cef, ibge, tre...
 
Coding Dojo - Aprendendo a programar programando
Coding Dojo - Aprendendo a programar programandoCoding Dojo - Aprendendo a programar programando
Coding Dojo - Aprendendo a programar programando
 
Como Fazer Seu Próprio Gameboy - CPBR11
Como Fazer Seu Próprio Gameboy -  CPBR11Como Fazer Seu Próprio Gameboy -  CPBR11
Como Fazer Seu Próprio Gameboy - CPBR11
 
Carreira de desenvolvedor
Carreira de desenvolvedorCarreira de desenvolvedor
Carreira de desenvolvedor
 
/Home/luisc/apresenta/fase 5
/Home/luisc/apresenta/fase 5/Home/luisc/apresenta/fase 5
/Home/luisc/apresenta/fase 5
 
Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremo
 
Como Fazer Seu Próprio Gameboy - SpACE UNIFEI
Como Fazer Seu Próprio Gameboy -  SpACE UNIFEIComo Fazer Seu Próprio Gameboy -  SpACE UNIFEI
Como Fazer Seu Próprio Gameboy - SpACE UNIFEI
 

Pair Programming - Definição e dicas

  • 1. PAIR PROGRAMMING Definição e dicas para um melhor aproveitamento da técnica 1
  • 2. PAIR PROGRAMMING Técnica do desenvolvimento ágil de software onde dois programadores trabalham juntos no mesmo computador 2
  • 3. PAIR PROGRAMMING 3 É dividido em dois papéis: piloto e co- piloto. ■ Piloto ■ Controla o teclado ■ Diz em voz alta o que está pensando em fazer ■ Navegador (co-piloto) ■ Foca nas regras de negócio ■ Ajuda a refletir sobre o design do código, testes e pontos desapercebidos
  • 4. 4 ?
  • 5. PAIR PROGRAMMING: O BOM E O RUIM 5
  • 6. PAIR PROGRAMMING: O BOM 6 Ambiente ■ Limpo e confortável ■ Respeite o espaço do outro ■ Silencie notificações (computador, celular, etc) ■ Cuide com ruídos ■ Evite a personalização demasiada do ambiente virtual (personalização de teclas, temas, etc)
  • 7. PAIR PROGRAMMING: O BOM 7 Dinâmica ■ Mapeie o curso ■ Quebre em pequenas tarefas ■ Escreva testes! ■ Faça pausas ■ Troque os papéis
  • 8. PAIR PROGRAMMING: O BOM 8 Dinâmica ■ DTSTTCPW, KISS, YAGNI ■ Já falei dos testes? ■ Usar “nós” ao invés do “eu” ou “seu/ sua”. Ex: ■ Essa nossa solução funcionou / não funcionou ■ Nós nos enganamos ■ Peça a opinião do par
  • 9. PAIR PROGRAMMING: O RUIM 9 Piloto ■ Monopolizar o teclado ■ Alterar código sem explicar a ideia ao navegador antes ■ Esquecer que está pareando ■ Intencionalmente se limitar a digitar Fonte: http://www.designerd.com.br/wp-content/uploads/2014/10/shutterstock_185616953-1024x683.jpg
  • 10. PAIR PROGRAMMING: O RUIM 10 Navegador ■ Fazer do piloto um operador de IDE ■ Ficar mexendo no celular ■ Pegar o teclado / mouse abruptamente
  • 11. PAIR PROGRAMMING: O RUIM 11 Navegador e Piloto ■ Não dar tempo para o outro pensar ■ Pareamento seletivo ■ Ignorar a ideia do par / impor a própria ideia ■ Ego Fonte: https://s-media-cache-ak0.pinimg.com/736x/3d/69/37/3d69370dede7c3a4effaa77d2b79dde5.jpg
  • 13. PAIR PROGRAMMING: DICAS 13 Ping pong ■ Um escreve o teste e o outro implementa o código que faz o teste passar ■ Alterar entre quem escreve os testes e a implementação Fonte: http://blog.uberpong.com/wp-content/uploads/2013/01/LEGO-ping-pong-game-Uberpong.jpeg
  • 14. PAIR PROGRAMMING: DICAS 14 Pomodoro ■ Ciclos de 25 min. ■ 5 min de descanso ■ Alternar piloto/navegador a cada ciclo Fonte: https://webinsider.com.br/wp-content/uploads/2015/12/tecnica_pomodoro1.jpg
  • 15. PAIR PROGRAMMING: TÉCNICAS 15 Fonte: http://www.marketingon6th.com/wp-content/uploads/2015/02/small-companies-more-fun-marketing-on-6th.jpg
  • 16. 16 ?
  • 17. Dúvidas ou sugestões: Andherson Maeda amaeda@thoughtworks.com @maedabr OBRIGADO
  • 18. REFERÊNCIAS ▫︎ https://www.thoughtworks.com/insights/blog/effective-navigation- in-pair-programming ▫︎ http://www.slideshare.net/nashjain/pair-programming ▫︎ http://pt.wikihow.com/Programar-em-Pares-(Pair-Programming) ▫︎ http://jesusgilhernandez.com/2012/10/08/performing-pair- programming/ ▫︎ http://c2.com/cgi/wiki?PairProgrammingPattern ▫︎ http://c2.com/cgi/wiki?PairProgramming ▫︎ https://www.rallydev.com/blog/engineering/patterns-pair- programming ▫︎ https://pragprog.com/magazines/2012-03/four-common-pairing- pitfalls-and-how-to-avoid-them 18