| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2008 10:31:24
|
baudamix
JavaTeenager
![[Avatar]](/images/avatar/396695e64b47b6de6069029adaa04f47.jpg)
Membro desde: 14/02/2008 10:03:33
Mensagens: 153
Localização: São Paulo
Offline
|
Olá pessoal eu participo do grupo agile-brasil e pintou um tema que eu tenho muitas duvidas quanto a pratica real e gostaria de ter a colaboração de vcs que conhecem esse tema na pratica e assim também contribuir para nossa comunidade aki...
obrigado desde já.
[caso esse topico não seje ideal para o forum, desde já deixo nas mãos dos moderadores para fecha-lo]
Olá pessoal,
gostaria de saber com o pessoal que implantou o conceito de Pair programming, com sucesso (ou não), como foi feita a implantação do conceito e se houve resistência da equipe com a mudança. No meu caso, imagino que eles irão pensar: "Pô, dividir um computador? Vou ficar sem o meu?" o que vai causar um ruído...
____________ _________
Flavio Steffens de Castro
Duas respostas tiradas do grupo.
Cara, a idéia de programar em par é evitar a ociosidade. Os dois não param de produzir e ficam mais empolgados.
Em alguns lugares se utiliza um programador mais experiente que fica instruindo e o outro vai digitando e aprendendo, além de discutir também. Com o tempo eles tendem a se nivelar melhor e acelerem mais ainda os processos de fabricação de software.
Hélio Bentzen
A programação pareada é, de fato, uma da práticas que provoca mudanças
mais radicais na cultura da equipe. (neste caso sim, radical e não
extremo).
Primeiro, antes de falar para a equipe formar pares e sair
programando, é importante mostrar os benefícios da prática. No caso
vale destacar a velocidade para chegar a soluções, o aumento no número
de idéias, a motivação para evitar código feio, a revisão do código,
etc, e inclusive os aspectos sociais que esta atividade proporciona.
Para tudo isso, dá para mostrar o valor do trabalho em duplas
comparando com o a programação solo.
Especificamente para a questão que vc apontou (vou perder meu
computador). Perceba que um bom ambiente para programação pareada não
contém apenas n/2 máquinas, onde n é o número de desenvolvedores. Além
das estações de trabalho principais, é legal ter máquinas periféricas
que o pessoal pode usar para tarefas de pesquisa, exploração ou para
atividades pessoais, como ler emails. Quando se faz pair programming
não é proibido ler emails pessoais de vez em quando, mas é bom separar
isso do trabalho. Assim vc deixa o desenvolvedor ter momentos pessoais
mas não os estimula tanto, pq para realizá-los ele precisará
explicitamente parar de trabalhar com o grupo.
Abraços, Dairton
|
[BauDaMix] |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2008 10:37:32
|
Guitar_Men
JavaEvangelist
![[Avatar]](/images/avatar/40dcade0986efb728091792e3c538e6c.jpg)
Membro desde: 21/02/2008 10:01:31
Mensagens: 463
Offline
|
Desculpa a ignorância mas Pair programming não eh a mesma coisa que XP ??
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2008 10:41:27
|
tnaires
GUJ Master
![[Avatar]](/images/avatar/5f6371c9126149517d9ba475def53139.png)
Membro desde: 22/12/2003 08:05:58
Mensagens: 1678
Localização: Porto Alegre/RS - Natal/RN
Offline
|
Guitar_Men wrote:Desculpa a ignorância mas Pair programming não eh a mesma coisa que XP ??
De forma nenhuma. Programação em par está contida no XP, é uma das práticas utilizadas no ambiente de desenvolvimento.
|
Tarso Nunes Aires
Blog - http://cabritin.wordpress.com/
Delicious - http://delicious.com/tnaires
Twitter - @tnaires
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2008 10:42:21
|
Guitar_Men
JavaEvangelist
![[Avatar]](/images/avatar/40dcade0986efb728091792e3c538e6c.jpg)
Membro desde: 21/02/2008 10:01:31
Mensagens: 463
Offline
|
Vivendo e aprendendo valew...
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2008 10:59:46
|
ORB_de_Souza
Debugger
![[Avatar]](/images/avatar/0b01fc79281433649e7d67e55f663274.jpg)
Membro desde: 07/02/2008 14:02:00
Mensagens: 57
Localização: Rio de Janeiro
Offline
|
A prática tem suas vantagens mas é muito difícil de aplicá-la.Quando temos equipes mistas em termos de conhecimento pode até ser facil e vantajosa para todos.E para as mais experientes?A equipe aceitaria bem isso ?
Seria realmente nescessário ?
Outra pergunta é : alguém já trabalhou ou trabalha em alguma empresa que adote essa prática do xp ?
|
"é o Payne....maaatem-no !!!" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2008 12:48:30
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
ORB_de_Souza wrote:A prática tem suas vantagens mas é muito difícil de aplicá-la.
Eh? Eu tou fazendo coaching agora, e a coisa mais simples de introduzir numa equipe eh pair programming. "De hoje em diante, a gente tem metade dos micros que tinha semana passada. Em compensacao, a gente tem 2 monitores por maquina, agora - e vai todo mundo fazer pair programming ao inves de revisao de codigo offline. Digam pra mim qual o periodo ideal do dia pra gente trocar os pares!"
Nao tem muito misterio, pra falar a verdade.
ORB_de_Souza wrote:E para as mais experientes? A equipe aceitaria bem isso? Seria realmente nescessário?
Se nao aceitar, eh sinal de que existe algum outro problema cultural na empresa ou equipe. Equipes experientes deveriam se aconfortar com metodologias ageis muito mais facilmente, uma vez que tendo experiencia implica-se que elas sabem o que tao fazendo (e leem por ai).
ORB_de_Souza wrote:Outra pergunta é: alguém já trabalhou ou trabalha em alguma empresa que adote essa prática do xp?
Yeap. A ThoughtWorks foi uma das pioneiras em XP/Agile e eu nao trabalhei nenhum projeto desde que entrei aqui que nao adotasse PP.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2008 12:49:27
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
baudamix wrote:Olá pessoal eu participo do grupo agile-brasil e pintou um tema que eu tenho muitas duvidas quanto a pratica real e gostaria de ter a colaboração de vcs que conhecem esse tema na pratica e assim também contribuir para nossa comunidade aki...
Bom, "muitas duvidas" precisam de "muitas respostas"... que tal uma de cada vez?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2008 13:08:11
|
rodrigoy
GUJ Ranger
![[Avatar]](/images/avatar/cf79ae6addba60ad018347359bd144d2.jpg)
Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline
|
cv wrote:
Eh? Eu tou fazendo coaching agora, e a coisa mais simples de introduzir numa equipe eh pair programming. "De hoje em diante, a gente tem metade dos micros que tinha semana passada. Em compensacao, a gente tem 2 monitores por maquina, agora - e vai todo mundo fazer pair programming ao inves de revisao de codigo offline. Digam pra mim qual o periodo ideal do dia pra gente trocar os pares!"
Se me lembro bem o Ambler e o próprio Beck falavam que não dava pra trabalhar 100% do tempo em PP pois era estressante para a equipe. Sou meio adepto disso. Nos meus últimos projetos tinha uma carga grande de PP, mas não 100%. Cada um tinha sua máquina. Usava o PP mais para implementar coisas mais complexas (onde realmente ví benefício). Porém, de qualquer forma, a equipe era bem sênior. PP é pura produtividade e foco no problema (sem ficar viajando, lendo mails ou postando no GUJ, he he he).
Aliás, teve um dia que foi engraçado, só para você entender o pair programming. Chamei o Shoes no MSN e ele não respondia... só falava "peraí... peraí... espera...." (quase me mandou calar a boca). E eu fiquei lá... chamando... depois de um tempão.. ele escreveu: "- Fala rodrigoy... cara, pair programming é foda...".
(caras, faz 4 meses que estou sozinho trabalhando num projeto, sinto muito a falta de uma equipe e de pair programming)
|
Rodrigo Yoshima
www.ASPERCOM.com.br
Próximas Turmas:
São Paulo: Scrum 28/agosto | OOAD-UML 13/setembro
Débito Técnico Blog: blog.aspercom.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2008 13:12:05
|
wmitsuda
JavaEvangelist
Membro desde: 25/02/2005 17:02:40
Mensagens: 334
Offline
|
cv wrote:
Se nao aceitar, eh sinal de que existe algum outro problema cultural na empresa ou equipe. Equipes experientes deveriam se aconfortar com metodologias ageis muito mais facilmente, uma vez que tendo experiencia implica-se que elas sabem o que tao fazendo (e leem por ai).
O problema é que pair programming soa como uma prática um tanto "exótica" principalmente em pessoas cujo conhecimento em metodologias de desenvolvimento se resume ao que elas leram na infoexame. Às vezes nem é culpa da equipe.
Quem aqui já não ouviu algo parecido com isso:
Gerente Dinosauro wrote:
Err... XP? Aquele método em que tem que programar em 2? (risos)
Até explicar que focinho de porco não é tomada...
|
Sun Java Certified POG Master Developer
http://www.willianmitsuda.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2008 14:08:38
|
baudamix
JavaTeenager
![[Avatar]](/images/avatar/396695e64b47b6de6069029adaa04f47.jpg)
Membro desde: 14/02/2008 10:03:33
Mensagens: 153
Localização: São Paulo
Offline
|
cv wrote:Bom, "muitas duvidas" precisam de "muitas respostas"... que tal uma de cada vez?
Não seu senior, e trabalho a 2anos, todos as empresas trabalhei nunca tive contato com metodologias.
Mas tenho contato sempre com pessoas experientes que como nosso gerente dinosauro abrem um enorme sorriso para falar que MA não da certo.
mas focando em pair programming gostaria de saber como fazer esse processo de trabalhar em par...
(como no scrum e em tudo que é novo temos que trabalhar a cultural da empresa, certo)
- como que começa esse processo de sentar em dupla e programar?
wmitsuda wrote:
Quem aqui já não ouviu algo parecido com isso:
Gerente Dinosauro wrote:
Err... XP? Aquele método em que tem que programar em 2? (risos)
Até explicar que focinho de porco não é tomada...
- como explicar '...focinho de porco não é tomada...'
This message was edited 1 time. Last update was at 12/03/2008 14:10:36
|
[BauDaMix] |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2008 14:30:15
|
Emerson Macedo
Virtual Machine Man
![[Avatar]](/images/avatar/360c19682e81f21d55846685c1701179.jpg)
Membro desde: 01/08/2006 16:55:28
Mensagens: 689
Localização: Rio de Janeiro - RJ
Offline
|
Acho dificuldade maior de Pair Programming quanto a questão de máquinas é o fato das pessoas considerarem as máquinas do trabalho como se fossem "suas". Pelo que eu sei existem ambientes onde o rodízio é feito frequentemente, você troca tanto de máquina que não dá nem pra se apegar a alguma.
Como estamos acostumados a tratar nossa workstation como uma máquina pessoal acho interessante quem tiver dificuldade levar o notebook para as horas vagas.
Outro ponto importante foi sobre a questão do MSN. Estamos muito mau acostumados a conversar em momentos que deveriamos estar trabalhando (estou me incluindo). Pair programming ajuda a mudar um pouco nossos habitos ruins, IMO.
|
Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com
"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/03/2008 12:14:47
|
manoelp
Entusiasta Java
![[Avatar]](/images/avatar/6750c0194a5f9ae7194a0ae154b64959.jpg)
Membro desde: 07/09/2007 10:41:51
Mensagens: 19
Localização: Brasil
Offline
|
Olá,
Faz certo tempo que não uso Pair Programming em meus projetos, pois tenho usado outras práticas como a inspeção de código da FDD (Feature Driven Development), mas acho a programação em par uma excelente idéia que deve ser estimulada.
Também gosto da abordagem de não usar PP em 100% da carga de trabalho, e sobre isso, já trabalhei dessa maneira no que eu chamo de Pair Solution, ou seja, é usada toda a sistemática que a programação em par oferece, só que voltada para resolução pontual daqueles problemas ?cabeludos?.
Outra variação que tenho estimulado bastante é o Pair Learnning, onde alguma necessidade de aprendizado em projeto (Ex: Requisitos, Modelagem, Novos frameworks, Ferramentas, etc.) é feita usando a dinâmica de pares.
Porém, o que é importante observar, é que mesmo que você não consiga usar totalmente a prática de PP em seus projetos, você pode começar a estimular os membros da equipe com alguma dessas idéias de trabalho em par, dessa forma, gradualmente toda a equipe começará a visualizar as vantagens dessa abordagem, fazendo com que uma possível aplicação total dessa prática seja feita de forma menos traumática.
Mas sobre a implementação de Pair Programming em si, têm um antigo artigo meu publicado na DevMedia, onde relatei algumas dificuldades e vantagens dessa prática, o link é: http://www.devmedia.com.br/articles/viewcomp.asp?comp=1694
Obrigado,
Manoel Pimentel
http://www.visaoagil.com
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/03/2008 12:29:54
|
baudamix
JavaTeenager
![[Avatar]](/images/avatar/396695e64b47b6de6069029adaa04f47.jpg)
Membro desde: 14/02/2008 10:03:33
Mensagens: 153
Localização: São Paulo
Offline
|
Obrigado a todos e postaram aqui e que iram postar...
obrigado pelas experiencias compartinhadas.
|
[BauDaMix] |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/03/2008 18:00:50
|
esmiralha
JavaEvangelist
Membro desde: 19/07/2006 09:04:42
Mensagens: 402
Offline
|
ORB_de_Souza wrote:A prática tem suas vantagens mas é muito difícil de aplicá-la.Quando temos equipes mistas em termos de conhecimento pode até ser facil e vantajosa para todos.E para as mais experientes?A equipe aceitaria bem isso ?
Seria realmente nescessário ?
1) o objetivo de pair programming não é só disseminar o conhecimento tecnológico genérico, mas também e principalmente disseminar o conhecimento do sistema sendo construído. Um desenvolvedor experiente pode conhecer muito a respeito das tecnologias envolvidas no projeto, mas pode saber o mesmo que um estagiário sobre o novo sistema.
2) Desenvolvedores experientes devem ter seu código revisado. Esse é um outro benefício da pratica.
3) Mesmo desenvolvedores experientes se distraem de vez em quando. Pair programming garante que o foco no projeto é mantido ao longo do dia, evitando distrações.
4) Houve quem mencionasse só fazer pair quando houvesse um problema "difícil". Eu acho que assim a prática perde quase toda sua força, já que a atitude de procurar ajuda quando está com problemas é o comportamento normal esperado de um ser humano racional. Se a equipe não faz pair grande parte do tempo, torna-se essencial a implantação de revisões formais de código.
5) É verdade que poucas empresas fazem pair programming. Poucas também tem 100% de cobertura de testes, poucas fazem revisão de código, poucas automatizam todos os testes, quase nehuma que eu conheço usa iterações curtas (2 semanas ou menos). A lista de empresas que não adotam as melhores práticas é infindável. Isso invalida a prática? De forma alguma. Ao contrário, ela se torna um diferencial competitivo.
Abraço,
Luiz Esmiralha
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/03/2008 22:03:39
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
Para mim Pair Programming é uma ferramenta e como todas as outras deve ser usado quando houver necessidade. Aplicar cegamente 100% de Pair Programming em tudo não é uma coisa boa.
Já trabalhei com gente que é muito mais produtivo com pair programmin mas játrabalhei com gente que reduz sua produtividade. Hoje, após alguma experiência com PP eu vejo situações no assado em que deveria ter usado mas nunca imporia 100% PP como prática default em uma equipe. Passagem de conhecimento, equipe com gente sem oco, nivelamento, coaching, etc. são bons exemplos mas indiscriminadamente no dia-a-dia é overdose.
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
|
|