auditoría del sistema
Auditoría de código legacy: mapa del sistema, riesgos ordenados y plan con precios
En tres a cinco días sabrá exactamente qué contiene su sistema, cuánto cuesta sustituirlo y en qué orden. Nos basta con acceso de lectura y unas horas con la gente que todavía lo conoce: nuestra plataforma lee el código entero, esté escrito en lo que esté — COBOL, RPG, VB6, Delphi, ColdFusion, PHP, Perl, PL/SQL, Java, C# — y vuelve con un mapa de módulos, el código muerto medido, un registro de riesgos ordenado y un plan por fases con el precio de cada una. Apruebe la primera y empezamos esa misma semana.
3–5 días desde el acceso hasta el informe terminado
Todo lo de la derecha es un documento que se queda usted, incluida la versión en la que la recomendación es dejar el sistema en paz.
Desconocido
Un árbol de fuentes de tamaño desconocido, trabajos que nadie documentó y ninguna prueba.
- source treeunknown size
- nobody left who wrote itrisk
- undocumented jobscron · JCL
- no testscoverage 0
Mapeado
Mapa de módulos, código muerto medido, riesgos ordenados y un plan con fases y precios.
- module mapgraph
- dead code listmeasured
- risk registerranked
- migration planphased · costed
3–5 días desde el acceso hasta el informe terminado
Cómo va el trabajo
- 01día 1
Acceso y entrevistas
Acceso de lectura a los repositorios, instrucciones de compilación, planificación de trabajos y dos o tres horas con cada persona que lo mantiene. El acceso atascado en el departamento jurídico es la causa más habitual de que esto se retrase.
- 02días 1–3
Pasada de máquina
La plataforma lo analiza todo: grafo de llamadas, fronteras de módulos, interfaces externas, uso de la base de datos, alcanzabilidad. El tamaño casi nunca es el problema. El módulo escrito en un dialecto que ya no soporta nadie, sí.
- 03días 3–4
Pasada humana
Un ingeniero repasa lo que la máquina marcó y lo que no supo leer, y luego contrasta los hallazgos con lo que dijo su gente. Esos dos relatos rara vez coinciden a la primera.
- 04días 4–5
Hallazgos y plan
Un informe escrito y una sesión de trabajo: qué está muerto, qué es peligroso, cuánto cuesta una reescritura por fases y qué haríamos primero si fuese nuestro sistema.
Qué hace la plataforma y qué hace una persona
| Qué hace la plataforma y qué hace una persona | Quién hace qué | Notas |
|---|---|---|
| Analizar el código y ponerlo en un grafo | Plataforma | Todos los lenguajes del árbol, incluidos los dos que había olvidado que estaban ahí. |
| Medir el código muerto | Plataforma | Alcanzabilidad estática, más trazas o logs de producción cuando puedan darnos un periodo de ellos. |
| Las entrevistas | Ingeniero | Lo que nunca se escribió solo existe en conversación, y se va con la gente que lo tiene. |
| Ordenar los riesgos | Los dos | La plataforma encuentra los bordes afilados. Ordenarlos exige saber qué sistema le cuesta dinero un viernes. |
| Estimar las fases | Ingeniero | A partir de tamaños de módulo medidos y del acoplamiento, en rangos y con los supuestos escritos al lado. |
| La recomendación | Ingeniero | Incluido «deje esto en paz y arregle su proceso de publicación» cuando eso es lo que dicen los datos. |
Quién lee su código
Ingenieros con más de diez años sobre sistemas legacy y decenas de migraciones detrás, más una plataforma que analiza COBOL, RPG, VB6, Delphi, ColdFusion, PHP, Perl, PL/SQL, Java, C#, Fortran, ABAP y un puñado de dialectos que solo existen dentro de una empresa. Entre los dos, muy poca cosa de un árbol de fuentes llega como sorpresa.
La auditoría es trabajo acotado a precio cerrado y el documento se lo queda en cualquier caso. Enterarse en los últimos días de una reescritura de lo que le habría dicho una auditoría de cinco días es la versión cara de esto.
Preguntas que nos hacen los ingenieros
- ¿Estamos obligados a contratarles después?
- No, y el plan está escrito para que lo pueda ejecutar su propio equipo u otro proveedor. Las fases se describen en módulos e interfaces y no en nuestras herramientas, que además es la única forma de comparar presupuestos.
- ¿Cuánto acceso necesitan de verdad?
- Acceso de lectura a los repositorios y las instrucciones para compilar la cosa. Si puede añadir la planificación de trabajos y un periodo de logs de producción, el código muerto deja de ser una estimación y pasa a ser una medida.
- ¿Y las partes de las que no tenemos el código fuente?
- Se listan tal cual: un binario sin fuente, sus interfaces y lo que costaría reproducirlo o sustituirlo. Dejarlas fuera del mapa es como las migraciones revientan el presupuesto en el último mes.
- ¿Cuánto tardan con un sistema grande?
- De tres a cinco días cubren casi todo lo que vemos. Por encima de unos dos millones de líneas, o con más de unos pocos lenguajes en el árbol, lo partimos y ponemos precio a la primera parte por separado.
- ¿Firman un NDA antes de que enviemos nada?
- Sí, antes del acceso y de forma habitual. Casi todo nuestro trabajo empieza bajo uno.
Pida el mapa de su sistema
Necesitamos tres datos: qué es el sistema, cómo de grande es más o menos y qué hace que la pregunta salga ahora. Respondemos con el alcance, la duración y el precio para un sistema de ese tamaño, y el mapa cae de tres a cinco días después de que nos dé acceso de lectura.
Contesta un ingeniero, y el primer mensaje suele traer tres preguntas sobre accesos.