Aprende a gestionar proyectos de software con éxito
Si tienes una consultora de software o trabajas en la gestión de proyectos de este tipo para diversos clientes, ¿te gustaría saber cómo manejar estos proyectos de forma sencilla y productiva? Sigue leyendo y aprende a gestionar proyectos de software con éxito.
¿Qué implica la gestión de un proyecto de software?
Cuando pensamos en la gestión de un proyecto de software, debemos definir si utilizaremos un ciclo de vida estructurado, como Waterfall (el ciclo de desarrollo en cascada y el más conocido de este tipo), o un ciclo ágil con, por ejemplo, la metodología Scrum.
Si prefieres ir por el primer caso, necesitarás usar una herramienta basada en Gantt, un diagrama con relaciones entre tareas y etapas, como Microsoft Project o similares. En resumen, las fases del proyecto se irán realizando por pasos bien estructurados, a saber: el análisis, el diseño, la codificación, el testing y la puesta en producción. Si fuera necesario, podrías retroceder a alguna etapa anterior, pero esto ocasionará un costo extra para el proyecto.
En el segundo caso, el de aplicar ciclos de desarrollo ágiles, el objetivo es entregar un producto con la mayor calidad, en el menor tiempo posible. Siguiendo la metodología Scrum, existen distintos roles intervinientes: el product owner (el que conoce el producto), el equipo de desarrollo (autónomo, multidisciplinario y autogestionable) y el scrum master (el facilitador, responsable de hacer cumplir el desarrollo de Scrum y de llevar adelante el equipo).
Etapas de la gestión del proyecto de software con Scrum
- El product owner presenta una serie de historias de usuario, las distintas descripciones de las características del producto que se quiere conseguir.
- El equipo entero toma una serie de product backlogs, historias de usuario priorizadas, y los incluye dentro de un sprint, durante una reunión denominada sprint planning (reunión de planeamiento previo a que inicie la iteración).
- Una vez analizados, estos product backlogs se transforman en sprint backlogs; un product backlog puede generar uno o más sprint backlogs, con una estimación de esfuerzo.
- Con una serie de tareas definidas, los sprint backlogs, se inicia la iteración. Se realizan las ceremonias propias de la metodología, se ejecutan las tareas y, cuando finaliza la iteración, se obtiene un producto con las características implementadas.
- En ese momento, se lleva a cabo un sprint review; es decir, una reunión de demo en la que se muestra el producto que se ha creado a todo el equipo implicado.
- En el medio de la iteración, ocurre el refinement: se toman product backlogs que no están dentro de dicha iteración y se los refina. En otras palabras, se los analiza con más nivel de detalle para incluirlos en futuros sprints. Aquí participan el product owner y todo el equipo de desarrollo.
- A diario, se realiza un daily meeting, una reunión de aproximadamente 15 minutos para comentar lo que se hizo, lo que se va a hacer y los impedimentos que existen para avanzar y que el scrum master tratará de resolver.
Vale destacar que siguiendo esta metodología no se requiere que la planificación inicial sea completa, no es necesario ahondar en los detalles desde el principio. Acortas los períodos de planificación y, por lo tanto, no pierdes demasiado tiempo en caso de que ocurra algún imprevisto. En una o dos semanas, podrías rectificar u obtener un cambio, ahorrando tiempo, costo y esfuerzos.
Pasos para gestionar un proyecto ágil con MyTaskPanel
- Crea el proyecto. Dirígete a la opción de Nuevo Proyecto y elige el proyecto con iteraciones. Accederás a un árbol de iteraciones y a un tablero estilo Kanban con las columnas por estado: ToDo, Doing, Done.
- Carga los product backlogs como tareas. Apunta el detalle de cada uno y utiliza el checklist para introducir los criterios de aceptación. Podrías colocar una estimación del esfuerzo en story points (esto dependerá de la forma de trabajo de cada equipo) y una prioridad.
- Crea las distintas iteraciones o sprints con fechas de inicio y de fin. Durante la reunión de planning, aprovecha para estimar el esfuerzo de cada product backlog y moverlo hacia el primer sprint para iniciar la iteración. A cada miembro del equipo se le asigna al menos un product backlog (o tarea) para desarrollar. Dependiendo de la madurez del equipo, los miembros podrían autoasignarse sus propias tareas.
- Empieza el sprint o la iteración. El equipo comienza a trabajar y, a medida que inicia una tarea, se ocupa de moverla hacia la columna Doing. Y, cuando la finaliza, acaba moviéndola a Done. El tiempo restante, que se ha ido modificando al cambiar la tarea, pasa ahora a cero.
- Durante la gestión del proyecto, puedes usar el calendario y/o el timeline para revisar las fechas de vencimiento de las tareas. Puedes acceder al dashboard para ver el estado general, quién tiene asignada cada tarea, cómo va el avance de cada grupo, etc. Cuanto más detalles hayas colocado en las tareas, más te servirán estas herramientas.
- En caso de que al final del sprint hayan quedado tareas sin terminar, analiza el por qué en la próxima reunión de retrospectiva o bien en el nuevo planning y pasa dichas tareas al siguiente sprint en MyTaskPanel.
En pocas palabras, seguir la metodología Scrum te servirá para gestionar proyectos de software, sin perder demasiado tiempo ni costos ante cualquier problemática que pueda surgir en el camino. Aprovecha MyTaskPanel para encargarte con éxito de la gestión de tus proyectos.