Trabajo para una empresa que está investigando esto exactamente. A continuación se presentan 3 métricas accionables que recomendamos observar al abordar la deuda técnica. Para obtener más información sobre "cómo" y "cuándo" rastrearlos, reunimos un resumen del artículo 3 Métricas para comprender y abordar la deuda técnica .
¿Cuáles son tus pensamientos? Feliz de responder cualquier pregunta y ansioso por escuchar sus comentarios :).
Propiedad para evitar defectos y deudas tecnológicas no deseadas
La propiedad es un indicador principal de la salud de la ingeniería.
Las partes de la base de código que reciben contribuciones de muchas personas se acumulan con el tiempo, mientras que las que reciben contribuciones de menos personas tienden a estar en un mejor estado. Es más fácil mantener altos estándares en un grupo ajustado que está bien informado sobre su parte de la base de código.
Esto proporciona cierto poder predictivo: es probable que partes de la base de código de propiedad débil acumulen deudas con el tiempo y sean cada vez más difíciles de trabajar. En particular, es probable que la deuda se asuma involuntariamente , simplemente como un efecto secundario de la información incompleta y la propiedad diluida de la calidad del código.
Esto es algo análogo a la tragedia de los bienes comunes .
Cohesión para mejorar la arquitectura.
La cohesión es un indicador final de componentes bien definidos.
La cohesión y su contraparte, el acoplamiento, han sido reconocidos durante mucho tiempo como conceptos importantes en los que centrarse al diseñar software.
Se dice que el código tiene una alta cohesión cuando la mayoría de sus elementos van de la mano. La alta cohesión generalmente es preferible porque está asociada con la mantenibilidad, la reutilización y la robustez. La alta cohesión y el acoplamiento flojo tienden a ir de la mano.
Más allá de estar asociado con un código más reutilizable y mantenible, la alta cohesión también minimiza la cantidad de personas que necesitan participar para modificar una parte determinada de la base de código, lo que aumenta la productividad.
Batir para identificar áreas problemáticas
La rotación (actividad repetida) ayuda a identificar y clasificar las áreas maduras para refactorizar en un sistema en crecimiento.
A medida que los sistemas crecen, se hace más difícil para los desarrolladores comprender su arquitectura. Si los desarrolladores tienen que modificar muchas partes de la base de código para ofrecer una nueva característica, será difícil para ellos evitar la introducción de efectos secundarios que conduzcan a errores, y serán menos productivos porque necesitan familiarizarse con más elementos y conceptos.
Es por eso que es importante luchar por la responsabilidad única de crear un sistema más estable y evitar consecuencias no deseadas. Si bien algunos archivos son centros arquitectónicos y permanecen activos a medida que se agregan nuevas funciones, es una buena idea escribir código de una manera que cierre los archivos y revise, pruebe y controle rigurosamente las áreas de QA.
Churn muestra estos archivos activos para que pueda decidir si se deben desglosar para reducir la superficie de cambio en su base de código.