Hay una razón por la que los métodos de entrenamiento ágil se están convirtiendo en la corriente principal. ¡Pueden trabajar! Aunque todas las prácticas de Agile no son necesariamente apropiadas para todas las organizaciones, cada práctica ha brindado un valor real a muchas organizaciones, ¡y cualquiera puede usar algunas prácticas de Agile!
Ventaja # 1: Satisfacción de las necesidades de los clientes
Los proyectos ágiles involucran al cliente regularmente, no solo al principio (para los requisitos) y al final (para la aceptación). Esta participación del cliente mitiga uno de los problemas más consistentes en los proyectos de software: lo que aceptarán al final del proyecto difiere de lo que nos dijeron al principio.
Si bien las buenas prácticas de análisis de negocios (o análisis de requisitos) pueden ayudar con este riesgo, solo nos pueden llevar hasta el momento. No hay sustituto para demostrarle al cliente lo que estamos construyendo y obtener sus comentarios regularmente a lo largo del proyecto. Esto es precisamente lo que hacen los proyectos ágiles.
Además de descubrir malentendidos al principio del proyecto, esta interacción ayuda al cliente a formar una mejor visión del producto emergente. Junto con la capacidad de visualizar la funcionalidad que viene, según lo que se ha construido hasta ahora, los clientes desarrollan una mejor comprensión de sus propias necesidades y el vocabulario para expresarlo a los desarrolladores. También les permite identificar cuándo cambian sus necesidades, lo que analizaremos a continuación en Ventaja # 2.
Todas estas dinámicas se unen para permitir al cliente dirigir el proyecto hacia la producción de todo lo que necesita, como puede hacerse dentro de las limitaciones del proyecto. Abordaremos este tema de restricciones en Ventaja # 3.
Ventaja # 2: mayor agilidad
El mundo no permanece estático entre el día en que comenzamos un proyecto y cuando se hace. Ya sea que el proyecto demore algunos días, varios meses o más de un año, la organización cambia, el cliente cambia, el entorno cambia y, sí, incluso los desarrolladores cambian.
La razón principal por la que los métodos Agile se denominan "Agile" es porque el ciclo de vida iterativo está diseñado para adaptarse al cambio. El trabajo se realiza en breves "iteraciones" (o Sprints) de solo unas pocas semanas, y la transición de una iteración a la siguiente incluye hacer un balance de lo que puede haber cambiado desde que comenzó la iteración y cómo adaptarse a esos cambios.
Como mencionamos en Ventaja # 1, las necesidades de nuestros clientes pueden cambiar. Realmente no importa si ese cambio constituye que el cliente obtenga una nueva y mejor comprensión de sus necesidades, o si se trata de un cambio muy real en su entorno. La conclusión es que entregar un producto que cumpla con las necesidades originales (obsoletas) es inútil y contraproducente. Pero el cliente no es la única fuente de cambio. La situación de la organización de desarrollo también podría cambiar.
El entorno empresarial cambiante puede afectar la propuesta de valor para el proyecto, haciendo que la administración asigne más o menos recursos, reorganice las prioridades, extienda o contraiga el cronograma, o incluso suspenda o cancele el proyecto.
La naturaleza iterativa e incremental del proceso de planificación Agile hace que cualquiera de estos tipos de cambios sea mucho menos perturbador que en los proyectos tradicionales. Reelaborar la hoja de ruta del proyecto en general es relativamente fácil porque se basa en estimaciones de un orden de magnitud aproximado con muy pocos detalles adjuntos. Y debido a que la planificación detallada se realiza justo a tiempo (solo por unas pocas semanas a la vez), los cambios también causarán poca o ninguna revisión.
Independientemente de la fuente del cambio, el cliente está tan involucrado en la adaptación como lo está en cualquier otra parte del proyecto. Esto garantiza que la agilidad no se produce a expensas de satisfacer al cliente (un punto que ampliaremos a continuación en Ventaja # 3).
Ventaja # 3: Expectativas realistas del cliente
La mayoría de los clientes tienen poca o ninguna comprensión de lo que se necesita para desarrollar software. Esto puede dar lugar a muchos problemas y discusiones sobre los proyectos, ya que el cliente hace demandas que imaginan que serían fáciles para el equipo de desarrollo, y cuestionan a dónde va el tiempo y el esfuerzo y por qué lleva tanto tiempo el proyecto.
Los proyectos ágiles incluyen al cliente en todas las actividades más importantes. ¡Es por eso que el cliente se cuenta como miembro del equipo Agile!
Los desarrolladores y el cliente colaboran para definir los requisitos de alto nivel (Historias de usuarios) y para mantenerlos durante todo el proyecto.
El cliente está presente a medida que los desarrolladores generan sus estimaciones aproximadas (por ejemplo, Puntos de Historia) para responder preguntas sobre cada requisito, si es necesario.
Comments