1. «Las personas ya no nacen, se crían»
Bien, si todavía estás aquí, sigamos. «Y te mostraré cuán profunda es la madriguera del conejo» © 🐇
Déjame contarte cómo funciona el proceso de desarrollo de un producto —recorreremos los pasos desde el nivel más alto y global hasta el más bajo: escribir código. Creo que te esperan varios descubrimientos interesantes…
Los productos de TI modernos ya no se programan sin más, se crean. Se ensamblan por partes a partir de bibliotecas, frameworks, programas y productos de terceros, o incluso se usan servicios en línea remotos de pago o gratuitos 🧩.
Un producto moderno es todo un zoológico de tecnologías, servicios, soluciones y procesos. Parte del trabajo la hacen personas, parte está automatizada, y el resto, el 90%, lo ejecutan servicios en la nube en centros de datos ☁️. El mundo ya no es el de antes.
Pero lo primero que notarás son los cambios constantes. Ya no escribes programas, introduces cambios en ellos.
2. Cambios constantes
Llegarás al trabajo y te unirás a un equipo de 20 personas que lleva 5 años trabajando en el producto. Actualmente, los usuarios tienen disponible su versión 7. Y tu tarea será introducir cambios en ese producto. Pequeños, para no espantar a los usuarios activos actuales.
Y no será fácil, porque el producto ya está en funcionamiento. Tiene clientes y ellos pagan dinero 💰. Por eso no se puede romper nada. Introducir cambios en un producto ya operativo es varias veces más difícil que en uno nuevo. Para ello hay estándares específicos, protocolos de migración y utilidades. Me viene enseguida a la mente un chiste:
Se encuentran dos viejos amigos: uno se hizo mecánico y el otro, cirujano... Cada uno con su vida, sus preocupaciones, sus alegrías... Se cuentan de todo y, de pronto, sale el tema de los sueldos. El mecánico de autos dice: «Pues yo cobro 30 mil al mes y estoy muy contento, ¿y tú cuánto?». El cardiólogo responde: «Pues yo, aproximadamente 100 K por operación...». Entonces el mecánico se interesa: «Qué raro, ¿por qué tanta diferencia? Parece que hacemos lo mismo tú y yo: cambiamos piezas». Y el cirujano le dice: «Bueno, vamos al coche, arráncalo...». El mecánico arranca el coche, el cirujano abre el capó y le dice al mecánico: «¿Ves que el motor está funcionando? ¡Cámbialo!» 😂
Incluso si ocurre un milagro y tu equipo escribe el producto desde cero durante todo un año y solo después lo lanza, ¿sabes qué pasará después? Si tu producto tiene éxito, el product owner querrá hacerlo crecer. Sacar una nueva versión, añadir alguna funcionalidad. O al menos realizar algunos experimentos. ¿Y sabes qué vendrá a continuación? Cambios 🙈
3. Valor del producto
Desde el punto de vista del desarrollo moderno, solo tiene valor el código que ya ha sido lanzado y la funcionalidad que usan los usuarios. Si has escrito código, está almacenado en algún sitio y hasta funciona, pero nadie lo usa, su valor es cercano a cero. Por eso, todo el código debe llegar a producción lo antes posible 🚀
Tu código debe pasar por estas etapas:
- ✔️ Lo has escrito y te has asegurado de que funciona.
- 🔍 Tu Team Lead hizo el code review y lo añadió a la rama principal en Git.
- 🧪 Las pruebas durante la compilación del programa demostraron que no rompiste nada importante.
- 🧩 Las pruebas de integración mostraron que el producto funciona como debe.
- 🛡️ El QA probó ese código y dio luz verde para el lanzamiento.
- 📦 Luego hay que construir una nueva versión del producto y lanzarla en el servidor.
- 🐳 La nueva versión del producto debe empaquetarse en Docker Images y lanzarse.
- 🗄️ Puede que tengas que ejecutar scripts de migración e introducir cambios en la base de datos y/o en otras soluciones de terceros.
- 📊 Después hay que recopilar los logs en el servidor para asegurarse de que todo funciona como debe.
- ⏪ En caso de una situación anómala, si rompiste algo, hay que revertir la compilación, devolver la base de datos a su estado anterior y no perder las acciones que realizaron los usuarios mientras trabajaban con la versión inestable del producto.
En la mayoría de las empresas, estas tareas ya están resueltas: se han establecido nuevos procesos, se han contratado personas especializadas y se han introducido protocolos de seguridad y estándares de control de calidad específicos. Cuanto más grande es la empresa, menos tiempo pasa desde que se escribe el código hasta que llega a producción y se convierte en valor —es decir, empieza a aportar utilidad a la gente.
En la mayoría de las empresas, el código recorre este camino en dos semanas. Sin embargo, hay empresas que hacen lanzamientos cada semana o incluso cada día. Y algunos casos excepcionales, varias veces al día.
El código escrito no vale nada. Solo aporta valor el código que funciona en producción.
GO TO FULL VERSION