Por qué hay empresas que no hacen buen software

Así es. A mí me ha costado años tenerlo claro y asumirlo. Ya te lo he contado más de una vez, en mi vida profesional habré pasado por más de 80 organizaciones y mucha veces me llevaban (llevan) los demonios cuando veía una organización con un desarrollo software tan pobre (ni pruebas, ni control de versiones, etc.) y a la gerencia pasar absolutamente de ello, ni venir a las reuniones sobre el tema… ¿por qué? ¿pero es que no se daban cuenta del dinero y motivación que estaban perdiendo?

Al principio no encontraba respuestas… ¿será cuestión de tiempo? ¿será que me he auto creído yo que hacer bien las cosas es bueno y necesario? Al final, pasaban los años, seguían haciendo mal software y la vida sigue, la empresa sigue, el mudo sigue, siguen vendiendo, etc.

Sí, los buenos desarrolladores se van, los cliente se quejan, pero “no pasa nada”.

Después de apreciar en un número considerable de organizaciones este patrón (no en todas, obviamente), he querido compartir contigo algunas reflexiones, intentar racionalizar esto, más que nada con el objetivo de encontrar respuesta a algo aparentemente sin sentido, por qué hay empresas que no hacen buen software…

1) Porque hacer software con calidad no les supone ninguna ventaja (desventaja) competitiva.

Es decir, que no están ni mejor ni peor posicionados frente a sus competidores por hacer software bien o malamente. Eso pasa por alguno de los siguientes:

a) No tienen competencia.

Normalmente pasa en empresas que tienen clientes cautivos, es decir, que sus clientes no pueden elegir otro proveedor (recuerda lo de cómo lograr que tus clientes nunca puedan sustituirte y tenerlos atados para la eternidad).

Por ejemplo, pasa cuando esa empresa le lleva desde hace tantos años el desarrollo al cliente que hay ahí tal montada que ya no hay otro que se atreva a meterse ahí.

En cierto modo, y aunque no sean muy conscientes, hasta seguir haciendo software mal es una barrera de entrada a otros competidores. Les afianza para mantener ese cliente cautivo.

Pasa también cuando la empresa de desarrollo es propiedad del cliente, es participada por el cliente, es un departamento del propio cliente, etc.

Como no hay competencia… hacer las cosas bien supone un gasto y una molestia, así que…  no me compliques la vida y déjalo como está.

b) Todos los competidores lo hacen igual de mal (o de bien)

Hay sectores en los que todas las empresas que desarrollan lo hacen igual de mal. La teoría dice que si uno de ellos invirtiera e hiciese software de calidad, y con calidad, ello supondría una ventaja competitiva: podría ofrecer funcionalidad a sus clientes más rápido, reduciría costes, aumentaría productividad y obtendría mejor imagen y satisfacción de sus clientes.

Si eso pasase, el resto de empresas verían esto una amenaza a su cuota de mercado y se pondrían “las pilas”.

Pero nadie da el paso. Así que… la cosa sigue como está. Y que nadie de el paso, puede venir de alguna de las siguientes razones:

2) Desconocimiento total del tema por parte de quien toma decisiones

Normalmente, este tema, hacer software bien, es sensible, lógicamente, a aquellos que lo sufren directamente y, además, saben de qué estamos hablando: los desarrolladores.

Pero aquellos que toman decisiones no son desarrolladores, no leerán este post, esto les suena a chino (integración continua, refactorizar, iterar, etc.) y aprender que va esto es un problema. Y apostar (dinero) por algo que ni entiendes es cuestión de tener mucha fe.

Quizás con las generaciones venideras esto cambie, pero por ahora es lo que hay.

Aunque literalmente cada año una empresa pueda perder muchos de euros por mal software… nunca nadie achacará perdidas a una “cosa” que no entiende y que no sabe que existe.

3) Miedo e Inmovilismo

Si que hay un grupo que puede llegar a entender de que va esto ysus implicaciones. Pero muchas veces piensa… si funciona no lo toques. Si ya la empresa vende… ¿para que me voy a meter en este fregado y justificar una inversión de riesgo y cuestionar mi puesto? ¿y si sale mal?

Así que por miedo, e inmovilismo, la cosa se queda como está.

4 ) No hay casos conocidos y cercanos de empresas que han quebrado por mal software

Si hay casos de empresas cercanas, “vecinas”, que han quebrado por mal software… esos casos no son conocidos. Y los casos conocidos suenan muy lejanos (¿el Ariane? ¿Toyota? ¿el healthcare de Obama?) como para que alguien los vea cercanos a su entorno.

Si que hay empresas cercanas que han perdido la partida con su competencia, por no saber desarrollar software bien, pero aquellos que han perdido no creo que ni hoy sepan que aquello fue por hacer mal el software, aun estarán echándole la culpa al destino y la mala suerte.

Concluyendo

¿Entonces no hay empresas haciendo software bien o intentando mejorar? Si claro que las hay, hay muchas. Aquellas que han saltado los pasos anteriores. Y que normalmente suelen estar dirigidas por alguien que conoce algo la importancia de este tema, empresas que compiten en un sector muy basado en la tecnología y con competencia global (ahí no les queda otra) o aquellos que ya se han llevado un susto y han vivido para contarlo.

¿Qué te parece? ¿me he dejado algo?