Sin categoría

12 ideas para evitar malentendidos en tus equipos software (parte 2/2)

7. ¿Cómo medimos el trabajo?

Uno de los aspectos que más problemas de entendimiento generan en los equipos es la manera de medir el trabajo. En los proyectos software siempre medimos % de avance con respecto al total de trabajo a realizar (o al menos lo intentamos).

La realidad es que los requisitos cambian, y el software es impredecible, por tanto, ¿Cómo sabemos el % de avance sobre algo que no para de cambiar? La mejor solución es medir solo el software terminado. Cuando decimos terminado es, software funcionando y a disposición de un usuario final.

Este tipo de mediciones ayudan a generar confianza porque no mienten, lo que está listo para usarse está listo para usarse. En los modelos tradicionales los equipos llaman “terminado” a desarrollos que no están probados o integrados y cuando se acometen esos trabajos se genera un retraso no esperado que genera mucha desconfianza.

Los malentendidos en torno a la falta de transparencia sobre cuánto queda para finalizar y el estado real del software mata muchas veces las relaciones entre las personas.

hourglass-1703330_1920.jpg

8. Desarrollo sostenible

La sostenibilidad del desarrollo también es esencial para generar confianza. Todas las personas que colaboran con el equipo deben ser capaces de mantener un ritmo sostenido en el tiempo.

El objetivo de tener un ritmo de entrega de software es que permite generar confianza. Es mejor saber que entregamos software en periodos cortos pero constantes que tratar de llegar a fechas muy lejanas con una gran cantidad de software sin contrastar contra el mercado.  

También ayuda mucho ser constante para la percepción de un usuario final que ve como su software va mejorando cada poco tiempo en vez de esperar grandes actualizaciones tras meses de espera. Además, el trabajar en periodos constantes nos acabará haciendo predecibles porque seremos capaces de saber la cantidad de software que hacemos en periodo de tiempo concreto.

9. La importancia de la técnica y la calidad

Si queremos evitar malentendidos en nuestro equipo debemos enseñar a poner foco en la excelencia técnica y a la calidad. Incorporar buenas prácticas ayuda a reducir errores, garantizar la integridad del software y a cumplir con los requisitos no funcionales.

Invertir en formaciones o en buenas prácticas como pair programming, tdd, code review entre otras, ayudan a tener una deuda técnica baja lo que permite tener más tiempo para nuevas funcionalidades. Los productos que no lo hacen acaban aumentando su inversión en mantenimiento.

Esto acaba provocando que dejamos de ser ágiles y llega un punto en el un pequeño cambio requiere de una gran cantidad de pruebas para garantizar que no se ha “roto nada”. Esto provoca que tardemos más en resolverlo y la confianza de nuestros usuarios cae.

10. Menos es más

Otra forma de mejorar la productividad es ser simple a la hora de trabajar. Muchas veces complicamos nuestro trabajo porque creemos que así tiene más valor.

Por ejemplo, creamos documentos al peso y lo llenamos de detalles que no aportan o cuando desarrollamos construimos piezas que soportarían situaciones que no se van a dar.

Es por ello que debemos ser simples y maximizar el trabajo que aporta valor. Esto nos permite evitar malentendidos sobre el estado real de nuestro software.

11. Apuesta por la autoorganización

Un gran consejo que podemos poner en práctica es que la autoorganización genera las mejores arquitecturas, requisitos y diseños posibles. Dar herramientas a los equipos para que se auto-organicen permite que realicen el mejor trabajo posible.

La fuerza del equipo siempre suma más que las de los individuos, por eso el crear equipo y ponerlos frente a los problemas hará que tengamos un gran software. El hecho de hacer equipo entre todas las personas necesarias hace que evitemos muchos malentendidos.

12. Para mejorar, todos necesitamos tiempo, incluídos tus equipos

Y si todo esto no está funcionando. El último consejo y el más valioso es que los equipos necesitan tiempo para mejorar. Esto significa que cada poco tiempo deben parar de desarrollar y juntarse para analizar cómo lo están haciendo. El objetivo es buscar mejoras entre ellos que precisamente eviten malentendidos futuros. El hecho de pararse a hablar y reflexionar evitar muchísimos problemas. Eso sí, debemos pararnos para encontrar caminos para ser más efectivos, no solo hablar por hablar.

Si has llegado hasta aquí y eres agilista te habrás dado cuenta que realmente estamos describiendo los principios que describe el manifiesto Agile. Si no eres agilista seguramente descubras que muchos de estos consejos tienen sentido y quizás ahora entiendas porque Agile está triunfando y está enamorando a tantas personas. Agile no deja de ser una manera diferente de pensar para poner el foco en las personas, en la productividad, en los usuarios finales, en hacer bien las cosas.

Deja un comentario