Este documento describe y compara tres metodologías ágiles comunes: RUP, SCRUM y XP. RUP se centra en casos de uso y arquitectura iterativa, SCRUM divide roles y mejora continuamente, y XP realiza entregas frecuentes corrigiendo errores. RUP produce varios entregables mientras SCRUM solo produce software terminado. SCRUM sigue prioridades del sprint backlog mientras XP sigue prioridades del cliente. El autor elegiría RUP por su flexibilidad, adaptación a proyectos grandes y pequeños, y evaluación temprana
2. Las metodologías agiles son aquellas que nos permiten adaptar
nuestra forma de trabajo a las condiciones de un proyecto que
va a comenzar. Muchas empresas apuestan por metodologías
agiles para gestionar sus proyectos de manera flexible,
autónoma y eficaz.
Las metodologías agiles más conocidas e importantes para el
momento son: RUP, SCRUM y XP. Estas son bastante conocidas
por realizar las tareas de forma iterativa e incremental.
3. Características:
- La metodología RUP es dirigida por casos de usos, estos
son considerados herramientas útiles para representar
los requisitos fundamentales del sistema.
- Los procesos están centrados en un sistema de
arquitectura, mostrando sus partes más relevantes
permitiendo así una visión común entre desarrolladores y
usuarios.
- Realiza un proceso iterativo e incremental, dividiendo en
varias partes o en mini proyectos el trabajo. De esta
forma los casos de usos y la arquitectura trabajan en
equilibrio y pueden lograr durante todo el proceso del
sistema los mini proyectos establecidos.
4. Características:
- La metodología SCRUM está divida en roles, donde cada
uno de estos realizan unos requerimientos o tareas
necesarios para el producto final.
- Trabaja bajo la idea de iteración y mejora, la cual
consiste en el producto y la eficiencia del equipo entre
sí.
- Maneja un marco de trabajo con el cual las personas
pueden entregar un producto de máximo valor,
productivo y creativo.
5. Características:
- Diseñada para la entrega de software en los tiempos
estipulados.
- Facilita que la información fluya de forma eficiente,
para así evitar problemas en el proyecto de desarrollo
por falta de comunicación.
- Corrige todos los errores antes de añadir una nueva
funcionalidad, realizando entregas frecuentes.
6. Diferencias:
- RUP y SRUM poseen el mismo enfoque iterativo,
realizado a través de una planificación basada en
tiempo. Sin embargo, RUP plasma su alcance antes de
comenzar el proyecto y trabaja sobre lo largo del
proyecto. SRUM establece su alcance a través de los
objetivos plasmados, siendo revisados en cada sprint.
- El producto final entregado por la RUP debe ser algo muy
bien definido, mientras que la XP realiza pruebas
continuas y discretas que permiten evaluar el sistema
conforme se colocan las versiones finales.
7. Diferencias:
- En SCRUM las tareas que se han realizado del Sprint
backlog muestra su conformidad y ya no vuelven a ser
tocadas en ningún momento. Sin embargo, la XP va
modificando durante el transcurso de todo el proyecto
las tareas terminadas en las diferentes entregas al
cliente.
- La metodología RUP realiza una serie de entregables
siendo estos: plan de desarrollo, casos de usos, planes de
iteraciones… Y la SCRUM el único entregable es el
software operativo ya culminado.
8. Diferencias:
- SCRUM sigue el orden de prioridad que marca la persona
responsable del equipo según el sprint backlog, pero si
ven que el orden se puede modificar para darle mas
prioridad a otras tareas de desarrollo es posible hacerlo.
En cambio, XP sigue estrictamente las prioridades de las
tareas definidas por el cliente.
- XP realiza sus tareas de programación en parejas, sin
embargo el código completo le pertenece a todo el
equipo. Mientras la RUP cada quien trabaja su parte por
separado.
9. En la elaboración de mi proyecto socio tecnológico para el
desarrollo del software elegiría la metodología RUP.
¿Por qué utilizarlo?
✔ Nos provee un desarrollo flexible basado en estándares que se
adaptan a las necesidades del desarrollador y la empresa.
✔ Puede ser aplicada a proyectos pequeños así como a grades
proyectos para darle continuidad.
✔ Existe una gran variedad de documentación de esta
metodología.
10. ✔ Reconoce que las necesidades del usuario y sus
requerimientos no se pueden definir completamente al
principio.
✔ Permite evaluar tempranamente los riesgos.
✔ Acelera el ritmo del esfuerzo de desarrollo debido a que los
desarrolladores trabajan para obtener resultados claros y
eficaces a corto plazo.