APIs y Proveedores de Software

June 18, 2021

Muchas empresas realizan su primera inversión tecnológica en el desarrollo de una aplicación web para poner en marcha su negocio en línea, con la idea de extenderla posteriormente a plataformas móviles aprovechando la inversión realizada anteriormente. La mejor forma de aprovechar dicha inversión es contando con un backend o core reutilizable, a través del cual, se distribuirán servicios y contenidos de una forma segura a través de un API, de esta forma desarrollar aplicaciones para distintas plataformas tiene un menor costo y el tiempo de ingresar al mercado se ve reducido.

Los puntos a tratar a continuación serán:

  • Beneficios de contar con una plataforma basada en API.
  • Consideraciones a tomar en cuenta al momento de desarrollar cualquier solución tecnológica.
  • Puntos importantes a la hora de escoger un proveedor de software.

Conexiones con el Core

Algunas de estas soluciones tecnológicas, sin importar para cuáles plataformas haya sido desarrollada, en un principio pudieron haber sido solo pensadas en generar un producto o servicio que solucione un problema o facilite alguna tarea y no se contempla las otras utilidades que puede explotar al ser desarrollada bajo el concepto de una plataforma basada en servicios web o APIs. A parte de todo el tema de reutilización del core de la plataforma, los APIs presentan otros beneficios que algunos clientes no contemplan al principio, es por esto que es muy importante tener una visión global y a grande escala al momento de empezar a desarrollar la base de una plataforma tecnológica, con la intención de no tener que posteriormente perder tiempo ni dinero en realizar adecuaciones para la misma o volver a desarrollar todo de cero.

De los muchos beneficios que se pueden obtener de una plataforma basada en APIs se pueden listar los siguientes que no son vistos siempre a primera vista:

  1. Aceleran el proceso de captación de nuevos socios. Las APIs pueden servir como mecanismo para ampliar el alcance y presencia en el mercado. Los servicios que utiliza un producto también pueden ser utilizados por terceros, ejemplos de estos pueden ser los APIs de Google Maps, Facebook y Twitter que son utilizados por otros, ganando valor por hacer presencia en el mercado.

  2. Permite personalizar y controlar el servicio ofrecido para cada tipo de cliente. Un ejemplo puede ser los servicios ofrecidos de Spotify para los distintos tipos de usuarios que maneja, los usuarios premium pagan por mayores beneficios.

  3. Te expones a la crítica constructiva de tus clientes activos para mejorar tus servicios y poder captar mayor cantidad personas en el mercado o incluso nuevos nichos.

  4. Puedes llegar a conseguir nuevos inversionistas. Aquellas personas o empresas que hacen uso de tus APIs pueden llegar a volverse en inversionistas para que sigas invirtiendo en mejorar o crear nuevos servicios de los cuales ellos ya se vienen beneficiando.

Multiple Usos

Ahora bien, una vez identificada todas las áreas que se pueden explotar y beneficios que se pueden obtener al contar un servicio de APIs, el siguiente paso sería conseguir aquella persona o empresa que se encuentre a la altura de dicho proyecto. Encontrar una empresa de desarrollo es una tarea relativamente sencilla, lo realmente complicado es dar con la empresa adecuada para el proyecto.

El reducir costos de desarrollo y acelerar el tiempo de puesta en marcha de un proyecto suelen ser los dos factores más influyentes para los clientes a la hora de tomar decisiones y elegir un proveedor de software. Si bien es cierto que en el mercado actual ser pionero de solución tecnológica innovadora es muy importante, también lo es que muchas de estas aplicaciones llegan al mercado pero no llegan a ser exitosas y no es debido a no tener una buena idea de negocio o solución tecnológica, sino por temas técnicos que no fueron tomados en cuenta al momento del desarrollo de la aplicación, trayendo como consecuencia el fracaso del proyecto y la reputación de la compañía, lo cual acarrea como consecuencia que los usuarios no vuelvan a confiar en la marca y desistan de la misma, generando una oportunidad a la competencia de poder tomar la idea y tomar ese nicho del mercado.

Esto sucede muchas veces debido a que los clientes prefieren contratar a una empresa o freelancers que ofrecen cotizaciones “solidarias” o “flexibles” basadas en el presupuesto del cliente y no en el valor del producto y el tiempo que éste necesite para ser desarrollado. Muchas de estas compañías de software o freelancers con poca experiencia realizan este tipo de cotizaciones con la intención de ganar la licitación sin pensar en las consecuencias de generar un producto sin una visión completa de lo que conlleva y significa el desarrollar una aplicación tecnológica.

