Modernización y deuda técnica

Actualiza el software del que depende tu negocio.

Modernizamos el sistema del que depende tu negocio, una parte a la vez. La IA ayuda con el análisis de código, las pruebas y las migraciones; ingenieros senior revisan el trabajo y planifican los cambios según las necesidades de tu operación.

Qué hacemos

  • Evaluar

    identificar dependencias, riesgos conocidos y cambios necesarios para la próxima iniciativa de producto o IA

  • Estabilizar

    primero pruebas y observabilidad, para reducir el riesgo del cambio

  • Evolucionar

    actualizar o reemplazar componentes por etapas, con planes de despliegue y recuperación

  • Preparar una integración de IA

    planificar el acceso a datos, las interfaces y los permisos que necesita el caso de uso

Pruebas

CareerVillage

Nuestro trabajo con CareerVillage comenzó en 2013. En la primera etapa actualizamos Django, ordenamos el código, migramos parte del front end a React y configuramos los despliegues con Docker y Jenkins. También adaptamos el sitio a dispositivos móviles.

Lee el caso

Oxford Economics

Oxford Economics necesitaba reemplazar tecnología desactualizada y mejorar la publicación y consulta de informes. Al 2019, nuestro trabajo incluía el sitio, el portal de clientes, la búsqueda de informes y la publicación desde MS Word.

Lee el caso
CareerVillage · trabajo iniciado en 2013
Django · React · CI · móvil
Oxford Economics · publicación y búsqueda de informes
Las decisiones de arquitectura y diseño que tomó sophilabs al principio rindieron con creces.
Arvindra SehmiCIO, Oxford Economics

Señales de que es el momento

  • El sistema heredado está bloqueando una iniciativa de IA
  • Las personas que lo entendían se están yendo
  • Los costos de infraestructura y licencias necesitan revisión
  • Se viene un due diligence

Experiencia con sistemas existentes

Nuestro trabajo incluye la modernización de sistemas Python/Django para CareerVillage y el desarrollo de componentes, librerías y extensiones de Auth0 entre 2012 y 2019.

Decidir qué necesita cambiar

La evaluación identifica qué conservar, mejorar, reemplazar o investigar. También registra los supuestos de las estimaciones y los riesgos de dejar un componente como está.

Elegir el próximo cambio con el sistema a la vista

Una dependencia antigua, una integración sin documentar o un despliegue manual pueden dificultar la entrega de una funcionalidad. Revisamos esas limitaciones con tu equipo e identificamos de qué partes del sistema depende el próximo cambio.

Usamos IA para ayudar a entender el código, generar pruebas y preparar migraciones, con ingenieros senior que revisan los resultados. Los plazos dependen de las dependencias, la cobertura de pruebas y los cambios que necesita el sistema. Primero estabilizamos los caminos críticos; después trabajamos por etapas manejables, con planes de despliegue y recuperación. Cuando un cambio requiere una ventana de mantenimiento, la acordamos con tu equipo.

Cómo planificamos cambios en un sistema en producción

Primero estabilizar

Documentamos el comportamiento crítico y agregamos pruebas y monitoreo alrededor de las partes que vamos a modificar. Esos controles se integran al pipeline de entrega acordado.

Una pieza a la vez

Cada etapa tiene un alcance y un plan de despliegue definidos. Comprobamos el componente, sus dependencias y las migraciones de datos antes de decidir cómo introducirlo.

Revisar el avance

Revisamos con tu equipo los cambios terminados, los resultados de las pruebas y los riesgos pendientes. Esa revisión orienta el alcance y el orden de la siguiente etapa.

Revisión de ingeniería

Los ingenieros revisan el código, las pruebas y las migraciones asistidos por IA contra el comportamiento que el sistema debe conservar. Acordamos quién aprueba cada tipo de cambio.

Algunos cambios requieren una ventana de mantenimiento. Planificamos con tu equipo el despliegue, la recuperación y el impacto en la operación.

Cómo es un trabajo con nosotros

Cuando una iniciativa de IA depende de cambios en un sistema existente, el AI Discovery Sprint ayuda a evaluar las limitaciones técnicas y definir un primer alcance de implementación. Si el trabajo ya está definido, podemos empezar con la implementación. Ofrecemos trabajo a precio fijo y suscripciones mensuales con precio por entregables acordados. La propuesta define el equipo, los plazos, la frecuencia de revisión y el proceso de cambios. El código y la documentación quedan en tu repositorio.

Funciona bien con

Preguntas frecuentes

  • ¿Reescribir o refactorizar?

    Comparamos el comportamiento que se debe conservar, las dependencias, los riesgos de migración y el costo de cada opción. Los cambios incrementales permiten acotar un despliegue; reemplazar un componente puede tener más sentido cuando ya no responde a los requisitos.

  • ¿Pueden trabajar en un sistema sin pruebas y sin documentación?

    Es el paciente típico. Primero estabilizar, después cambiar.

  • ¿Cómo usan IA en la modernización?

    Para ayudar a analizar código, generar casos de prueba y preparar migraciones. Los ingenieros senior revisan los resultados y comprueban que se conserve el comportamiento que el sistema necesita.

  • ¿El código escrito con IA no agrega más deuda?

    Puede ocurrir cuando se incorporan cambios generados sin entenderlos o revisarlos lo suficiente. Documentamos el comportamiento esperado, revisamos los cambios y los probamos contra los requisitos. El trabajo asistido por IA necesita responsables y un plan de mantenimiento, como el resto del código. Cómo usamos herramientas de IA para desarrollar software

  • ¿Quién es dueño del sistema después de que se van?

    Es tuyo desde el primer commit: en tu repositorio, documentado, con las pruebas y el runbook. La entrega está escrita para funcionar sin nosotros.

Planifica el próximo cambio de tu sistema.