En las fases de discovery de producto a menudo dejamos volar nuestra imaginación más de lo que deberíamos. Lo que parecen problemas fáciles, sencillos y con una solución más o menos clara, acaban resolviéndose de maneras complejas, con flujos tediosos para los usuarios, excusándonos en situaciones futuras o casos de uso complejos que jamás se dan.
Como ingeniero me tuve que enfrentar a esto en varias ocasiones, pero una de ellas fue la que más me ayudó a hacer click con esto de “no hay que reinventar la rueda”. Estábamos migrando funcionalidad de una aplicación legacy a una nueva más escalable para la compañía. Uno de los flujos que íbamos a migrar fue ya revisado y re-hecho por completo hace no más de 5 años, aunque siguiera apoyándose de todo el sistema legacy. La decisión de producto sobre este flujo fue que había que re-diseñarlo completamente aprovechando la migración a la nueva aplicación.
Puede que sea porque la nueva solución que se propuso desde producto/diseño no fuera la mejor o que negocio no supiese asimilar bien el cambio de perspectiva, la cosa es que después de tener que iterar el producto varias veces, nos hemos dado cuenta de que lo que hemos entregado finalmente ha sido una copia prácticamente de la herramienta que estaban usando hasta entonces (solo que esta vez sobre un sistema que le va a permitir escalar más fácilmente)
De esta experiencia saqué varios insights:
Los proyectos de migración no siempre necesitan revisar los flujos actuales, algunas veces solo necesitan un lavado de cara o simplemente una transformación tecnológica.
Siempre dejar todo un poco mejor de cómo estaba. No vas a aportar más re-formulando cosas que ya funcionan, si no centrándote en los pequeños detalles.
Ir siempre con una mirada crítica. Esto no significa que lo único que haya que hacer es copiar y callar. Posiblemente se den oportunidades muy buenas para solucionar problemas de una mejor forma, pero siempre con los pies en la tierra.
Una vez acabada la migración, entonces sí, empezar a solucionar problemas nuevos.
¿Qué podemos hacer desde ingeniería? Estar cerca de producto, más todavía en estas situaciones. Recordar siempre que los problemas que estamos teniendo en estos escenarios de migración son problemas tecnológicos y de escalabilidad de la plataforma.
Y es que me he dado cuenta de que la tecnología sirve para dos cosas: solucionar problemas reales y encontrar nuevas oportunidades en el negocio que antes eran inconcebibles. Todo lo demás tiene el peligro de ser sobre-ingeniería y no acabar en buen puerto