Lo que le contaría a Dijkstra: Hay emprendedores perdiendo su proyecto por usar malas prácticas software

Lo que os voy a contar es una situación que, personalmente, me he encontrado ya en tres ocasiones sólo desde el verano. Eso sin contar las veces que alguien ha sacado el tema de este post en alguna conversación de café.
Por las razones y necesidades que todos conocemos, emprender en proyectos basados en la Web está de moda. Sintetizando mucho, detrás de este tipo de emprendimiento, y de estas startups, hay una idea de negocio, un equipo humano promotor y un desarrollo software.
Aunque estos proyectos de emprendimiento están basados en construir funcionalidad sobre tecnología, es obvio decir que no todos los emprendedores que lanzan estas startups tienen conocimientos sólidos y gran experiencia (kilómetros y cicatrices) en desarrollo software. En unas ocasiones porque no es lo suyo, y su perfil es, por ejemplo, económico, y en otras porque tienen demasiada poca experiencia en desarrollo software, guerras similares y supervivencia a naufragios.
Hay una historia negra, que aun siendo de muy triste final no es lo suficientemente conocida. Historia que ha llevado siempre de una mano al mal desarrollo software y de la otra a la mala competitividad de una empresa. Historia bien documentada, la han contado muchos, cada uno a su manera, desde Dijkstra, a Brooks y, ayer mismo, Robert C. Martin.
Pero es que, además, es raro encontrar alguien que lleve unos años dedicado a esta maravillosa profesión del desarrollo software y no haya sufrido esta historia en sus propias carnes (yo mismo os podría decenas).
La historia comienza en una empresa, con un proyecto software que empieza a tener éxito. Como al principio hay poco software desarrollado nada parece indicar que el propio software sea un riesgo, o que el Kraken se pueda llegar a despertarse.
Llegan los primeros clientes, y demandan nuevas funcionalidades, nuevas versiones, que deben estar en producción rápidamente. Y así se hace. Pero a nadie parece preocuparle la calidad con que se está desarrollando el software, y si se evitan conocidas malas prácticas. El negocio es lo primero… y lo único.
Pero el tiempo pasa rápidamente, y cada vez hay más software desarrollado sin control y más gente desarrollándolo. Así que, poco a poco, casi sin darnos cuenta, aquellas funcionalidades que antes rápidamente se desarrollaban, cada vez requieren de más tiempo. Pero cliente, negocio e inversores no están dispuestos a darnos ese tiempo.
Y comienza entonces la fase de las soluciones desesperadas. Comienza la presión, y las jornadas de trabajo nocturnas y fines de semana. Crece el estrés. La gente que no aguanta y abandona el equipo, llevándose el conocimiento de cómo se desarrollaron ciertas partes del software.
Para intentar solucionar el problema se incorporan nuevos desarrolladores. Nuevos desarrolladores que al no conocer el sistema quitan tiempo a los más veteranos. Todo esto acaba bloqueando la producción de software, la puesta en producción de nuevas funcionalidades, haciendo lenta a la joven empresa y disparando el gasto.
Lo anterior ni es nuevo, ni mucho menos es exclusivo de las startups. Un gran numero de empresas mas tradicionales que desarrollan software viven esto cada día, y desde hace muchos años. Pero la mayoría sobrevive, o mal vive, durante años porque son empresas grandes, algunas con clientes cautivos, con otras fuentes de ingresos, o que se mueven en negocios que van más lentos. Y pueden permitirse ese gran desperdicio económico.
Pero las startups no se pueden permitir ni desperdicios económicos ni frenar la velocidad en que ponen en producción nuevas funcionalidades. Y además… ¿Cómo le vas a explicar a los inversores esta historia sobre por qué el desarrollo de negocio ahora es tan lento y que intentar mal acelerarlo es peor?
Así que si eres emprendedor de base tecnológica, o inversor, yo que tu me preocuparía por lo anterior. Porque por mucho que quieras ser “lean startup” si el desarrollo software te lastra… te va a ser imposible. Y si tu idea era buena, y vas despacio, puede que otra empresa te la copie… pero la desarrolle bien y, por ello, rápidamente.