SCRUM
Scrum
se basa en la teoría de control de procesos empírica o empirismo.
El empirismo asegura que el conocimiento procede de la experiencia y
de tomar decisiones basándose en lo que se conoce. Scrum emplea un
enfoque iterativo e incremental para optimizar la predictibilidad y
el control del riesgo.
El
Equipo Scrum consiste en un Dueño de Producto (Product Owner), el
Equipo de Desarrollo (Development Team) y un Scrum Master.
El
Equipo Scrum (Scrum Team)
El
modelo de equipo en Scrum está diseñado para optimizar la
flexibilidad, la creatividad y la productividad. Los Equipos Scrum
entregan productos de forma iterativa e incremental, maximizando las
oportunidades de obtener retroalimentación. Las entregas
incrementales de producto “Terminado” aseguran que siempre estará
disponible una versión potencialmente útil y funcional del producto
El
Dueño de Producto (Product Owner)
El rol del Product
Owner, puede venir de parte del cliente o dentro de la empresa misma,
depende. Generalmente no se aconseja que el Product Owner sea parte
también del equipo de desarrollo, o el Scrum Master mismo,
sus intereses se pueden ver enfrentados, pero esto puede variar según
el caso. Por defecto, probablemente venga de parte del cliente. Como
Product Owner representa al cliente, y es el encargado de negociar
con el equipo, con el Scrum Master por medio como facilitador, la
prioridad del trabajo a realizar. Esto desde una perspectiva del
retorno de inversión para el negocio.
El
Equipo de Desarrollo (Development Team)
El
Equipo de Desarrollo consiste en los profesionales que desempeñan el
trabajo de entregar un Incremento de producto “Terminado”, que
potencialmente se pueda poner en producción, al final de cada
Sprint. Solo los miembros del Equipo de Desarrollo participan en la
creación del Incremento. Los Equipos de Desarrollo son estructurados
y empoderados por la organización para organizar y gestionar su
propio trabajo. La sinergia resultante optimiza la eficiencia y
efectividad del Equipo de Desarrollo.
El
Scrum Master
El
Scrum Master es el responsable de asegurar que Scrum es entendido y
adoptado. Los Scrum Masters hacen esto asegurándose de que el Equipo
Scrum trabaja ajustándose a la teoría, prácticas y reglas de
Scrum. El Scrum Master es un líder que está al servicio del Equipo
Scrum. El Scrum Master ayuda a las personas externas al Equipo Scrum
a entender qué interacciones con el Equipo Scrum pueden ser de ayuda
y cuáles no. El Scrum Master ayuda a todos a modificar estas
interacciones para maximizar el valor creado por el Equipo Scrum.
XP
XP
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.
Los
roles de acuerdo con la propuesta original de Beck son:
-
Programador. El programador escribe las pruebas unitarias y
produce el código del sistema.
-
Cliente. Escribe las historias de usuario y las pruebas
funcionales para validar su implementación. Además, asigna la
prioridad a las historias de usuario y decide cuáles se implementan
en cada iteración centrándose en aportar mayor valor al negocio.
-
Encargado de pruebas (Tester). Ayuda al cliente a escribir
las pruebas funcionales. Ejecuta las pruebas regularmente, difunde
los resultados en el equipo y es responsable de las herramientas de
soporte para pruebas.
-
Encargado de seguimiento (Tracker). Proporciona
realimentación al equipo. Verifica el grado de acierto entre las
estimaciones realizadas y el tiempo real dedicado, para mejorar
futuras estimaciones. Realiza elseguimiento del progreso de cada
iteración.
-
Entrenador (Coach). Es responsable del proceso global. Debe
proveer guías al equipo de forma que se apliquen las prácticas XP y
se siga el proceso correctamente.
-
Consultor. Es un miembro externo del equipo con un
conocimiento específico en algún tema necesario para el proyecto,
en el que puedan surgir problemas.
-
Gestor (Big boss). Es el vínculo entre clientes y
programadores, ayuda a que el equipo trabaje efectivamente creando
las condiciones adecuadas. Su labor esencial es de coordinación.