Como ya sabes, la gestión de proyectos puede variar entre cada tipo de proyecto. Entre los métodos para la gestión de proyectos de software cabe destacar el enfoque ágil, como alternativa a las técnicas tradicionales. Este tipo de metodología es la mejor herramienta para hacer frente a la inevitable imprevisibilidad que afecta a todo proyecto de estas características, minimizando su impacto y enfatizando la precisión en los resultados.
Scrum es la manera más popular de introducir el método ágil, debido a su simplicidad y flexibilidad. Las claves para comprender mejor en qué consiste son tres:
- La retroalimentación empírica: Scrum hace hincapié en la idea del control empírico de los procesos, dividiendo cada proyecto en cadencias de trabajo breves, conocidas como sprints, que suelen ser una semana, dos semanas o tres semanas en la duración.
- La autogestión del equipo: dada la economía en la definición de roles en un proyecto gestionado de esta forma, sólo hay tres, cada uno ostenta una gran responsabilidad con la que se responde de las acciones y decisiones tomadas. Los miembros del equipo, y sólo ellos, son los encargados de definir el modo de alcanzar la meta en cada cadencia de trabajo.
- El esfuerzo para construir incrementos de producto adecuadamente probados en iteraciones cortas: la evaluación continua es la clave del éxito y su complemento perfecto es la división del conjunto del proyecto en pequeñas partes, los sprints.
Al final de cada sprint, actores y miembros del equipo se reúnen para evaluar el progreso de un proyecto y planificar sus próximos pasos, lo que permite a la dirección de proyecto ajustar o reorientar las acciones a tomar en base al trabajo terminado, en vez de a la especulación o las predicciones. Sus ventajas son:
- Capacidad de adaptación y flexibilidad.
- Estabilidad de sus prácticas.
- Simplicidad de aplicación, ya que se basa en una evaluación continua.
Para llevar a cabo Scrum es necesario definir tres roles:
- Propietario del producto: es la persona responsable de comunicar la visión del producto al equipo de desarrollo, encargándose también de representar los intereses del cliente a través de requisitos y prioridades. Es el rol que ostenta mayor autoridad y, al mismo tiempo, más responsabilidad y debe estar siempre disponible para resolver cualquier cuestión técnica o de planificación que pudiesen plantearle los miembros del equipo.
- ScrumMaster: este perfil no coincide con la figura de un administrador, pero su cometido se entrecruza con la gestión de equipo, al ocuparse de fomentar la creatividad, impulsar la productividad y hacer visible la consecución de resultados de cara al cliente. La última de sus funciones tendría que ver con el asesoramiento al propietario del producto para ponerle en la pista de conocer cómo maximizar el ROI para el equipo.
- Miembro del equipo: su misión es completar el trabajo y en este rol encajan diferentes perfiles, complementarios entre los que se puede encontrar a ingenieros de software, arquitectos, programadores, analistas, expertos en control de calidad, encargados de testing y diseñadores de interfaz de usuario. A diferencia de otros métodos para la gestión de proyectos de software, Scrum les otorga una gran autonomía, ya que son ellos quienes se encargan de confeccionar el plan de acción correspondiente a cada sprint, una vez que el propietario del producto ha definido los objetivos.
Las ventajas de usar ágil como método para la gestión de proyectos de software
El desarrollo ágil ofrece muchos beneficios entre los que se encuentran:
- Aumenta las oportunidades para evaluar la dirección del proyecto a lo largo de todo el ciclo de vida de desarrollo: a diferencia de enfoques más tradicionales, donde este tipo de evaluaciones sólo tienen lugar al finalizar cada etapa o coincidiendo con la consecución de proyecto, en un entorno de trabajo ágil las revisiones se practican al terminar cada sprint. Esto implica que, cada aspecto del desarrollo y sus requisitos son revisados continuamente. El resultado es obvio ya que, cuando un equipo se detiene y reevalúa la dirección de un proyecto cada semana o cada dos semanas, hay tiempo para dirigirse en otra dirección si se concluye que es ésa la opción más conveniente.
- Reduce en gran medida los costos y tiempos de desarrollo de mercado: gracias a la esencia de su enfoque, basado en la revisión continua y la adaptación siempre que sea necesaria se evitan los tiempos muertos, los callejones sin salida y se promueve el avance continuo y con seguridad. Además, al asimilarse cada sprint a un periodo de tiempo tan corto es más sencillo calibrar correctamente cada paso antes de darlo por finalizado, evitando tener que volver sobre algún requisito o, en el peor de los casos, verse forzado a rehacer alguna parte.
- Aumenta la precisión en los resultados y las posibilidades de éxito del proyecto: la razón no es otra que, trabajando de esta forma, se consigue construir el producto correcto. En lugar de comprometerse a comercializar un producto de software en base a un planteamiento abstracto, el método ágil permite a los equipos replantearse continuamente todas las cuestiones relativas a su desarrollo para optimizar su valor, ganando en competitividad y efectividad.
Acerca del autor:
Este articulo fue escrito por Dirk J. Breeuwer, Account Executive en InboundCycle