Header Ads Widget

Ticker

6/recent/ticker-posts

Métricas de arquitectura

La última vez vimos cómo los grandes proyectos tecnológicos siguen siendo difíciles de programar. Una cosa que puede mantener el impulso de una iniciativa a largo plazo es el uso apropiado de métricas . La mejora de las puntuaciones le permite visualizar el progreso y mantener la motivación para seguir adelante.

Veamos algunas métricas para arquitecturas de software.

La arquitectura es el arte de hacer concesiones entre los atributos de calidad que más importan en un contexto determinado. Un atributo de calidad es una propiedad medible o comprobable de un sistema que se utiliza para indicar qué tan bien el sistema satisface las necesidades de sus partes interesadas. Por tanto, una métrica de arquitectura debe ser una combinación de medidas de atributos de calidad que se consideren importantes para la arquitectura en cuestión.

Hay muchos atributos de calidad potenciales para elegir. La norma ISO / IEC 25010 describe 8 categorías con un total de 31 atributos de calidad:

Nada le impide incluir atributos de calidad adicionales, por supuesto, si tienen sentido en su contexto.

Sin embargo, no debe medir todos los atributos de calidad posibles . Algunos de ellos no tendrán mucho sentido en su situación. Otros serían prohibitivamente caros de medir. Tener demasiados también diluirá su mensaje. En caso de duda, opte por dejar de lado algunos; siempre puedes agregarlos más tarde. Empiece poco a poco y repita a medida que aprende.

Quality Storming es una forma de determinar qué atributos de calidad son lo suficientemente importantes como para incluirse en la métrica de su arquitectura.

Una vez que haya decidido qué atributos de calidad medir, debe definir cómo los medirá. Las buenas métricas son comparativas y comprensibles , y normalmente son ratios .

La forma de medir un determinado atributo de calidad también depende de su contexto.

Por ejemplo, la complejidad ciclomática de McGabe o la distancia del tío Bob Martin de la secuencia principal son métricas candidatas válidas para un monolito. Pero eso tiene poco sentido para una arquitectura de microservicios (MSA), ya que la complejidad en un MSA se mueve desde el interior de un servicio a las dependencias entre los servicios. Entonces, si vive en un mundo de MSA, tal vez debería mirar cosas como la cantidad de datos de los servicios que están expuestos a otros servicios o qué porcentaje de llamadas de servicio cruzan los límites del dominio.

Al definir cómo medir un atributo de calidad, piense cómo va a recopilar los datos necesarios. Si es posible, automatice la recopilación de datos . Esto le permitirá actualizar las métricas con más frecuencia y probablemente también será menos propenso a errores.

Algunos datos podrían recopilarse escaneando el código fuente, por ejemplo, para determinar la complejidad ciclomática. Otros datos podrían provenir de diagramas de arquitectura , en particular diagramas de contenedores. Tener un estándar para esos le permite analizar los diagramas para la recopilación de datos automatizada. Un modelo de amenazas es una buena fuente de datos para métricas relacionadas con la seguridad.

Una vez que haya definido cómo medir todos los atributos de calidad, el último paso es fusionar todos esos números en un solo número que describa la calidad general de la arquitectura. Lo más probable es que desee calcular un promedio ponderado . Para realizar este cálculo, deberá definir pesos que indiquen la importancia relativa de los atributos de calidad. Los resultados de Quality Storming pueden ayudar a establecer esos pesos.

¿Qué piensas? ¿Define métricas para sus arquitecturas? ¿Si es así, cómo? ¿Y de qué manera te han ayudado u obstaculizado? Deje un comentario a continuación.

Publicar un comentario

0 Comentarios