A lo largo de los años, hemos ayudado a todo tipo de clientes: desde emprendedores en serie que empiezan nuevos proyectos hasta grandes multinacionales.

La mayoría de proyectos que hacemos son desarrollo web y móvil usando Ruby on Rails, Node.js, Angular y React, y en segunda instancia, otros frameworks de Javascript como Ionic, React Native o Vue.js.

Solemos trabajar con un contrato por horas, también conocido como "Time & Materials", ya sea para trabajar con los equipos de nuestros clientes mano a mano, o bien para trabajar de manera independiente desarrollando para ellos. A veces, también hacemos proyectos más pequeños de dos o tres meses de trabajo, cuando el cliente tiene un presupuesto más limitado pero creemos que podemos ayudarle a maximizar el retorno en su inversión.

¡A continuación describimos los tipos de proyectos más frecuentes en los que trabajamos!

Tipos de proyectos

Desarrollo web y móvil

El desarrollo para plataformas web y móviles suele ser el tipo de proyecto más común, y por ello hemos construido un equipo de perfiles técnicos para dar servicio a todos ellos.

Nos encanta participar de todo el ciclo de desarrollo y absorber la responsabilidad de todo el producto. La mayoría de nuestros clientes confían en nosotros para que les ayudemos a decidir las tecnologías, la arquitectura y para tomar decisiones de alto nivel por ellos.

Ejemplo: Todas las aplicaciones que desarrollamos para RakutenTV fueron escritas al 100% por nosotros, la cual cosa nos permitió trabajar con más comodidad y nos permitió asegurar entregar los proyectos siempre dentro de plazos y de presupuesto.

Otra tipología de proyectos de desarrollo es cuando tenemos que reescribir aplicaciones o rehacerlas parcialmente. Hay mil razones por la que a veces no se puede reutilizar el código: puede que se trate de un MVP concebido solamente para validar la idea de negocio pero no esté preparado para escalar, o que la persona que desarrolló la aplicación ya no está en la empresa y ni el código ni la documentación sirven para entenderla, o bien el cliente decide de cambiar rumbo en cuanto a las tecnologías.

Ejemplo: Cuando tomamos el proyecto de zapptales, tuvimos que adaptar su MVP para convertirlo en un producto escalable. Su MVP había cumplido la función de validar la hipótesis de negocio, pero para bregar con sus competidores y convertirse en una solución escalable a nivel mundial, tuvimos que reescribir partes de la aplicación. Lo hicimos de manera modular, manteniendo el servicio ininterrumpido para los clientes actuales a la par que desarrollábamos las nuevas versiones de los módulos.

Mantenimiento

Algunos proyectos llevan años completos, o en producción con pocos desarrollos nuevos. Sin embargo, ningún proyecto software está realmente completo, ya que las tecnologías, plataformas y tendencias evolucionan a diario.

Esta tipología de proyecto implica una dedicación menor en el desarrollo de nuevas funcionalidades. El foco está, en cambio, en solventar fallos y en asegurar el buen rendimiento de la plataforma: actualizar las librerías, reescribir código para hacerlo más eficiente, añadir más cobertura de test, reemplazar conflictos en los servicios de terceros, y un sinfín de otras tareas..

Muchas agencias de desarrollo no aceptan estos tipos de trabajo, pero a nosotros nos encantan. Tenemos amplia experiencia en mantener grandes proyectos gracias a nuestro compromiso de ser un parter de largo recorrido de nuestros clientes.

A pesar de que muchas veces trabajemos de manera independiente para nuestros clientes, en otras tenemos que encargarnos del código de otros. Por ejemplo, en los siguientes escenarios:

  • Cuando tenemos que reemplazar a un proveedor.
  • Cuando los que se encargaban del proyecto ya no trabajan para el cliente.
  • Cuando los que se encargaban del proyecto han sido destinados a otros proyectos.
  • Cuando el cliente ha adquirido código de terceros a través de un partnership o una compra/fusión de empresas.

En cualquiera de los casos anteriores, seremos capaces de trabajar en el proyecto si estamos de acuerdo en las siguientes consideraciones:

  • Tenemos que auditar el código antes de nada para asegurarnos que se puede desarrollar sobre él.
  • Los estilos de código y estándares de calidad varian de empresa a empresa.
  • Como más tiempo pasemos auditando el código, más acertadas serán nuestras previsiones y estimaciones.
  • El código que heredamos puede que contenga sorpresas e imprevistos no contemplados inicialmente.
  • Trabajaremos con el anterior proveedor o responsable para hacer un traspaso del proyecto con todas las garantías.

Para este tipo de proyectos, seguimos la máxima de siempre dejar el código mejor de lo que lo hemos encontrado.

Ejemplo: Estamos manteniendo la plataforma de BluePrint, una plataforma de gestión para empresas de seguros. BluePrint nos llamó para mantener su plataforma en el apartado técnico, para que ellos se pudieran ocupar del negocio y las ventas. Nuestras obligaciones son añadir cobertura de test, optimizar módulos y reescribir código obsoleto o conflictivo, y aplicar mejoras en diversos ámbitos en una plataforma que ya tiene más de 8 años.

