¿Por qué el enfoque de desarrollo de software Agile más común es un híbrido de Scrum y XP?
¿Por qué crees que es una buena idea usarlos juntos?
(si no estoy en voz alta para pedir una pregunta basada en la opinión, bloquee o elimine este hilo, gracias)
Scrum no exige (ni siquiera sugiere) ninguna práctica de ingeniería específica, por lo que los equipos suelen adoptar TDD, Emparejamiento, Integración continua, etc. de XP.
Probablemente sea más exacto decir que las implementaciones ágiles más comunes usan el marco de Scrum para definir cómo se especifica el trabajo y el proceso con el que se entregan las características al hacer uso de las prácticas de ingeniería de XP.
Este artículo de Mike Cohn analiza algunas de las similitudes y diferencias entre XP y Scrum con más detalle. http://www.mountaingoatsoftware.com/blog/differences- between-scrum-and-extreme-programming/
Scrum define tres roles, tres rituales y tres artefactos. No es una metodología exhaustiva de desarrollo de software, sino un marco mínimo de desarrollo de productos . Si bien su redacción se centra en el software, lo que en realidad define es un equilibrio de poder entre las diferentes partes interesadas que desarrollan un producto y especificaciones sobre las interacciones y la retroalimentación para regularlo.
XP (eXtreme Programming), por otro lado, es una metodología de desarrollo de software . A menudo se confunde con el conjunto de prácticas de ingeniería que exige (programación en pares, desarrollo basado en pruebas…), aunque también define elementos que entran en la categoría de desarrollo de productos, como el juego de planificación .
Como tal, es muy común que los equipos de desarrollo de software integren (un subconjunto de) las prácticas de ingeniería de XP en (con demasiada frecuencia un subconjunto de) el marco Scrum porque los dos apuntan a resolver problemas diferentes .
Por lo tanto, se pueden usar juntos porque las prácticas obligatorias son ortogonales: las prácticas de ingeniería de XP solo afectan al Equipo, pero no cambian la definición de este rol de Scrum, ni al revés. Y se usan juntos simplemente porque ambos han demostrado ser muy eficientes.
En mi opinión, mezclar metodologías es un caso natural donde hay herramientas para propósitos particulares. Y cuando surge un nuevo propósito que no tiene ninguna de las técnicas mapeadas, cualquiera puede intentar mezclar las existentes y adoptarlas. Scrum es más un conjunto de herramientas de proceso que cubre muchos aspectos y partes del desarrollo de software. Mientras que XP es más un conjunto de herramientas relacionado con la fabricación que aporta valores para un área de aplicación más pequeña.
Además, sugeriría buscar en Scrumban . Tiene resultados maduros de prácticas mixtas que atienden necesidades muy singulares para empresas dinámicas y PYMES.
Scrum es un marco.
XP consta de una serie de técnicas que puede aplicar sobre ese marco.
Si bien XP es popular, no está limitado a usar XP. Puedes elegir la técnica que mejor te funcione.
molinos marv
Carlos Blance
MattiSG