Ir al contenido

auditoría del sistema

Auditoría de código legacy: mapa del sistema, riesgos ordenados y plan con precios

Acceso de lectura al repositorio, unas horas con la gente que todavía lo conoce y nuestra plataforma sobre todo el código, esté escrito en lo que esté: COBOL, RPG, VB6, Delphi, ColdFusion, PHP, Perl, PL/SQL, Java, C#. Vuelve un mapa de módulos, una lista medida de código muerto, un registro de riesgos ordenado y un plan por fases con precios. De tres a cinco días, y el documento es suyo reescriba o no.

Pedir presupuestoCinco campos y sin número de teléfono obligatorio. Lo que recibe es un alcance, un precio y una fecha.

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

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.

Cómo va el trabajo

Dos pasadas sobre el mismo sistema, una de máquina y otra de persona, y luego una sesión donde se discuten los hallazgos.
  1. 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.

  2. 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í.

  3. 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.

  4. 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

La máquina lee todas las líneas y se pierde el contexto. Las entrevistas aportan el contexto y se pierden la mitad del código. El informe es lo que sale cuando han corrido las dos.
El informe está escrito para que lo lean primero sus ingenieros. Si solo funciona como documento para un consejo, ha fallado.
Qué hace la plataforma y qué hace una personaQuién hace quéNotas
Analizar el código y ponerlo en un grafoPlataformaTodos los lenguajes del árbol, incluidos los dos que había olvidado que estaban ahí.
Medir el código muertoPlataformaAlcanzabilidad estática, más trazas o logs de producción cuando puedan darnos un periodo de ellos.
Las entrevistasIngenieroLo que nunca se escribió solo existe en conversación, y se va con la gente que lo tiene.
Ordenar los riesgosLos dosLa plataforma encuentra los bordes afilados. Ordenarlos exige saber qué sistema le cuesta dinero un viernes.
Estimar las fasesIngenieroA partir de tamaños de módulo medidos y del acoplamiento, en rangos y con los supuestos escritos al lado.
La recomendaciónIngenieroIncluido «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

Díganos 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 para un sistema de ese tamaño, una duración y un precio.

Pedir presupuesto

Contesta un ingeniero, y el primer mensaje suele traer tres preguntas sobre accesos.