¿Cómo escoger la mejor tecnología para el desarrollo de mi producto digital?

IDx
IDx Transformación Digital
5 min readSep 10, 2018
Photo by Chris Ried on Unsplash

Cada día aparecen más opciones para construir productos digitales, cada una con su conjunto de beneficios que te invitan a usar tal o cual invento que te hará la vida más fácil, esto ha dificultado la labor de escoger la mejor tecnología con la cual comenzar a construir tu producto — ya sea un mínimo producto viable o una nueva herramienta para tu empresa — . Por ello, te comparto 4 tips para facilitar la elección.

1. ¿Qué necesitas hacer?

Antes de desarrollar cualquier producto digital es importante saber ¿cuál es la mejor solución para lo que necesitas? Esto significa que debes identificar cómo vas a ofrecer tu producto sin perder la propuesta de valor de tu negocio. Define un mínimo producto viable con las funcionalidades básicas que piensas ofrecer, con esto evitas incurrir en el uso de herramientas que no necesites.

Puede parecer un punto obvio, sin embargo muchas veces nos encontramos desarrollando más de lo que se requiere o usando frameworks y librerías sobredimensionados para funcionalidades que sólo están en nuestras ideas.

2. ¿Quién ha hecho algo parecido?

Tener referencias de otras personas resolviendo el mismo problema es uno de los principales recursos que usan los desarrolladores. Podemos usar esa misma premisa para este tipo de decisiones. Usa herramientas como builtwith.com o wappalyzer.com para descubrir con qué tecnologías están hechas las apps de la competencia. También es importante que hables con tus empleados sobre el tema, tal vez ellos ya conozcan algo que te pueda ayudar.

En una agencia invertimos varios meses desarrollando una plataforma para llevar control de tiempos y tareas que — al evidenciarse la cantidad de bugs que se debían resolver día a día — fue insostenible mantenerla. Ciertamente habríamos podido resolver el problema desarrollando un plugin para Jira o Trello pero nuestro manager no dialogó sus necesidades con el equipo de desarrollo antes de entrar a construir.

3. Comprueba la comunidad y la documentación

Los desarrolladores pueden dejarse llevar por la última y más brillante tecnología pero la realidad es que aparte del placer de probar algo nuevo, si no tienes un buen número de personas aportando, apoyando y desarrollando con dicha tecnología, se hará más difícil encontrar soluciones a los problemas diarios de escribir código. Con una amplia comunidad tus desarrolladores podrán usar foros, encontrar blogposts, o ayudarse de stackoverflow; por el contrario una tecnología sin buen soporte, puede hacerte pasar días resolviendo los más simples problemas.

Esto lo aprendí enfrentándome a un cliente que insistió, durante un año, en desarrollar una aplicación web con tecnologías propietarias que no seguían ningún estándar de la web (ni siquiera HTML o CSS), cuya única documentación consistía en preguntarle a quienes desarrollaban este framework cómo se escribía cada cosa que necesitábamos. Cuando el cliente se dio cuenta que se requería más de una semana para ponerle una sombra a un botón, se dio cuenta del error. En contraste volver a hacer la aplicación con tecnologías como React y los estándares web, nos llevó aproximadamente un tercio del tiempo.

Este punto es de vital importancia, pues puede significar gastar un mes o un año en el mismo desarrollo. Pídele a tus desarrolladores que te pasen dos o tres opciones antes de tomar una decisión, busca sus páginas web y trata de leer su documentación, mira qué tanta actividad tienen en github.com, si aportan constantemente a su código fuente y si reciben suficientes comentarios; así puedes empaparte un poco de las entrañas de tu aplicativo.

4. Escoge e invierte lo mejor en ella

Otro punto que puede parecer obvio es invertir tu tiempo en hacer un buen desarrollo con la tecnología que escogiste. En el proceso te vas a dar cuenta que tal o cual funcionalidad hubiera sido mucho mejor si hubieras seguido otro camino pero también te puede sorprender lo bien que pueden salir las cosas, si tu equipo invierte tiempo en desarrollar mejoras para cierta tecnología o resolver problemáticas que se descubrieron en tu proceso. Deja que tu equipo proponga la mejor forma de resolverlo y no tengas miedo de entrar en un desarrollo alternativo para mejorar tus procesos.

Airbnb es un líder en este sector, han contribuido enormemente a la comunidad de React como librería para el desarrollo de interfaces de usuario, desde Enzyme sus set de herramientas para hacer pruebas de componentes, hasta su linter ampliamente usado entre los desarrolladores, el cual sirve para mantener un estilo de código consistente a través de la aplicación. Tal vez sus aportes más importantes son los que han reducido la brecha entre diseño y desarrollo, el más destacado ha sido Lottie, una herramienta de animación que permite exportar desde el programa de animación After Effects, hacia los códigos de React Native, lo que permite una fácil implementación de animaciones complejas en aplicaciones móviles.

Este tipo de iniciativas pueden ayudar a tu empresa a ser un referente tecnológico, lo que conlleva a que el mejor talento se interese en trabajar contigo, además de motivar inmensamente a tu equipo de desarrollo.

Espero estas recomendaciones y experiencias ayuden en la creación de tu próximo producto. Sin embargo, si tienes un tip adicional, cuéntamelo en Twitter @nosoycesaros

Cesar Zapata, Emprendedor y co-fundador de @wow_reports

--

--