domingo, 24 de mayo de 2015

SCRUM

Introducción

Existen varias metodologías ágiles creadas para reducir y optimizar el tiempo de desarrollo de un proyecto, siendo SCRUM una de las más conocidas y utilizadas.

¿Qué es SCRUM?

Scrum es un proceso en el que se aplican de manera regular un conjunto de mejores prácticas para trabajar colaborativamente, en equipo, y obtener el mejor resultado posible de un proyecto.

En Scrum se realizan entregas parciales y regulares del producto final, priorizadas por el beneficio que aportan al receptor del proyecto. Por ello, Scrum está especialmente indicado para proyectos en entornos complejos, donde se necesita obtener resultados pronto, donde los requisitos son cambiantes o poco definidos, donde la innovación, la competitividad, la flexibilidad y la productividad son fundamentales.

Scrum también se utiliza para resolver situaciones en que no se está entregando al cliente lo que necesita, cuando las entregas se alargan demasiado, los costes se disparan o la calidad no es aceptable, cuando se necesita capacidad de reacción ante la competencia, cuando la moral de los equipos es baja y la rotación alta, cuando es necesario identificar y solucionar ineficiencias sistemáticamente o cuando se quiere trabajar utilizando un proceso especializado en el desarrollo de producto.

SCRUM vs XP

SCRUM XP
Características
  • Solo abarca prácticas de gestión, sin tomar en cuenta las prácticas de desarrollo.
  • El equipo tiene la responsabilidad de decidir la mejor manera de trabajar con el fin de ser lo más productivo posible y se le da gran protagonismo a las reuniones que realicen a lo largo del proyecto.
  • Sus raíces teóricas están en las teorías de la auto-organización.
  • Se basa en las pruebas realizadas a los principales procesos, de tal manera que sea posible hacer pruebas de las fallas que pudieran ocurrir.
  • Tiene como pilar la reutilización de código, para lo cual se crean patrones o modelos estándares, siendo más flexible al cambio.
  • Propone la programación en pares, la cual consiste en que dos desarrolladores participen en un proyecto en una misma estación de trabajo. Cada miembro lleva a cabo la acción que el otro no está haciendo en ese momento.
Roles

Product Owner

  • Representa a todos los interesados en el producto final.
  • Marca las prioridades del producto.
  • Lleva el control de las estimaciones.
  • Retorno de Inversión (ROI.)

Scrum master

  • Responsables del proceso de Scrum.
  • Incorporación de Scrum en la cultura de la organización.
  • Asegura el cumplimiento de los roles y responsabilidades.
  • Formación y entrenamiento en el proceso.

Scrum team

  • Debe trasformar las tareas del Sprint Backlog en un incremento de funcionalidad en el software.
  • Desarrollar el producto con calidad.
  • Auto-gestionado.
  • Auto-organizado.
  • Multi-funcional.
  • No mayor a ocho elementos.

Programador (Programmer)

  • Responsable de decisiones técnicas.
  • Responsable de construir el sistema.
  • Sin distinción entre analistas, diseñadores o codificadores.
  • En Xp, los programadores diseñan, programan y realizan las pruebas.

Cliente (Customer)

  • Es parte del equipo.
  • Determina qué construir y cuándo hacerlo.
  • Escribe tests funcionales para determinar cuándo está completo un determinado aspecto.

Entrenador (Coach)

  • El líder del equipo – toma las decisiones importantes.
  • Principal responsable del proceso.
  • Tiende a estar en un segundo plano a medida que el equipo madura.

Rastreador (Tracker)

  • Observa sin molestar.
  • Conserva datos históricos.

Probador (Tester)

  • Ayuda al cliente con las pruebas funcionales.
  • Se asegura de que los tests funcionales se ejecutan.

Conclusión

A pesar de que tanto SCRUM como XP forman parte de las metodologías ágiles, no es prudente realizar una comparación entre ambas pues tienen un campo de acción distinto.

Bibliografia

  • Tataje, M. (22 de 11 de 2010). Recuperado el 24 de 05 de 2015, de https://www.ibm.com/developerworks/community/wikis/home/wiki/Rational+Team+Concert+for+Scrum+Projects/page/SCRUM+como+metodolog%C3%ADa
  • Desconocido. (Desconocido). Recuperado el 24 de 05 de 2015, de https://aps2programacionxtrema.wordpress.com/xp-vs-scrum/