Obstáculos para la Industrialización del Software

En esta entrada quiero hablar sobre los problemas que podemos encontrar a la hora de industrializar el desarrollo de software, sobre todo cuando estás en un entorno de una subcontrata.

El industrializar el desarrollo de software ya es de por si complicado ya que, a diferencia de otros sectores donde hay más estabilidad, en el de la informática las cosas cambian con mucha rapidez.

Yo sigo usando un coche de hace 10 años, una cocina de no recuerdo cuanto tiempo, etc.

En cambio por ejemplo la raspberryPi (un ordenador del tamaño de una tarjeta de crédito) se considera que tiene una potencia equivalente a un ordenador de hace 10 años. Un ordenador de hace 10 años tiene problemas para mover simplemente las webs de hoy día.

Luego si nos introducimos en el mundo Java la cosa se complica todavía más, porque cada cliente tiene una combinación de herramientas diferentes. En casi quince años he trabajado con servidores de aplicaciones tales como: Java Web Server, JRun, Tomcat, Weblogic, JBoss, WebSphere, Glassfish,…

Esto hace que salvo que trabajes para pocos clientes sea muy complicado el poder definir procedimientos y automatizar cosas. Porque esta procedimentación conlleva un coste de tiempo no menor que hay que diluir entre todos los proyectos.

Aunque solo trabajes para pocos clientes, si eres una subcontrata tampoco tienes control sobre la tecnología, ya que va a ser algo que va a controlar tu cliente. Así que si dedicas esfuerzo a automatizar o procedimientar cosas que controla tu cliente te puedes encontrar que no lo puedes amortizar como tu preveías, porque hay un cambio en el cliente.

Por eso creo que la forma más segura de industrializar el desarrollo de software es hacerlo sobre las cosas que puedes controlar y no tanto las que no dependen de ti.