Es estupendo ver como varias de las más grandes piezas del puzzle en la gestión de proyectos y desarrollo, como pueden ser la integración y Scrum, encajan con tal perfección en una empresa joven, me produce síndrome de Stendhal.
Integración continua
La integración y distribución continua es un paso más allá de Scrum que surge de forma muy natural y encaja perfectamente con los cortos ciclos de un Sprint de Scrum, que es lo que una empresa joven necesita, agilizar en muy cortos plazos de tiempos entregas muy bien testeadas para poder salir con éxito en los grandes desafíos a los que se enfrenta. Al fin y al cabo, si al final de un sprint tenemos una o varias funcionalidades totalmente terminadas y potencialmente entregarles ¿por qué no entregarla y poder recibir rápidamente el feedback del cliente? Esto permite corregir bugs e introducir mejoras en el siguiente Sprint antes de que el proyecto crezca y se creen más dependencias.
Con travis en github o gitlab-ci en gitlab y dokku en los servidores conseguimos que todo se encaje a la perfección y el proceso vaya fluido como la seda, desde cualquier pull request de nuestras ramas a master y finalmente quede ya en pre-producción, a falta del visto bueno del cliente, es escalofriante cómo este proceso se automatiza para agilizar el despliegue, ya que si algo falla, todo queda en los logs y solamente las versiones verdaderamente estables salen a producción.
Scrum
A mi entender, Scrum (y las metodologías o marcos de trabajo ágiles en general) es el camino a seguir para bajar el alto porcentaje de proyectos fallidos. Con este marco de trabajo solo 2 cosas son estrictamente necesarias:
- Un equipo de gente con talento, multidisciplinar, pro-activo en constante aprendizaje y reciclaje.
- Un product owner comprometido, con autoridad y profundos conocimientos de los procesos que se van a modelar.
Cabe destacar que Secmotic dispone de estos dos factores sobradamente.
La estimación y planificación ágil permiten así en todo momento saber cuál es la fecha estimada de finalización del proyecto, y en qué iteración estará lista determinada funcionalidad. Un beneficio adicional que nos brinda es que de existir complicaciones severas, que pongan en juego la factibilidad del proyecto, éstas generalmente se ven expuestas bien temprano, permitiendo cancelar el proyecto antes de incurrir en grandes pérdidas. Por esto, sumado al hecho de que el desarrollo iterativo e incremental garantiza que en todo momento se cuenta con el producto listo para ser entregado, está el hecho de que los métodos ágiles disminuyen enormemente los riesgos tradicionales en el desarrollo de proyectos.
Conclusión:
Desde mi aterrizaje a esta empresa tan joven, cada día me sorprende más la capacidad de resolver todo tipo de problemas en tan poco tiempo, saltando las burocráticas decisiones que muchas empresas grandes del sector todavía tienen, trabajando con métodos antiguos que atrasan mucho la llegada del producto al cliente, y bajo mi punto de vista personal, eso es lo que premia a la hora de competir. Estoy encantado de estar rodeado de una empresa tan joven y a la vez tan preparada, me sorprende lo que son capaces las nuevas generaciones del las telecomunicaciones con el software, trabajando de la mano del IoT con todo tipo de desafios por delante, todo es apasionantemente impresionante.
0 comentarios