¿Qué es el Modelo de Madurez de Excelencia en Ingeniería?
Los ingenieros suelen saber dónde le duele al código. Lo difícil es ponerse de acuerdo como equipo sobre qué problemas importan más y cuánto se ha avanzado en resolverlos. El Modelo de Madurez de Excelencia en Ingeniería pide a tu equipo que valore 12 prácticas agrupadas en cuatro áreas (Calidad y estándares de código, Arquitectura y escalabilidad, Gestión de la deuda técnica, y Colaboración y habilitación en ingeniería) en una escala de cinco niveles que va de Ad hoc a Optimizado. Como cada nivel está descrito, las valoraciones convierten impresiones vagas sobre la calidad en algo concreto: revisiones de código que detectan errores pero no difunden conocimiento, o deuda técnica que todos conocen pero nadie registra. Ese lenguaje común ayuda a ingenieros y responsables a acordar qué mejorar primero. Si lo realizas con regularidad, verás si los cambios que hiciste han hecho subir de nivel las prácticas.
Dimensiones
Calidad y estándares de código
Con qué constancia el equipo escribe código limpio, mantenible y bien revisado, guiado por estándares compartidos.
Coherencia en los estándares de código
Con qué coherencia aplica el equipo las pautas de codificación compartidas.
- Ad hocLas prácticas de codificación varían mucho; no se siguen estándares compartidos.
- EmergenteExisten algunos estándares, pero se aplican de forma irregular.
- DefinidoLos estándares están documentados y normalmente se siguen.
- GestionadoLos estándares se aplican de forma coherente y se revisan con regularidad.
- OptimizadoHay una sólida cultura de calidad del código; los estándares evolucionan mediante la colaboración y las buenas prácticas.
Mantenibilidad del código
La facilidad con la que el código se puede leer, entender, modificar y ampliar.
- Ad hocEl código es difícil de leer, recorrer o reutilizar.
- EmergenteSe han hecho algunas mejoras, pero persisten problemas de mantenibilidad.
- DefinidoEl código es en general comprensible y mantenible.
- GestionadoEl código es limpio, modular y predecible, con sólidas prácticas de mantenibilidad.
- OptimizadoLa mantenibilidad forma parte de la cultura; los equipos mejoran y hacen evolucionar la estructura del código de forma proactiva.
Calidad de las revisiones de código
En qué medida las revisiones de código mejoran la calidad y el aprendizaje del equipo.
- Ad hocLas revisiones son escasas, apresuradas o superficiales.
- EmergenteSe hacen revisiones, pero su profundidad y utilidad varían mucho.
- DefinidoLas revisiones detectan problemas y mejoran la calidad de forma fiable.
- GestionadoLas revisiones son constructivas y coherentes, y mejoran tanto la calidad como las habilidades del equipo.
- OptimizadoLas revisiones son colaborativas, ricas en conocimiento y una parte esencial de la excelencia en ingeniería.
Arquitectura y escalabilidad
Qué tan clara es la arquitectura del sistema y qué tan bien escala, rinde y gestiona el riesgo técnico.
Claridad arquitectónica
Qué tan bien definida, documentada y comprendida está la arquitectura del sistema.
- Ad hocLa arquitectura no está clara o no está documentada.
- EmergenteExiste algo de documentación, pero es incompleta o poco clara.
- DefinidoLa arquitectura está documentada y la entiende la mayoría del equipo.
- GestionadoLa arquitectura orienta las decisiones y evoluciona mediante una colaboración estructurada.
- OptimizadoLa arquitectura es escalable, intencionada y se perfecciona continuamente a partir de lo que se aprende.
Escalabilidad y robustez
Capacidad del sistema para soportar el crecimiento, las exigencias de rendimiento y las necesidades de fiabilidad.
- Ad hocEl sistema sufre bajo carga; el escalado no se planifica.
- EmergenteAlgunos componentes escalan, pero siguen existiendo limitaciones.
- DefinidoEl sistema soporta la carga habitual con un rendimiento aceptable.
- GestionadoEl sistema escala de forma fiable y el rendimiento se supervisa y optimiza activamente.
- OptimizadoLa escalabilidad es un punto fuerte; el sistema absorbe el crecimiento con soltura y de forma predecible.
Gestión del riesgo técnico
Con qué eficacia se identifican, evalúan y mitigan los riesgos de ingeniería.
- Ad hocLos riesgos aparecen tarde y causan trastornos importantes.
- EmergenteLos riesgos se comentan de vez en cuando, pero no se gestionan de forma sistemática.
- DefinidoLos riesgos se identifican durante la planificación y se abordan cuando es necesario.
- GestionadoUna evaluación de riesgos estructurada permite mitigarlos de forma proactiva.
- OptimizadoLa gestión de riesgos está integrada en todos los procesos de ingeniería y evita problemas graves.
Gestión de la deuda técnica
Qué tan visible es el seguimiento de la deuda técnica, cómo se reduce y cómo se relaciona con su impacto en la entrega.
Visibilidad de la deuda
Cómo se identifica, registra y comunica la deuda técnica.
- Ad hocLa deuda técnica está oculta y no se gestiona.
- EmergenteHay cierta conciencia de la deuda, pero rara vez se documenta.
- DefinidoLa deuda se registra y se revisa periódicamente.
- GestionadoEl backlog de deuda se prioriza y se incorpora a la planificación.
- OptimizadoLa visibilidad y la prevención de la deuda son prácticas centrales de ingeniería.
Prácticas de reducción de la deuda
Con qué eficacia aborda y reduce el equipo la deuda técnica.
- Ad hocLa deuda se acumula sin que nadie intervenga.
- EmergenteLa deuda se comenta, pero rara vez se resuelve.
- DefinidoLa deuda se aborda cuando es posible.
- GestionadoLa reducción de la deuda es proactiva y forma parte del trabajo habitual.
- OptimizadoEl equipo mantiene una deuda mínima gracias a una ingeniería disciplinada y a la mejora continua.
Conciencia del impacto
Comprensión de cómo afecta la deuda técnica a la velocidad, la calidad y el riesgo.
- Ad hocEl equipo no relaciona la deuda técnica con los problemas de entrega.
- EmergenteHay cierta conciencia, pero se actúa poco.
- DefinidoSe entiende el impacto de la deuda y este influye en algunas decisiones.
- GestionadoEl impacto de la deuda orienta de forma constante la planificación y la priorización.
- OptimizadoUna sólida cultura consciente de la deuda evita su acumulación y favorece una velocidad sostenible.
Colaboración y habilitación en ingeniería
Con qué eficacia el equipo comparte conocimiento, amplía sus habilidades y dota a los desarrolladores de las herramientas para hacer un gran trabajo.
Intercambio de conocimiento
Con qué eficacia se comparten el conocimiento y la experiencia de ingeniería en el equipo.
- Ad hocEl conocimiento está en silos; el factor bus es alto.
- EmergenteSe comparte algo de conocimiento, pero de forma irregular.
- DefinidoEl conocimiento se comparte por canales informales o estructurados.
- GestionadoEl conocimiento fluye con facilidad; la incorporación de nuevas personas es eficiente.
- OptimizadoCultura muy colaborativa, con aprendizaje continuo y responsabilidad compartida.
Amplitud de habilidades y flexibilidad
La capacidad del equipo para trabajar en distintas áreas del sistema.
- Ad hocLos silos marcados provocan cuellos de botella por dependencias.
- EmergenteDe vez en cuando hay formación cruzada.
- DefinidoLos miembros del equipo pueden cubrir la mayoría de las áreas principales.
- GestionadoGran flexibilidad; el equipo se adapta rápidamente a las exigencias de carga de trabajo.
- OptimizadoUna experiencia amplia y profunda en todo el equipo permite entregas rápidas y resilientes.
Habilitación de desarrolladores
Calidad de las herramientas, los procesos y el entorno que favorecen la productividad de los desarrolladores.
- Ad hocLas herramientas están obsoletas o son incoherentes; hay mucha fricción.
- EmergenteHay mejoras en marcha, pero quedan carencias.
- DefinidoLos desarrolladores disponen de herramientas fiables que cubren las necesidades básicas.
- GestionadoLas herramientas son ágiles y eficientes, y se mejoran de forma constante.
- OptimizadoUna experiencia de desarrollo de primer nivel que permite un trabajo de ingeniería rápido y de alta calidad.
Cuándo debe realizarse esta revisión médica
- Para establecer una línea base de la madurez técnica de tu equipo de ingeniería en código, arquitectura y colaboración.
- En retrospectivas trimestrales o de lanzamiento, para seguir cómo cambian las prácticas de ingeniería.
- Cuando se incorpora un nuevo responsable de ingeniería y necesita una visión sincera de las fortalezas y carencias actuales.
- Antes de invertir en herramientas, refactorización o cambios de proceso, para decidir dónde rendirá más el esfuerzo.
- Cuando el equipo está creciendo y quieres que los estándares, el intercambio de conocimiento y la arquitectura sigan el ritmo.
Consejos y trucos
- Pide que cada persona valore por su cuenta antes de debatir, para que las opiniones sinceras salgan antes de que aparezca el pensamiento de grupo.
- Dedica la mayor parte del tiempo a las dimensiones con mayor dispersión de puntuaciones. Los desacuerdos suelen revelar dónde la gente ve el sistema de forma distinta.
- Trata los niveles como peldaños, no como notas. Pasar de Emergente a Definido es un avance real, así que dilo.
- Elige una o dos dimensiones para mejorar antes del próximo health check en lugar de intentar mover todo a la vez.
- Repítelo con una cadencia regular para que el progreso en las prácticas de ingeniería siga siendo visible.