lunes, 13 de agosto de 2012

Porque emplear SCRUM


En muchas situaciones, los esquemas tradicionales no son apropiados para uno de los retos fundamentales de la actualidad: incorporar cambios rápidamente y en cualquier fase del proyecto. Seguramente nos ha sucedido que cuando el desarrollo de un sistema se encuentra en las etapas finales, un cambio en los requerimientos nos obliga a tirar por la borda gran parte del trabajo realizado, y como resultado de esto, los plazos pactados no se cumplen. Las características de Scrum mencionadas anteriormente, nos indican que es una metodología ideal para atacar a este tipo de problemas.

Además, podemos considerar otras razones para utilizar Scrum, las cuales son características de las metodologías ágiles en general:

  • Beneficios tempranos: la naturaleza iterativa del desarrollo ágil resulta en características del producto entregadas incrementalmente. Esto permite que algunos de los beneficios del producto puedan ser aprovechados tempranamente mientras el producto sigue construyéndose. 
  • Rapidez para vender: según investigaciones, aproximadamente el 80% de los vendedores líderes fueron los primeros en vender sus respectivos productos. De la misma forma en que los beneficios tempranos surgen por las entregas incrementales, la filosofía de desarrollo ágil también permite la noción de releases tempranos y regulares, así como también de betas perpetuos.
  • Calidad: un principio clave del desarrollo ágil es que las pruebas deben estar integradas a todo el ciclo de desarrollo, permitiendo inspecciones regulares y un enfoque muy colaborativo.
  • Visibilidad: los releases pequeños e incrementales alientan a la participación activa de los clientes a lo largo del desarrollo del producto y un enfoque cooperativo. Esto brinda una excelente visibilidad del progreso del proyecto y del producto en sí para las partes involucradas, lo que a su vez permite asegurar que las espectativas sean logradas efectivamente.
  • Manejo del riesgo: son los releases incrementales y pequeños los que permiten al equipo de trabajo identificar cualquier tipo de problema en una etapa temprana y poder responder efectivamente a los cambios. La visibilidad clara en el desarrollo ágil contribuye a garantizar que las desiciones puedan ser tomadas lo más temprano posible, cuando aún haya tiempo para marcar una diferencia en los beneficios.
  • Flexibilidad/Agilidad: en los proyectos de desarrollo tradicional, se escribe una gran especificación por adelantado y luego se comunica a los clientes cuán caro es cambiar algo, particularmente cuando el proyecto está en las fases finales. Cuando los proyectos avanzan lentamente y se teme a que no terminen, los cambios son resistidos y se convoca a las personas a un comité de control de cambios para mantenerlos al mínimo. Por el contrario, en el desarrollo ágil, los cambios son aceptados. De hecho, son esperados. De esta forma, el calendario es fijado y los requisitos evolucionan. Así, las características del producto evolucionan a medida que se va desarrollando.
  • Control de costos: la idea expuesta anteriormente acerca de fijar el calendario y aceptar nuevos requerimientos deriva en un costo fijo del producto. En definitiva: el alcance del producto y sus características son variables, pero el costo no.
  • Compromiso del negocio/Satisfacción del cliente: la participación activa de los usuarios representativos del producto y/o del dueño, la visibilidad del producto y su progreso, y la flexibilidad al cambio cuando es necesario, favorece a una buena relación con el negocio y la satisfacción del cliente. Este es un beneficio importante que puede crear una relación de trabajo mucho más positiva y perdurable.
  • Producto correcto: por encima de los puntos anteriores, el equipo debe construir el producto correcto. Es común en las metodologías tradicionales entregar un proyecto "correcto" en términos de Tecnologías de Información (TI) y descubrir que el producto no es lo que se esperaba o se necesitaba. En el desarrollo ágil, el énfasis esta absolutamente abocado a la construcción de un producto correcto.
  • Más agradable: la participación activa y la cooperación hacen que los equipos de desarrollo ágil sean un lugar de trabajo mucho más agradable para las personas. En lugar de grandes especificaciones, se discuten los requerimientos en reuniones. En lugar de largos reportes de estado, la comunicación se da en una mesa de charla de progreso. En vez de grandes planes de proyecto y comités de control de cambios, se discute qué es correcto para el producto y para el proyecto, y el equipo es facultado para tomar desiciones. Esto es mucho más gratificante para las personas y favorece a la creación de equipos motivados, eficientes y con mucha colaboración.


Por último, dentro del contexto de las metodologías ágiles, podemos decir que Scrum es la técnica más personalizable y flexible en cuanto a su aplicación. Esto se debe a que Scrum fomenta ideas abstractas y no prácticas de ingeniería especificas (como lo hace eXtreme Programming). Por eso, puede decirse que Scrum es la base del resto de las metodologías ágiles; de allí deriva su importancia.

No hay comentarios:

Publicar un comentario