¿Qué es una factoría de software?

Porque el software también se fabrica

Cuando pensamos en fabricar cosas, pensamos en coches, perfumes, zapatos o incluso en chocolate, pero el software también se puede fabricar en una factoría. Todavía se sigue produciendo en el mundo mucho software de forma artesanal que provoca un altísimo número de errores, alto coste de desarrollo, e impide a los programadores disfrutar de su trabajo. Fabricar software tiene muchas similitudes con fabricar productos físicos, pero con una gran diferencia: la materia prima son las ideas y el producto terminado son los programas, que en lugar de distribuirse en camiones o barcos se distribuye a través de internet.

Las ideas que entran en la factoría, muchas veces están sin desarrollar. Son ideas de concepto escritas en una servilleta en una cafetería, donde la mayoría son sólo sueños, que en un futuro se convertirán en una aplicación o en un sistema que utilizarán millones de usuarios en todo el mundo. Cualquier idea que atraviesa las puertas de la factoría como materia prima, saldrá siendo una aplicación que se puede probar rápidamente tocándola con la punta de los dedos, permitiéndonos imaginar cómo se comportará en un futuro, cuando esté desplegado. La primera pantalla de la primera idea es lo que llamamos semilla de la aplicación. A partir de ahí construimos el sistema entero paso a paso.

Esta es la gran diferencia de producir software a producir otro producto, una idea puede materializarse inmediatamente y ver el resultado, sin esperar a que el producto esté terminado. La factoría puede conseguir estos resultados gracias a que los procedimientos para desarrollar software pueden reutilizarse en un 80%, siendo el 20% restante el desarrollo concreto de la idea. Las factorías de software se convierten en los sistemas más ecológicos de la historia de la humanidad, puesto que un software reutilizable no requiere ningún procedimiento para usarse y siempre estará disponible. Ese software reutilizable que compone el 80% de cada aplicación es lo que llamamos arquitectura.

Para que la arquitectura signifique realmente el 80% de la aplicación requiere de una madurez, flexibilidad y experiencia únicos,  que consigan ese resultado de que sólo con programar el 20% de la aplicación la aplicación se construye enteramente de forma industrial. Para que una factoría construya software de una forma rápida barata y eficiente. Necesita que sus procesos y herramientas tengan la madurez necesaria para elaborar este tipo de software solo hay una receta y esa experiencia, conocimiento y riesgo a la hora de probar nuevas combinaciones de tecnologías.