El espejismo del software en las Startups
Durante la última década nos comenzamos a ahogar en noticias que hablan sobre como un joven de entre 20–30 años se juntó con amigos y formaron una empresa que posteriormente vendieron convirtiéndose en millonarios.
El común denominador de muchas de estas empresas es que el producto es un software, un intangible que no requiere la misma inversión que una planta industrial y que, en caso de ser un éxito, puede llegar a valer más de 10 veces lo que vale una planta industrial.
Estas historias de éxito, que por alguna razón no se consideran excepciones a la regla, han motivado a que muchas personas se animen a entrar al mundo de las startups y ¿por qué no entrar si solo se necesita una idea y un desarrollador que haga el software?…
Le llamo “espejismo del software” a cuando personas que no conocen sobre lo que implica la creación de un software asumen que es algo que se creará fácilmente sin la necesidad de invertir recursos y tiempo y que cualquier programador podrá hacerlo.
En este artículo no entraré a detalle en todo lo que implica una startup en temas legales, financieros, operativos y comerciales, entre muchos otros, y me enfocaré en la parte de desarrollo de software.
Me he topado demasiadas veces con que emprendedores novatos que no son tech-guys dan por sentado que el software se da por arte de magia, solo es necesario tener la idea, hablar con un programador que se encargará de hacer todo por un porcentaje de participación en su “gran idea” (Porcentaje que tiende a ser pequeño porque pues la idea es de ellos). Es común escuchar: “Lo que necesitamos como MVP es una app tipo Uber que se enfocará en X nicho, además de lo que hace Uber necesitamos que haga estas N cosas y la verdad es que nos urge ¿te parece bien si le damos 3 meses para el desarrollo?”.
Mi consejo para los tech-guys que se topen con una historia similar es: CORRE DE ESE LUGAR. Si eres de los que tienen estas grandiosas ideas te mostraré un poco de lo que implica desarrollar un software.
Existe algo llamado Ciclo de desarrollo de software cuya nomenclatura puede variar según la metodología que se utilice pero en esencia tanto los ágiles como los RUP siguen:
Cuando vas a desarrollar un software se debe pasar por todas estas faces para garantizar que el mismo funciona de forma correcta; esto significa que no es solo ponerte a desarrollar o “tirar líneas de código”. Debido a esto la creación de software se convierte en una negociación/balance entre 3 elementos:
- Necesidades funcionales (Qué hará el software) y no funcionales (Cómo se ve el software, la interfaz).
- Número de recursos disponibles (Tanto monetarios como de personas).
- Tiempo disponible (No solo para desarrollo sino para el ciclo completo).
¿Qué implica esto? Bueno, esto implica que se debe buscar el balance entre los tres factores, es decir, si no habrá mucho tiempo disponible hay de dos: O quitas funcionalidades y elementos de la interfaz o aumentas el número de recursos.
Algo que es también muy importante es que no se debe caer en el pensamiento de que X o Y software está fácil o sencillo de hacer. Hacer una app como Uber requirió de demasiada inversión en desarrollo, nosotros solo vemos algunos botones pero en la parte que no se puede ver hay una complejidad enorme. Solo piensa en lo siguiente, ¡¡¡Uber necesitó más de 1.2 Billones de USD para ser lo que es!!! ¿Cómo se te puede ocurrir que un programador puede hacer él solo una app como Uber con mejoras?.
Partir de un software ya creado como base y agregarle características NO ES UN MVP. El software que observas pasó por muchas iteraciones de mejora, tiene un equipo de ingenieros dándole mantenimiento y mejorándolo a diario. Un MVP sería lanzar un software que tenga dos o tres funcionalidades, ver como reacciona el mercado y mejorarlo con base al feedback del usuario.
No caigamos en el espejismo y creer que el software es lo más sencillo de una startup, tampoco creer que es barato, que cualquiera lo puede hacer y que la primera versión debe superar por mucho lo que ya existe; hay un ciclo que se debe seguir y por más que lo leemos y estudiamos es fácil no seguirlo.
El “espejismo del software” no solo aplica para estos nuevos emprendedores sino para todo aquel que piensa que un software es algo que se hace rápido y es barato. He visto muchos clientes caer en esto, necesitan un software que les ahorrará o generará más de $5 mil USD al mes pero no quieren pagar ni dos meses de dicho ahorro/ingreso ni tampoco están dispuestos a esperar el tiempo que se requiera.
En este artículo estoy dejando fuera muchos otros temas como la infraestructura de servidores, la arquitectura del backend, el despliegue e integración continua, el área de calidad, etc. ya que si entrara a esto nunca terminaría.
Luchemos para romper este espejismo de modo que nos permita ver la realidad para poder tomar decisiones realistas y objetivas, sin asumir cosas que no son. Si eres tech-guy aprende a que se valore tu trabajo y no caigas en este tipo de propuestas (Ya he visto a varios hacerlo y es una pérdida de tiempo); si eres emprendedor considera todo esto antes de hablar con alguien y de lanzarte a emprender con un producto cuya industria es nueva para ti.