O Extreme Programming (XP) é incompatível com as idéias expressas no Peopleware?

16

Acabei de ler Peopleware (DeMarco, Lister) e pesquisei sobre Extreme Programming (XP) um pouco antes. A meu ver agora, as duas abordagens são quase exclusivas uma da outra.

O Peopleware sugere isolar os programadores de qualquer distúrbio e prioriza o trabalho ininterrupto para ajudar os programadores a obter fluxo. O XP, por outro lado, propõe garantir o máximo de comunicação possível, sugerindo até que os programadores "se juntem", codifiquem em pares e geralmente trabalhem na mesma sala (gerando muito ruído).

Essas duas escolas de pensamento concorrentes são, talvez, uma delas comprovadamente certa / errada ou existe um compromisso eficaz? Eu posso ver os pontos de vista de ambos os lados, mas não vejo nenhum compromisso razoável.

Eu sou muito novo no estudo do gerenciamento de desenvolvimento de software, por isso é possível que eu tenha entendido algo errado. Todos os comentários são bem-vindos.

PS Como uma mini-pergunta adicional, como programador, qual você consideraria mais produtivo?

Aleksandrs Ulme
fonte
4
Eles não são exclusivos. Os desenvolvedores de pares devem funcionar ininterruptamente.
Lukasz Madon
@ukas: mesmo considerando isso, o que dizer de "sentados juntos"?
Aleksandrs Ulme

Respostas:

12

Você perdeu o ponto com Peopleware. Em nenhum lugar o livro sugere isolar os programadores em escritórios individuais, mas agrupe-os em 2 a 4 pessoas por escritório.

O principal motivo é isolar os programadores do ruído não relacionado à programação, como o vendedor que grita ao telefone, bate-papo entre o gerente e a secretária, o ruído gerado pelas pessoas que se deslocam, o telefone tocando, as portas batendo e muito mais.

A programação extrema é totalmente compatível com um escritório de 2 a 4. Para programar em pares, você tem 2 ou 3 máx.


fonte
Sim, revisando a coisa, notei a observação de que os programadores devem ser isolados "de ruídos muito diferentes dos que eles fazem", ou seja, de não programadores. Obrigado!
Aleksandrs Ulme
Eu tive o luxo de trabalhar em um escritório para 3 pessoas por cerca de 5 anos. Funciona muito bem - se as pessoas estão trabalhando juntas.
quickly_now
@quickly_now: você trabalha em um espaço aberto agora?
1
Eu trabalho em um escritório de uma pessoa agora. Eu costumava trabalhar em um escritório para 3 pessoas, e antes disso em plano aberto. (E antes disso ... mais plano aberto ... e antes disso, um escritório com uma porta que eu poderia fechar). Minha preferência depois de tudo isso é um escritório de uma pessoa. Se você não consegue esse luxo, então 2-3 pessoas são boas. Mais do que isso, é apenas uma caneta de porco gigante.
2331111
11

Penso que ambas as abordagens descrevem uma estratégia geral de trabalho, mas não necessariamente a cada minuto de trabalho em um dia. Um saldo deve existir.

Esteja próximo o suficiente para permitir uma comunicação rápida, mas retire-se para alguma área isolada quando a discussão terminar e o trabalho real precisar seguir.

Pessoalmente, acho que "sentar juntos" e "gerar muito barulho" o tempo todo não funciona. Há tempo para conversar para discutir problemas, decidir sobre os próximos passos e assim por diante; depois, há tempo para codificar e as pessoas devem ter áreas tranquilas para fazê-lo.


fonte
4

A chave é a frase "isola os programadores de qualquer distúrbio e prioriza o trabalho ininterrupto". A prioridade é clara no XP quando o Stories é selecionado a cada iteração para ser o mais valioso. Os clientes devem se esforçar para ter um conjunto "estável" de histórias, sem mudar muito de idéia no meio da iteração (isso pode acontecer, mas deve ser casos especiais, não a norma).

A parte "isolar programadores" é a mais complicada. Isso significa que os programadores devem estar fazendo o que fazem de melhor: Programa. Para que o XP funcione, os programadores devem ser colocados em um ambiente em que se concentrem apenas no preenchimento de histórias, sem nenhuma sobrecarga externa, como reuniões, telefonemas, pequenos favores e outros. Isso pode ser conseguido colocando cada par de programadores em seu próprio escritório ou com todos os programadores em um salão de guerra onde ninguém mais pode entrar, a menos que seja absolutamente necessário.

Soronthar
fonte
1

Pessoalmente, acho IMPOSSÍVEL trabalhar em parceria com alguém, mesmo que eu esteja aprendendo com essa pessoa. Talvez seja apenas para que algumas pessoas (ou seja, eu) trabalhem melhor das formas mais "clássicas" (entrando na zona, silêncio, etc ...).

Ou talvez seja o fato de o XP ser implementado principalmente em lojas de desenvolvimento web, nas quais as pessoas usam muitos chapéus e, em vez de resolverem problemas difíceis em um domínio (por exemplo, otimizando um pedaço de código), gastam tempo procurando uma solução já existente para um problema que não muito difícil intelectualmente (por exemplo, integrar um carrinho de compras na página etc.).

Para algo assim, trabalhar em pares, muita comunicação etc. pode ser a única maneira de avançar de maneira eficaz (você não vai gastar X horas apenas para descobrir que módulo de envio de e-mail Joomla! / Droopal bug, você está ?)

Jas
fonte
-2

Sim, o XP é completamente incompatível com o Peopleware e com as boas práticas de desenvolvimento de software. Talvez você precise se atualizar com a seção antes de continuar?

http://code.scottshipp.com/2017/03/22/open-office-plans-excerpt-from-peopleware/

A Tabela 8-1, na parte inferior, explica com a entrada final o torpedo final.

  1. As pessoas freqüentemente o interrompem desnecessariamente? 38% sim 76% sim

Em um escritório com várias pessoas, fisicamente não há como evitar isso. A unidade conjugal de alguém liga para eles e, mesmo que a pessoa saia depois de responder, você ainda é interrompido pela resposta. Alguém tenta ser educado, vai tomar um café e chama para ver se alguém quer alguma coisa.

Não vamos esquecer o codificador que coloca fones de ouvido e aumenta o volume para que você ainda possa ouvi-lo a um metro ou mais, ainda assim, se sente compelido a usar uma caneta / lápis para tocar bateria, juntamente com uma seção de uma 'ótima música'. Ah, e se você é infeliz o suficiente para ter um fã de esportes trabalhando em TI, eles aparecem todos animados.

"Oh! Você viu o jogo da noite passada? !!!! E essa CHAMADA !!!! Eles estavam cegos ?? !!"

Bem, você entendeu.

XP por definição inicial é de 2 programadores e um teclado. É uma metodologia realmente adequada apenas para mergulhos profundos em correções de erros difíceis de encontrar, não para o desenvolvimento de software em larga escala. Os conceitos de plano aberto e sala de equipe violam as pesquisas realizadas no Peopleware.

user3450148
fonte