El desarrollo del software ha evolucionado rápidamente, pasamos de escribir códigos con estructuras secuenciales y sin ningún patrón de desarrollo, a crear estructuras de captura de requisitos, planificación de tareas, inserción de metodologías de desarrollo, estructuración de costos, creación de pruebas y sobretodo a cambiar el enfoque de «programa primero, documenta después».
Han sido muchas las metodologías de desarrollo que se han creado a lo largo del tiempo, con la finalidad de que los programas que hoy se creen sean de calidad, estables y de fácil adopción.
Particularmente en los últimos proyectos donde he estado presente hemos comenzado a utilizar metodologías ágiles de desarrollo, específicamente hemos utilizado SCRUM que más que una metodología de desarrollo es un esquema de trabajo, SCRUM es un conjunto de buenas prácticas que se deben aplicar para realizar trabajos de manera colaborativa con la finalidad de tener desarrollos de calidad en el menor tiempo posible.
La finalidad de Scrum es tener prototipos funcionales que puedan ser utilizados sin necesidad de que el producto principal este totalmente terminado, esto ayuda a obtener resultados rápidamente, adoptar nuevos requisitos o modificar los requisitos iniciales, innovar en el transcurso del desarrollo, aumenta la competitividad, la flexibilidad y la productividad.
Al ser un SCRUM un esquema de trabajo, tiene ciertos procedimientos de carácter obligatorio, uno de los más importante y el que me ha hecho conocer la herramienta de código abierto Taiga.io es el backlog, que no es más que un listado de todo el trabajo que queda pendiente. Las tareas en scrum se llaman historias de usuarios y son funcionalidades que tienen valor por si mismo, las historias de usuarios se estiman en puntos por lo general e indica la complejidad de la tarea.
Taiga es una herramienta de software libre y código abierto, creada para gestionar y colaborar en proyectos ágiles, principalmente aquellos que utilizan metogología Scrum y kanban, además permite gestionar issues.
De igual manera Taiga posee otros módulos como wiki, videoconferencia (gracias a una solución de terceros), locaina, actualización de equipo y como si fuera poco gracias a su potente API permite la integración con servicios de terceros como Slack, GitHub, GitLab, Bitbucket, HipChat, Gogs, Hall entre otros.
Taiga es distribuida bajo la licencia de código abierto Affero GPL, está escrita en Django (backend) + AngularJS (frontend) y su código fuente está alojado en GitHub para que sea utilizado por la comunidad.
Para comenzar a disfrutar de Taiga debes registrarte de manera gratuita, verificar tu cuenta mediante el correo electrónico que te envían e iniciar sesión con los datos que indicaste anteriormente.
La combinación del marco de trabajo SCRUM con la herramienta de gestión de proyectos Taiga, puede ser aplicado para cualquier proyecto que desees realizar, ya sea a nivel de desarrollo de programas o en la elaboración de un artículo en tu blog como mostraremos en el siguiente caso práctico.
El primer paso es crear proyectos (puede ser un proyecto kanban o un proyecto Scrum), ambos son plantillas para comenzar un proyecto, pero que puedes ir adaptando según tus necesidades y gustos. En este caso elegiremos un proyecto Scrum y le daremos siguiente.
Seguidamente Vamos a dar un Nombre a nuestro proyecto y escribimos una descripción para el mismo
Una vez creado nuestro proyecto en Taiga lo primero que observamos es el BackLog, donde podemos añadir las historias de usuario de nuestro proyecto, cada historia de usuario se estima por lo general en puntos y debemos tener claro que no debería indicar el tiempo de la tarea, es importante destacar que la estimación en taiga se puede hacer por roles.
Puedes añadir tanta historias de usuario como necesite tu proyecto, al crear una nueva historia debes colocar un título, la estimación, el estado, etiquetas y la descripción de la tarea. Además puedes segmentar la tarea si es requerida por el equipo o por el cliente.
Una vez creada todas las tareas necesarias que necesita nuestro proyecto, debemos crear lo que en Scrum se llama Sprint, que es la agrupación de un conjunto de tareas que puede representar un producto funcional y que está planificado se realice en un período de tiempo determinado.
Un proyecto puede tener tantos Sprint como sean necesarios y cada Sprint debe tener como resultado un prototipo.
En nuestro caso hemos creado un sólo sprint que tiene un día de duración, pero normalmente los sprint deben durar de 3 a 4 semanas en el caso de desarrollo de software y se debe tener un día de descanso entre sprint.
Al sprint hemos añadido todas las tareas antes creadas, Taiga permite hacer esto de una manera fácil arrastrando y soltando cada tarea en el sprint que deseas. También hemos priorizado las tareas con lo que determinamos cuál se debe hacer primero.
Taiga nos permite añadir miembros para que colaboren en las tareas, por ejemplo un diseñador, para invitar a alguien a colaborar en tu proyecto debes ir al menu de admin y enviar una invitación a su correo electrónico.
Una vez tengamos nuestro sprint ya planificado y con los miembros ya listos para comenzar, nos dirijimos a nuestro panel de tareas del sprint que es un Kanban con varias columnas, las cuales representan cada una lo siguiente
- Historia de Usuario: Todas las historias de usuario que conforman el sprint.
- Nueva: Cada historia de usuario se puede dividir en tareas.
- En Curso: Son aquellas tareas que se están realizando en este momento.
- Lista para Testear: Son aquellas tareas que están terminadas pero que no se han probado.
- Cerrada: Son aquellas tareas que han sido terminadas
- Necesita Información: Son aquellas tareas que se necesita una información extras para poder ser culminada.
Las tareas son tomadas por el colaborador que la va a realizar, el cuál se encargará de cambiarla por el estado que le corresponda. La idea es que todo el equipo conozca el estado del proyecto y trabajen más sincronizados.
El objetivo del sprint es que todas las tareas sean concretadas, taiga nos ofrece un gráfico que nos permite ver en todo momento como vamos.
Al terminar todas las tareas nuestro sprint ha concluido :).
Taiga nos ofrece una wiki del proyecto en el que podemos ir colocando información referente al proyecto, la sintaxis a utilizar es la muy famosa Markdown, también puedes ir añadiendo enlaces que necesites para tu proyecto.
Podemos decir que Taiga hace valer muy bien su eslogan:
«Gratis, Código Abierto y Fácil de Usar«.
En resumida cuenta Taiga es:
- Poderoso: Puedes fácilmente personalizar y tener el control de todo.
- Simple e Intuitivo: Taiga es muy fácil de aprender y su nivel de usabilidad es excelente. Además bastante documentación para profundizar en cada una de sus características.
- Altamente Diseñado: Taiga es Simple y magnífico, su diseñado es excelente y no te cansas de utilizarlo.
- Personalizable: Puedes dar la configuración que desees a cada proyecto, extender sus funcionalidades gracias a sus módulos e integrar con otras herramientas.
Para concluir, Taiga es una excelente herramienta que ya tiene poco más de un año accesible para todos los usuarios, es una herramienta que ha nacido de una necesidad de sus creadores y es para mi la mejor herramienta para gestionar proyectos ágiles incluso por encima de las soluciones propietarias.
Te invitamos a disfrutar, probar y sobretodo documentar como ha influido Taiga en tú día a día.
