Comparativa de métodos agiles: XP vs SCRUM
Sobre XP (extreme
programming):
Extreme
Programming o XP es una metodología ágil del desarrollo de software, la cual
fue inventada por Ken Beck al final de los años 90’. XP aligera el proceso de desarrollo
de software, haciendo inca pie en la obtención de requerimientos, pues para
ello, el cliente para a ser parte del equipo de desarrollo, por lo que en todo momento,
el software es modelado de acuerdo a sus necesidades más actuales, haciendo que
XP sea responsivo a cambios.
Entre sus principales
cualidades están, la programación en parejas, historias de usuario, involucración
del cliente en el equipo de desarrollo y que se enfoca en los programadores y
en general en todo el equipo como personas, por lo que estipula que entre mejor
se sienta el equipo en su ambiente, mejor será su rendimiento, entre otras características.
Sobre SCRUM:
SCRUM es
aquella metodología ágil, que implica todo un proceso de “buenas practicas” donde
el objetivo el desarrollo de un proyecto se lograra con un trabajo colaborativo
exitoso. Una de las principales características de esta metodología son los “sprints”
los cuales son ciclos de trabajo cortos, que culminan como pequeñas entregas
del proyecto. Esta característica, da la propiedad de un desarrollo incremental
a SCRUM.
Comparativa:
En la siguiente tabla (Highsmith, 2002) , se compara las
distintas aproximaciones ágiles en base a tres parámetros: vista del sistema
como algo cambiante, tener en cuenta la colaboración entre los miembros del
equipo y características más específicas de la propia metodología como son
simplicidad, excelencia técnica, resultados, adaptabilidad, etc. También
incorpora como referencia no ágil el Capability Madurity Model (CMM).
Metodología
|
SCRUM
|
XP
|
Sistema
como algo cambiante
|
5
|
5
|
Colaboración
|
5
|
5
|
Características Metodología (CM)
|
||
Resultados
|
5
|
5
|
Simplicidad
|
5
|
5
|
Adaptabilidad
|
4
|
3
|
Excelencia
Técnica
|
3
|
4
|
Prácticas
de colaboración
|
4
|
5
|
Media CM
|
4.2
|
4.4
|
Media Total
|
4.7
|
4.8
|
Ranking de “agilidad” (Los valores más
altos representan una mayor agilidad)
|
Según los resultados de la tabla, podemos decir que las diferencias en lo que agilidad y rentabilidad se refiere entre SCRUM y XP son casi nulas, sin embargo, XP resulta vencedor, pero por la mínima, el apartado que le da la victoria a XP son las prácticas de colaboración. Justificando este hecho, podemos decir que como tal, XP resulta más colaborativo pues necesita específicamente del cliente para poder efectuarse, el ecosistema que se crea en el equipo de desarrollo es totalmente colaborativo, en cambio, en SCRUM resulta que se tiene ejecutando el rol de “cliente” al “product owner”, el cual puede o no ser el cliente real como tal, este solo necesita tener autorización del cliente real y conocer el proceso de negocio del mismo, mas no participa reactivamente con el equipo como lo hace el cliente en XP.
Tabla
Comparativa de características:
Metodología
|
SCRUM
|
XP
|
ROLES
|
·
Product
Owner
·
Scrum
Master
·
Equipo
de Desarrollo (Team)
·
Stakeholders
|
·
Cliente
·
Gestor
del proyecto
·
Coach
·
Tracker
·
Programadores
·
Tester
|
Proceso
|
En Scrum un proyecto se
ejecuta en bloques temporales cortos y fijos (iteraciones que
normalmente son de 2 semanas, aunque en algunos equipos son de 3 y hasta
4 semanas, límite máximo de feedback y reflexión). Cada iteración tiene que
proporcionar un resultado completo, un incremento de producto final que sea
susceptible de ser entregado con el mínimo esfuerzo al cliente cuando lo
solicite.
El proceso parte de la lista
de objetivos/requisitos priorizada del producto, que actúa como plan del
proyecto. En esta lista el cliente prioriza los objetivos
balanceando el valor que le aportan respecto a su coste y quedan
repartidos en iteraciones y entregas.
|
Es una metodología ágil
centrada en potenciar las relaciones interpersonales como clave para el éxito
en desarrollo de software, promoviendo el trabajo en equipo, preocupándose
por el aprendizaje de los desarrolladores, y propiciando un buen clima de
trabajo. XP se basa en realimentación continua entre el cliente y el equipo
de desarrollo, comunicación fluida entre todos los participantes, simplicidad
en las soluciones implementadas y coraje para enfrentar los cambios. XP se
define como especialmente adecuada para proyectos con requisitos imprecisos y
muy cambiantes, y donde existe un alto riesgo técnico.
|
Artefactos
|
·
Product
Backlog
·
Sprint
Backlog
·
Scrum
Taskboard
·
Incremento
·
Sprint
|
·
Historias
de usuario
·
Tareas
de ingeniería (task card)
·
Tarjetas
CRC
|
Para finalizar,
quisiera dar mi opinión sobre cuál de las dos metodologías me parece “mejor”
más no más practica ni más ágil, pero si más cómoda. Esa es XP. La razón
es su principal característica, el cliente formando parte del equipo, además de
la manera en que presenta las historias de usuario, son sencillas y fáciles de
entender, pero el hecho de que el cliente este ahí para colaborar, resolviendo
dudas y afinando los detalles en conjunto, le da una clara ventaja respecto a
otras metodologías. Sin embargo, quisiera destacar los sprints de SCRUM, ya que
me parecen una buena manera de trabajar en equipo de manera rápida y
focalizada, si los sprints se redujeran, a la mitad de su tiempo, por ejemplo
15 días, en vez de 30, y las definiciones en los Sprints plannings de las
actividades a realizar en estos fueran ajustadas para este tiempo, en mi opinión,
serian aún más eficientes.
Referencias
Highsmith, J. (2002). Agile Software Development
Ecosystems. Addison-Wesley.
Dietmar Pfahl. Software Engineering: "Agile/Lean Methods" , University of Tartu
Asif Qumer, Brian Henderson-Sellers, COMPARATIVE EVALUATION OF XP AND SCRUM
USING THE 4D ANALYTICAL TOOL (4-DAT) .Faculty of Information Technology, University of
Technology, Sydney, NSW, Australia
No hay comentarios:
Publicar un comentario