Muchas veces, cuando nos enfrentamos a un nuevo proyecto o nos incorporamos a uno que está ya en marcha, no solemos dedicar el tiempo suficiente a las fases iniciales, es decir, a la planificación y al establecimiento de una metodología de trabajo que nos ayude a organizar mejor las tareas a acometer y, sobre todo, facilite la gestión. La planificación, por ejemplo, usando un diagrama de Gantt, no sirve de mucho si no ponemos los medios adecuados para organizar la ejecución del proyecto y hacerla de manera óptima, detectando desviaciones presupuestarias, retrasos, riesgos, gestionando los cambios adecuadamente y, claro está, asegurando la calidad.

Con la idea de ejecutar el proyecto sin dejar a un lado todos estos aspectos surgieron las metodologías de gestión de proyectos en los años 50 (en el seno del Ejército de Estados Unidos) para evitar, precisamente, el descontrol que puede llegar a reinar en un proyecto. Con el paso de los años, las metodologías se han convertido en una pieza clave en la gestión de los proyectos y, para muchas empresas, son piedra angular de sus procesos de gestión y un pilar importante en el que apoyarse.

El PMBOK, por ejemplo, es una de las metodologías clásicas más extendidas en uso, sin embargo, su rigidez y formalismo ha llevado, sobre todo en el ámbito de las empresas tecnológicas, a buscar otras fórmulas mucho más ágiles que huyan de la rigidez burocrática, se adapten mucho mejor a los cambios y permitan obtener resultados intermedios que sean tangibles (es decir, funcionales). Dentro de esta corriente de metodologías ágiles encontramos nombres como Scrum o Extreme Programming que se basan en el desarrollo iterativo e incremental (se centran principalmente en la ingeniería del software) y que, por tanto, permiten obtener un producto desde el primer momento e, iteración tras iteración, ir haciéndolo crecer añadiendo nuevas funcionalidades vinculadas a los requisitos definidos.

Scrum es, quizás, una de las metodologías ágiles más conocidas y, de hecho, es tan popular porque no solamente tiene aplicación en el ámbito de la ingeniería del software y se utiliza en muchas organizaciones para la gestión de sus proyectos (e incluso para la organización de proyectos de carácter personal). ¿Y cuáles son los grandes rasgos de Scrum? Esta metodología está orientada a la obtención de resultados a pesar de que el entorno sea cambiante y los requisitos estén sujetos a cambios o no estén muy bien definidos.

Scrum Overview Diagram

La idea, de manera resumida, es dividir los requisitos (denominado Pila de productos) en sprints, es decir, requisitos que vamos a cumplir en cada una de las fases o iteraciones en las que hemos dividido el proyecto. Desde el final de la primera fase obtendremos un producto funcional y, con cada iteración, el producto irá creciendo y cumpliendo la pila de requisitos definidos. Gracias a esta división en iteraciones, el producto puede adaptarse fácilmente a los cambios en los requisitos y sus ajustes puesto que, al iniciar una nueva iteración, se puede revisar el trabajo realizado o ajustar las idefiniciones que se arrastran en la pila de productos.

Además de los roles que se definen en la metodología, Scrum modela una serie de reuniones con el equipo que trabaja en el proyecto (el Daily Scrum para revisar los avances, las reuniones de planificación, etc) y con el cliente que nos hace el encargo (Sprint Review Meeting en la que revisamos el cumplimiento de requisitos y, en el caso de trabajar en el desarrollo de software, realizar una demo.

¿Y qué recursos podemos utilizar para trabajar con Scrum? ¿Una herramienta de planificación de proyectos? ¿Un gestor de tareas? En la red podemos encontrar herramientas orientadas, de manera específica, a Scrum y, por ejemplo, ScrumMe es un interesante servicio gratuito (que tiene aplicación para Google Chrome) con el que podremos organizar nuestro proyecto siguiendo esta metodología.

Con esta aplicación podremos organizar nuestro equipo de trabajo, organizar los sprints del proyecto, calendarizar las reuniones de revisión que vayamos a realizar (con nuestro equipo o con el cliente) y, claro está, revisar el grado de ejecución del proyecto que estamos desarrollando.

ScrumMe

Vale la pena profundizar en esta metodología puesto que puede dotar a nuestro equipo de mucha flexibilidad a la hora de abordar un proyecto y enfrentarse a los temidos cambios en los requisitos de los clientes (que con una aproximación clásica terminan siendo un punto de fricción y una fuente de desviaciones en presupuestos y en la planificación temporal). En la red existen muchísimas referencias a esta metodología que podemos consultar y si buscamos algún libro en el que introducirnos a este mundo (y que además esté en castellano) vale la pena echarle un vistazo a Scrum y XP desde las trincheras de Henrik Kniberg.

Imágenes: OMISAN y Oficina Software Libre Universidad de Granada