El problema antes que la tecnología
No partimos de una herramienta. Partimos de comprender qué falla, a quién afecta y qué costo tiene mantener la situación actual.
Ingeniería de software y sistemas
Acompañamos a las organizaciones desde la definición del requisito hasta la operación continua del sistema: análisis, arquitectura, construcción, infraestructura, seguridad y aseguramiento de calidad, bajo una sola responsabilidad técnica.
komorebi (木漏れ日) designa la luz del sol filtrada entre las hojas. Es una imagen precisa de nuestro oficio: dejar pasar la claridad a través de la complejidad.
El proceso
Ninguna etapa se omite y ninguna se factura dos veces. Sitúe el cursor sobre cada una para conocer su alcance.
Identificamos el problema, no la solución que lo acompaña.
Entrevistas con quienes ejecutan el proceso y con quienes lo aprueban. Mapa de actores, restricciones reales y criterios de aceptación documentados antes de escribir la primera línea de código.
Distinguimos lo necesario de lo solicitado.
Modelado del dominio, identificación de riesgos y una estimación fundamentada: alcance incluido, alcance excluido y decisiones que conviene postergar de manera deliberada.
Resolvemos primero aquello que resulta costoso modificar después.
Límites entre componentes, contratos de integración, modelo de datos e infraestructura. Cada decisión se registra junto con la alternativa evaluada y su fundamento.
Código legible por un equipo distinto del que lo escribió.
Entregas breves y verificables, revisión entre pares y observabilidad incorporada desde el primer despliegue, no añadida cuando el sistema ya presenta fallas.
Lo que no está verificado no está terminado.
Estrategia de pruebas por capas, cobertura extremo a extremo sobre los procesos críticos del negocio y una cadena de integración que detiene cualquier regresión antes de producción.
Un sistema que se defiende y deja registro de lo ocurrido.
Modelado de amenazas, endurecimiento, gestión de credenciales, monitoreo continuo y un procedimiento de respuesta ensayado con anterioridad al incidente.
Las seis etapas describen el recorrido completo, no un calendario de una sola pasada. Se recorren en cada iteración a la escala que corresponda: un incremento de dos semanas las atraviesa igual que un proyecto entero, con distinta profundidad.
Disciplinas
Aquí lo hacen. Por esa razón la arquitectura contempla la seguridad desde el diseño, la operación se planifica junto con el producto y las pruebas no se definen al final del proyecto.
Comprender antes de construir.
El error más costoso de un proyecto se comete antes de la primera línea de código: construir correctamente aquello que no era necesario.
Las decisiones sobre las que descansa todo lo demás.
Definimos límites, contratos y modelo de datos, y dejamos constancia de los fundamentos. Un sistema se comprende por sus decisiones, no por su diagrama.
Construir lo acordado, sin desviaciones.
Producto a medida, integraciones y modernización de sistemas heredados. Aplicaciones web, servicios de backend y procesamiento de datos.
Dónde reside el sistema y cuánto cuesta sostenerlo.
Nube, redes e infraestructura como código, dimensionadas para la operación real de la organización y no para un escenario teórico.
Entregar con frecuencia y sostener el servicio.
Automatización de la entrega, objetivos de nivel de servicio y operación asistida por agentes de inteligencia artificial que supervisan, diagnostican y proponen la corrección antes de que el incidente escale.
Trazabilidad de cada cambio hasta su origen.
Estrategia de ramificación, versionado, gobierno del repositorio y gestión de publicaciones: todo artefacto en producción puede rastrearse hasta el cambio que lo originó.
La red que retiene lo que la revisión no alcanza.
Pruebas que se ejecutan de forma automática ante cada cambio y que fallan cuando corresponde. La condición necesaria para desplegar con confianza.
Anticipar el criterio de quien intenta vulnerar el sistema.
Seguridad incorporada al diseño y no auditada al cierre del proyecto, cuando corregirla resulta inviable o desproporcionadamente costoso.
Sistemas que interpretan el mundo físico y lo convierten en datos.
Visión por computador y modelos de lenguaje integrados al producto: una imagen o un documento ingresa al sistema y se obtiene información estructurada, validada y disponible para consulta desde la aplicación, sin transcripción manual.
Del sensor a la pantalla, sin intermediarios.
Firmware sobre plataformas Arduino y Espressif, telemetría y la plataforma en la nube que la recibe. El dato se origina en el dispositivo y concluye en la aplicación.
Modelos
Seis modelos de sitio que cubren la mayoría de los encargos. Seleccione el que más se aproxime a lo que tiene en mente y envíenoslo por WhatsApp: sobre esa base concretamos el alcance.
Los modelos son un punto de partida, no una plantilla cerrada: el diseño, el contenido y las funciones se ajustan a su caso. Los plazos son orientativos y se confirman después del análisis.
Método
Aplicamos metodologías ágiles —Scrum o Kanban según la naturaleza del trabajo y la madurez del equipo—, con iteraciones cortas y un incremento verificable al cierre de cada ciclo. Estos son los seis compromisos que no se negocian.
No partimos de una herramienta. Partimos de comprender qué falla, a quién afecta y qué costo tiene mantener la situación actual.
Trabajamos en ciclos de una a dos semanas con un ritmo constante. Al cierre de cada uno existe software funcionando que su equipo puede revisar, no un informe de avance.
Mantenemos un backlog priorizado junto con su equipo y lo reordenamos según lo aprendido. El alcance de cada ciclo se negocia; los criterios de aceptación y la calidad técnica, no.
El tablero, el avance real y los impedimentos están disponibles en todo momento. Las reuniones existen para decidir, no para comunicar lo que ya podía consultarse.
Cada decisión de arquitectura queda registrada con su contexto y la alternativa evaluada. La pregunta «¿por qué se resolvió de este modo?» siempre tiene respuesta.
El código, la infraestructura, la documentación y el conocimiento quedan en su organización. Trabajamos para que la dependencia técnica sea temporal.
Herramientas
La herramienta se selecciona en función del problema. Estas son las que empleamos habitualmente.
Contacto
Tres preguntas para comprender el contexto. La conversación en profundidad viene después.