SCRUM PARA FÁBRICAS DE SOFTWARE
Si bien Scrum es un marco de trabajo muy útil en equipos de innovación y entrega de servicios o productos, una de las áreas donde es realmente grandioso es en equipos de desarrollo de software, sobre todo aquellos donde el cliente suele estar muy involucrado y las peticiones de cambios o mejoras son muy frecuentes.
Sin un marco de trabajo, los equipos de desarrollo enfrentan muchos desafíos tales como:
- Desorganización por parte de los stakeholders (involucrados) en la petición de requerimientos
- Descontento por parte del cliente, tras muchos meses de desarrollo
- Desmotivación en el equipo por no poder trabajar enfocados en lo más importante
- Exceso de procesos burocráticos que solo retrasan los entregables
- Demasiada jerarquía, y poca confianza depositada en el equipo
- Ausencia de una brújula en la organización y en los proyectos
Y aunque muchos Project managers puedan pensar que Scrum es muy desorganizado, si lo comparamos con la metodología tradicional, me atrevo a decir que Scrum elimina toda la papelería y burocracia que nunca realmente generó valor alguno en los proyectos de desarrollo de software.
Entre las principales ventajas que brinda Scrum para las fábricas de software tenemos:
1. Organización de equipos basada en productos
Las fabricas de software generan productos o entregables, estos productos pasan por un proceso de creación, mejoras e incluso una transformación. Pero todas las fases por las que pasa un producto vienen de la mano y responsabilidad del cliente. Los equipos generan valor sobre el producto del cliente, el cual se siente muy satisfecho al ver en el menor tiempo posible cada iteración (sprint) le genera valor de manera visible y palpable.
2. No hay necesidad de cronogramas demasiado anticipados
En ocasiones los equipos de desarrollo quedan estancados sin saber por donde empezar solo porque el Project manager no tiene el cronograma definido o porque el cliente aun no sabe todo lo que quiere para los próximos 6 meses. Con Scrum se pueden planificar Sprints de 2 o 3 semanas, donde solo basta saber lo que el cliente desea esas semanas para empezar a desarrollar.
3. El Equipo es auto gestionado
Steve Jobs dijo una ocasión “No tiene sentido contratar a personas inteligentes y después decirles lo que tienen que hacer”.
Con Scrum se espera que el equipo de desarrollo se auto organice de acuerdo con sus necesidades con el fin de cumplir con los requerimientos. No hay una figura externa, ni el Product Owner ni el Scrum Master ni el Agile Coach, que les diga la manera en que deben hacer el trabajo a nivel técnico. Del mismo modo es importante que el equipo sepa como gestionar, dividir y asignar internamente las tareas.
Esto crea un sentimiento de confianza hacia al equipo, a la vez que les ayuda a desarrollar habilidades de gestión, y cada vez veremos un equipo más ágil y capaz.
4. La fábrica ahora es una fábrica de generación de valor
Si el propósito de una fábrica de software es vender software, ¿por qué trabajar como si lo que vendemos es reportes de status de proyecto?
Con esto no quiero decir de ninguna manera que no existen los reportes en Scrum, pero lo más importante que tenemos no es ello, sino ver al cliente probar con sus manos lo que vamos entregándole cada fin de sprint.
¿Y si no le gusta?
¡Se hace un ajuste al requerimiento (User Story) y se agrega al próximo sprint!
Lo importante es que él/ella obtenga lo que es importante y valioso para su compañía, departamento o unidad.