Lo que los auditores realmente examinan
Una firma regulada de servicios financieros en América del Norte pasó por una auditoría de controles en una aplicación TypeScript generada a partir de JSON descriptors. La auditoría tomó 6 días. La misma firma había auditado previamente una aplicación Java escrita a mano de alcance similar. Esa auditoría tomó 41 días. La diferencia de costo fue de 380.000 USD.
La tecnología era diferente. El trabajo que los auditores debían realizar era diferente. La razón por la que el código generado se audita más rápido no es la velocidad — es la consistencia.
Las tres preguntas que todo auditor formula
Las auditorías de cumplimiento en SOX, HIPAA, PCI DSS y FDA 21 CFR Part 11 se reducen a tres preguntas. ¿El sistema aplica la regla? ¿Puede demostrar que aplica la regla de la misma manera cada vez? ¿Puede reproducir el build que se ejecuta en producción?
El código escrito a mano responde bien la primera pregunta y las otras dos de manera deficiente. El código generado responde las tres por diseño.
Consistencia por diseño
Cuando 280 formularios se convierten a mano, ningún par de desarrolladores traduce el mismo trigger WHEN-VALIDATE-ITEM de forma idéntica. Los nombres de variables divergen. Los mensajes de error difieren. Los casos límite se manejan de tres maneras distintas. Un auditor que muestrea 20 formularios encuentra 20 variaciones menores y tiene que evaluar cada una.
El código generado aplica la misma transformación a cada entrada. Si el descriptor especifica una validación de monto positivo, cada pantalla con ese campo la implementa de la misma manera. El auditor revisa el descriptor una vez, no las 280 implementaciones.
La trazabilidad es automática
Las pistas de auditoría generalmente se agregan después. Los equipos de cumplimiento solicitan al equipo de ingeniería que registre cada cambio de estado, cada aprobación, cada verificación de umbral. El equipo de ingeniería agrega el registro a las pantallas que recuerda y omite las que no.
En un sistema basado en descriptores, el propio descriptor es la especificación de auditoría. Cada campo que requiere registro está anotado en el JSON. El generador produce el código de registro automáticamente. El auditor lee el descriptor y sabe exactamente qué se registra, dónde y por qué.
Reproducibilidad bajo FDA 21 CFR Part 11
FDA 21 CFR Part 11 requiere que los registros electrónicos y las firmas sean resistentes a manipulación y reproducibles. Para las empresas farmacéuticas y de dispositivos médicos, esto significa demostrar que la versión del software en producción coincide con la versión que fue validada.
El código generado hace esto trivial. El descriptor es la fuente de verdad. El generador es determinista. Dado el mismo descriptor y la misma versión del generador, la salida es idéntica byte a byte. El paquete de validación se convierte en un hash, no en un documento de 4.000 páginas.
La resistencia de los equipos de ingeniería
Los equipos de ingeniería a menudo se resisten a la generación de código porque se siente como una pérdida de control. La objeción es real pero generalmente errónea. El código generado es más controlable que el código escrito a mano, no menos, porque las entradas son explícitas y las salidas son reproducibles.
Los equipos que adoptan el código generado por razones de cumplimiento típicamente lo extienden a las partes no reguladas del codebase en un plazo de 18 meses. Los beneficios de auditoría también se aplican a las revisiones internas de calidad.
Donde el código generado se queda corto
La generación no es adecuada para todo sistema. Los front ends altamente creativos, los algoritmos novedosos y las integraciones únicas siguen siendo mejor escritos a mano. El punto óptimo son las aplicaciones estructuradas y basadas en reglas — exactamente el perfil de la mayoría de las cargas de trabajo de Oracle Forms y la mayoría de los sistemas regulados de back-office.
La conclusión
El código generado supera las auditorías de cumplimiento porque elimina la varianza que los auditores deben investigar. La tecnología siempre fue interesante. La economía — auditorías de seis días en lugar de cuarenta y uno — es lo que la convierte de opcional a estándar para las empresas reguladas.