Algunas de las consideraciones a tomar en cuenta al momento de desarrollar una aplicación y que suelen pasar por alto por temas de costo o tiempo son: la seguridad informática, rendimiento de la aplicación con altos volúmenes de tráfico, usabilidad de la aplicación, escalabilidad y flexibilidad de incorporar nuevas funcionalidades o requerimientos, arquitecturas y tecnologías estables y mantenibles, pruebas de calidad y un buen manejo de soporte técnico.

Elegir Proveedor de Software

A continuación listo algunos criterios importantes que se deben tomar en cuenta para escoger a un proveedor de software:

  1. Portafolio Conocer qué tipo de empresas representan los casos de éxito de la compañía a contratar, la experiencia que presente con diferentes clientes permitirá no cometer errores que ya conoce y haya resuelto en el pasado. También es necesario saber si tiene experiencia con empresas de distintos tamaños índoles. El conocer las reglas del juego de empresas de diferentes tamaños y en diferentes fases de maduración representa un activo de mucho valor a la hora de anticiparse a posibles limitaciones y riesgos.

  2. Recomendaciones A parte de revisar el portafolio de proyectos, también es aconsejable pedir referencias a los clientes del mismo. Se trata de una información que puede ahorrarte mucho tiempo y, sobre todo, dinero.

  3. Tecnologías Es recomendable no limitarse a una sola tecnología por estar de moda o porque sea la única que el proveedor maneje o tenga mayor experiencia, es importante consultar cuál es la mejor solución para el proyecto planteado y obtener una justificación de esta elección.

  4. Metodología de trabajo Tener definida una metodología y saber aplicarla es clave. Es conviene averiguar cuáles son las metodologías y herramientas de trabajo del futuro proveedor ya que serán una fuente de datos, informes, puntos de control y localización de posibles optimizaciones que no dejarán dudas de si debe seguir utilizándose o no.

  5. Certificaciones Cuando un proveedor tiene certificaciones que se acreditan mediante evidencias de su uso, el camino a obtener un desarrollo de calidad aterrizando los requerimientos definidos es muy corto.

  6. Automatización y testing Es básico que la empresa cuente con una metodología de desarrollo y despliegue automatizada porque evitará muchos imprevistos en costes económicos y de tiempo. Pedir que te enseñen tanto el ciclo completo de un desarrollo anterior así como las herramientas utilizadas para la automatización dará una idea de cómo trabaja y evalúa su propia trabajo.

  7. Transparencia y honestidad La transparencia debería ser un factor inherente a cualquier equipo de trabajo desde el principio. Es importante conocer la metodología de desarrollo de la compañía ya que esto permitirá saber en todo momento en que se está trabajando y cómo va avanzando el proyecto.

  8. Seguridad Es importante que la empresa cuente con un equipo dedicado a pruebas de seguridad informática, para que haga hacking ético con el fin de asegurar que no existen fallos de seguridad en tu producto.

  9. Personal La empresa debería poder proporcionar una lista y una breve bio de las personas involucradas en el desarrollo de la aplicación. Contar con esta información no sólo ayuda a la transparencia sino que es un seguro más para poder averiguar que estas personas son los profesionales que esperas.

  10. SQA (Software Quality Assurance) Resulta esencial elegir la empresa tenga una metodología de SQA claramente definida. Esta es una garantía no solo de que el producto es perfecto y cumple con la descripción funcional sino también de que existe un procedimiento de alto nivel que engloba todos los procesos.

  11. Soporte y mantenimiento Desarrollar una aplicación no termina al momento de hacerla asequible a los usuarios finales. Se trata de un producto que tiene que ir evolucionando con los usuarios y el mercado. Es fundamental comprobar que la empresa cuenta con un departamento de soporte y mantenimiento con amplia experiencia, capaz de asumir cualquier escala y que garantice la vida de nuestra aplicación.

  12. Precio El precio no puede ser la única guía al momento de tomar decisiones. No es recomendable seleccionar un proveedor basándonos sólo en una estimación económica, porque al final necesitarás un producto de calidad y no el más barato. En tecnología es muy común empezar por el proveedor más barato que luego no es eficiente por lo que se contrata a otro cuyo precio se había rechazado de antemano, con el consiguiente coste en tiempo y dinero. Solicita a tu posible proveedor el precio desglosado por perfiles y tareas, esto facilitará establecer una comparación con criterio. Recuerda que lo barato a veces sale caro.