Due Diligence tecnológica y auditorías

Nuestro expertise cubre todo el ciclo de vida del desarrollo de producto y, por ello, startups y fondos de capital riesgo confían en nosotros para auditar los siguientes aspectos de otras compañías:

  • Arquitectura: Analizamos cómo funciona la aplicación, cómo se estructura, quién la desarrolló y qué tecnologías utiliza. La infraestructura de despliegues y los sistemas de integración continua son analizados en esta fase también, para asegurarnos que se están usando las herramientas correctas para cada cosa.
  • Seguridad: Nuestra auditoría de seguridad cubre las amenazas más comunes que podrían afectar a la plataforma y a los servicios de terceros. También revisamos que la información de la aplicación está debidamente almacenada y documentada.
  • Rendimiento y escalabilidad: En esta parte, medimos el rendimiento de la plataforma en distintos escenarios. Hacemos pruebas de estrés e identificamos cuellos de botella. También nos cercioramos que la tecnología empleada es la correcta para este tipo de negocio para prevenir problemas de escalabilidad, licencias y demás.
  • Calidad y monitorización: Escribir buen código es la mejor base para proyectos que tienen que durar años. El código de la aplicación ¿sigue los estándares de la industria? ¿Está bien organizado? ¿Está documentado? Es de máxima importancia que la aplicación esté siendo monitorizada en términos de rendimiento, errores y seguridad.
  • Metodologías: Las buenas empresas son extremadamente metódicas sobre cómo desarrollar nuevas funcionalidades, cómo tratar el código antiguo, cómo hacer los despliegues y las copias de seguridad, y cómo revisar el código de otros, por poner unos ejemplos. Nos aseguramos que estos procesos estén estandarizados y sean conocidos por todos.
  • Dependencias: Analizamos qué servicios de terceros están siendo usados y que estos sean estándares de la industria, y qué nivel de dependencia se tiene sobre cada uno de ellos. ¿Se computan las funcionalidades críticas dentro de la plataforma? En caso contrario, ¿qué pasaría si los servicios de terceros cerraran? ¿La propiedad intelectual está dentro de la empresa? Resolvemos estas dudas y mucho más, en esta sección.
  • Funcionalidad: Inspeccionamos la completitud de la aplicación para cerciorarnos que la aplicación hace realmente lo que debería y qué porcentaje de funcionalidades son simuladas o no están implementadas completamente.

Ejemplo: Skindler, un marketplace de freelancers de la industria de los videojuegos, no estaban contentos con el ritmo de desarrollo de su proveedor. Después de dos años, no habían terminado el desarrollo y nos pidieron si podíamos auditarles. Descubrimos que no solamente desarrollaban a un ritmo bajísimo, sino que además rotaban constantemente a sus desarrolladores y hacían otras malas prácticas. Skindler confió en nosotros para reemplazarles y conseguimos reescribir y lanzar el proyecto en pocos meses, y lo estuvimos manteniendo por más de tres años, hasta que la empresa cerró.

Equipo de rescate

Si estás leyendo esta parte, es que realmente necesitas nuestros servicios de manera inmediata.

Las empresas que necesitan un equipo de rescate han sido abandonadas por su proveedor o su equipo técnico o bien han cometido errores muy graves y necesitan ayuda de equipos expertos.

En estos proyectos, hacemos sesiones de traspaso del proyecto de alta intensidad para asegurar una perfecta transición y que podamos empezar a trabajar de manera inmediata y con garantías, para seguir dando servicio a los usuarios de la plataforma de manera ininterrumpida.

Ejemplo: A principios de 2015, Naiz nos llamaron porque su proveedor tuvo que cerrar la empresa, y necesitaban a otro proveedor para tomar las riendas del proyecto. Dado que son una plataforma de noticias y contenidos (periódicos y revistas), el servicio no podía discontinuarse. Para ello, entramos en el proyecto atacando las necesidades más urgentes y retomando el nivel de servicio de la empresa anterior en cuestión de días. A día de hoy, seguimos trabajando para ellos.

Consultoría de negocio

Nuestro equipo fundador viene de grandes consultoras (ex-Deloitte, ATOS, VASS, etc.) y parte de nuestro equipo técnico también.

Ayudamos a nuestros clientes con llamadas periódicas para ver cómo podemos ayudarles más allá del desarrollo.

Hemos ayudado a decenas de empresas a construir su presentación para inversores, prepararles para reuniones críticas, diseñar estrategias para contratar y formar equipos de desarrollo, haciendo análisis de mercado, definiendo nuevos modelos de monetización o incluso haciendo desarrollo de negocio para ellos.

Ejemplo: Después de haber conocido y entrevistado a Mailtrack en Startup Grind Barcelona, empezamos trabajando para ellos haciendo análisis de competidores, desarrollando herramientas de business intelligence e incluso nos embarcamos en un proyecto de desarrollo de negocio para ellos en Silicon Valley con su equipo directivo para encontrar partners, clientes corporate y posibles inversores.