Por que a programação extrema (XP) ficou desatualizada em favor do Agile, Kanban etc?


15

Eu gosto do XP (programação extrema), especialmente a parte em que existem 2 programadores na mesma tela, já que a solução de um problema é frequentemente encontrada mais rapidamente se você explicar o que está fazendo e emparelhar a programação o força a explicar o que você está fazendo. fazendo.

Nos últimos 10 anos, o estilo de trabalho XP parece ter desatualizado em favor das metodologias de trabalho: Agile e / ou Kanban. Por quê? Como o XP me parece ser uma maneira muito boa de trabalhar, é muito sobre a programação, enquanto o Agile e o Kanban são mais sobre processos.


28
XP é uma abordagem ágil . Portanto, "Agile" não pode realmente substituir o XP.
Joachim Sauer

1
Eu estava prestes a postar uma resposta, quando notei que o Volker está dizendo praticamente o mesmo. Os processos ágeis são por natureza adaptáveis, não existe o Kanban, Scrum, XP "perfeito / puro", é mais uma mistura e combinação. O XP, nesse sentido, ainda está forte, dado que vários dos conceitos introduzidos foram adotados por quase todas as outras abordagens.
9132 yannis

3
Há uma lista interessante de críticas no XP na Wikipedia , mas se você a escanear, a maior parte se aplica ao Agile em geral.
9132 yannis

3
Eu não acho que o XP foi a lugar algum. Muito disso é assumido como parte do desenvolvimento ágil. Eu acho que o que saiu de moda foi usar o termo "extremo". Sempre me dava a imagem de um codificador pulado no Monte. Orvalho com uma prancha de snowboard inclinada sobre a mesa.
JimmyJames 11/01/19

A coisa toda sobre "Programação em pares" não deu certo, IMO. É ótimo para resolver certos problemas isolados, mas a grande maioria dos problemas de programação (interfaces de usuário, arquiteturas, regras de negócios) não justifica o custo de ter dois desenvolvedores de software sentados na mesma tela.
Robert Harvey

Respostas:


21

Existem muitos estilos, métodos e mentalidades diferentes relacionados a todo o desenvolvimento do campo, e tudo tem seu próprio nome brilhante.

O Agile é apenas uma mentalidade que se afasta dos modelos usuais de programação estática (como cascatas) - seu principal objetivo é obter um desenvolvimento mais flexível e (no final) melhores softwares e clientes satisfeitos. Abaixo do Agile, existem muitos modelos diferentes, como Scrum, Kanban, XP.

Especialmente o Kanban não vem do desenvolvimento de software originalmente, ele se origina na construção de carros (lembro que a Toyota o introduziu para a construção de carros e alguns desenvolvedores de software adotaram e expandiram)

A programação em pares, revisões de código e outras coisas são apenas ferramentas - você pode (e deve) sempre fazê-lo durante um projeto, independentemente do método usado. Só que esse material é mais nativo para o ágil do que para o estático.

O XP introduziu mais ou menos essas coisas (ou pelo menos deu a elas um nome brilhante) e todas as seguintes coisas as adotaram porque simplesmente funcionou bem.


3
Como o @refro também mencionou, Scrum e Kanban não incluem programação de pares ou revisões de código (mas elas não são excluídas). Ambos são mais uma metodologia de gerenciamento de projetos do que um processo de desenvolvimento de software. E, como tal, são aplicáveis ​​a uma ampla gama de campos fora do desenvolvimento de software. Considerando que XP é especificamente uma abordagem de desenvolvimento de software. Eles podem coexistir - você pode gerenciar sua equipe XP da maneira Scrum.
Péter Török

16

Na minha opinião, XP é uma prática de programação, Scrum e Kanban são práticas de gerenciamento de projetos. Eles têm uma relação, mas não se substituem.

Em nosso projeto Kanban, usamos programação em pares (principalmente para seções complexas e depuração), TDD, CI. Portanto, ele ainda é usado, mas o gerenciamento está pressionando mais o lado do gerenciamento de projetos.


1
A programação em pares é como interferir nas práticas dos músicos. Às vezes funciona e às vezes não funciona. Em casos raros, poderia ser adotado como uma maneira geral de tocar e, em casos muito raros, como uma maneira de compor .
Alex Yu

0

A programação extrema é sobre a mecânica do desenvolvimento, enquanto o Agile é sobre o SDLC (ciclo de vida de desenvolvimento de software).

A principal razão pela qual você não ouve mais "Extreme Programming" pelo nome é o uso do termo "Extreme" como um adjetivo positivo. É principalmente apenas uma vítima do marketing. É por isso que você quase o ouve chamado "XP", mesmo verbalmente.


0

Eu tenho alguns pensamentos sobre programação em pares.

Para mim, isso é algo que você faz quando está preso a alguma coisa. Nessas ocasiões, pode ser muito eficaz, pode tirar você da rotina. Mas também é cansativo e uma maneira de trabalhar que o programador do tipo estéreo não gosta de fazer mais do que ocasionalmente.

Se você está cavando um buraco, poucas pessoas se importariam em obter ajuda de um colega de trabalho. Mas assim que há criatividade envolvida, as pessoas preferem fazer as coisas do seu jeito, e não do outro. Portanto, a tensão está sempre próxima, a menos que alguém não se importe de um jeito ou de outro ou se o papel de alguém é apenas sugerir claramente.

Onde eu trabalho a programação em pares não é formalizada, mas temos sessões ad hoc e elas geralmente são breves. Não será como "Ei colega, que tal uma programação extrema?" Mais frequentemente, começaria com "Você pode dar uma olhada na minha tela?" e puxando uma cadeira para eles.

Portanto, não acho que a programação em pares seja inoperante ou menos popular, é apenas uma daquelas ferramentas que você não usa com muita frequência porque é dispendiosa e não principalmente porque você tem duas pessoas pagas trabalhando em uma coisa.


0

O Agile é mais comercializável porque envolve diferentes partes interessadas com diferentes funções e responsabilidades relacionadas ao processo de criação de software.

Quando em sua segunda edição, Kent Beck aumentou o escopo dos participantes do XP, já era tarde: as pessoas já adotavam outras metodologias porque a primeira versão do XP tinha como alvo os praticantes do código, e é disso que o público ainda se lembra inconscientemente ou não. XP não era comercializável no nascimento.


0

Sempre achei que o Scrum era a versão do Agile mais fácil de vender para a gerência: as estimativas determinísticas, sua natureza um tanto doutrinária e bem definida ("você não está realmente fazendo o Scrum - sinta-se culpado!") ...

Estique seus sprints por tempo suficiente e leve essas pequenas "cartas de pôquer" a sério o suficiente, e o Scrum pode fazer muito cócegas na mesma coceira que os métodos Waterfall fizeram. Isso não é necessariamente ruim, mas não vamos nos esconder atrás de espelhos de fumaça e espelhos aqui.

No lado do XP, a programação de pares geralmente não apela ao gerenciamento, especialmente ao gerenciamento não técnico.

Para colocá-lo no formato de analogia SAT, Scrum: XP :: The Monkees: The Beatles

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.