Be Software Architecture Wise
Be Wise Apps

Read in English · Lire en français · Auf Deutsch lesen

Sección 11.2 de 11.8 · Avanzado · 26 min de lectura

Revisiones ligeras y risk-storming

Videolección

5 min · narrado en inglés, con subtítulos
Solo escuchar (audio)
Leer la transcripción

No todas las decisiones necesitan una evaluación formal. En esta lección aprenderás revisiones breves y prácticas que encuentran los riesgos mientras todavía es barato corregirlos.

Antes de una excursión larga, un grupo sensato extiende el mapa sobre la mesa. Cada persona, en silencio y por su cuenta, marca los lugares que le preocupan: el cruce del río, la pendiente empinada, el tramo sin cobertura de teléfono. Después comparan. Los lugares que marcan muchas personas reciben un plan. Un lugar que marca una sola persona recibe una pregunta, porque esa persona puede saber algo que los demás no saben. Las revisiones ligeras de arquitectura funcionan exactamente así.

Muchas organizaciones usan una junta de revisión: arquitectos sénior que se reúnen cada mes y aprueban o rechazan diseños. La intención es buena, pero los resultados suelen ser pobres, por razones estructurales. El momento. La junta suele ver un diseño demasiado tarde, después de un prototipo, un proveedor y una fecha prometida, así que aprueba con condiciones a las que nadie da seguimiento. El contexto. Los revisores que no conocen el sistema hacen preguntas genéricas y pasan por alto riesgos que las propias personas del equipo podrían nombrar en minutos. Los incentivos. Cuando una revisión es un examen, los equipos presentan el diseño que quieren que se apruebe, no las dudas que tienen. Y la cola. Las semanas de espera empujan a los equipos a etiquetar las decisiones como menores, para esquivar la junta. La revisión funciona mejor cuando es frecuente, temprana, colaborativa y centrada en los riesgos.

El risk-storming lo creó Simon Brown, el autor del modelo C4. Primero, muestra diagramas de lo que piensas construir, normalmente un diagrama de contexto del sistema y un diagrama de contenedores. Segundo, cada persona escribe riesgos en silencio, uno por nota adhesiva, durante unos diez minutos. El silencio evita que la primera persona en hablar, o la más sénior, condicione a todas las demás. Tercero, cada persona coloca sus notas en la parte del diagrama a la que se refiere cada riesgo. Los grupos aparecen de inmediato, y el diagrama se convierte en un mapa de calor. Cuarto, revisar. Comenta los grupos de notas y después fíjate bien en los riesgos que ha planteado una sola persona y en los riesgos a los que distintas personas han dado prioridades muy diferentes. Cada riesgo se puntúa como probabilidad por impacto, cada uno valorado de uno a tres, así que las puntuaciones van de uno a nueve. Seis o nueve cuenta como alto.

Este es el diagrama de contenedores de la plataforma de reparto de comida tras la convergencia, con las puntuaciones que sumaron las notas. Nueve en el proveedor de pagos externo, y seis en el servicio de pedidos que lo llama de forma síncrona. Seis en el API gateway compartido, por el que pasan las tres apps. Y seis en el servicio de notificaciones, que llega a los restaurantes a través de un servicio push externo. Estos focos son los que hay que comentar primero.

Seis personas, entre ellas operaciones, seguridad y un ingeniero de soporte, dedicaron setenta y cinco minutos a ese diagrama. Tras diez minutos en silencio, se colocaron treinta y una notas, que se fusionaron en ocho riesgos distintos. El proveedor de pagos obtuvo un nueve, y lo plantearon cuatro personas. Su acción: un registro de decisión sobre la autorización asíncrona, a cargo del arquitecto, con un plazo de dos semanas. Las notificaciones a los restaurantes sin confirmación de recepción solo las planteó el ingeniero de soporte, que ve quejas por pedidos perdidos cada viernes. Fue el hallazgo más valioso, de la persona con menos probabilidades de hablar primero. Las competencias en Kafka recibieron un nueve de una persona y un dos de las demás. El único ingeniero que había operado Kafka antes explicó los problemas, y el grupo acordó un cuatro. Lo zanjó el conocimiento, no el promedio. Se acordó que la pérdida de datos del almacén de ubicaciones al reiniciarse no era un riesgo, porque las posiciones se actualizan cada cuatro segundos. También se registró, con su supuesto. Cada riesgo acordado salió de la sala con un responsable y una acción, y el registro de riesgos se publicó el mismo día.

El risk-storming examina una estructura. Un pre-mortem, descrito por Gary Klein en 2007, examina un plan. Cada persona imagina que el proyecto ya ha fracasado, y de mala manera, y anota por qué. Saca a la luz dudas sobre las competencias, los plazos y los proveedores que las revisiones de diagramas pasan por alto. Las katas de arquitectura, creadas por Ted Neward, son enunciados de práctica para equipos pequeños. Desarrollan la habilidad de explicar un diseño ante las preguntas y la de hacer buenas preguntas sobre el diseño de otra persona. El Tiny Architectural Review Approach, o TARA, revisa un sistema que ya está en funcionamiento. Combina el juicio experto con el análisis automatizado del código y de los datos en tiempo de ejecución. Y en una revisión de diseño por escrito, indica la decisión que se busca y un plazo para los comentarios, nombra a los revisores obligatorios y pide que cada comentario se etiquete como pregunta, sugerencia o inquietud bloqueante.

La sección completa incluye un formato de revisión de noventa minutos, una guía para elegir una técnica y una lista de comprobación de preguntas. A continuación, en la sección once punto tres, convertiremos las revisiones en comprobaciones continuas con funciones de aptitud. Nos vemos allí.

Lo que necesitas saber

Por qué fracasan a menudo las juntas de revisión pesadas

Muchas organizaciones gobiernan la arquitectura mediante una junta de revisión de arquitectura: un panel de arquitectos sénior que se reúne cada mes, recibe una presentación de diapositivas o un documento largo, y aprueba o rechaza diseños. La intención es buena: ojos independientes y con experiencia sobre las decisiones significativas. Los resultados suelen ser pobres, por razones estructurales más que personales.

El momento es el primer problema. Una junta que se reúne en momentos fijos ve un diseño o demasiado pronto (todavía no hay nada decidido) o, mucho más a menudo, demasiado tarde, cuando el equipo ya ha construido un prototipo, se ha comprometido con un proveedor y ha prometido una fecha. Entonces el rechazo es tan costoso que la junta aprueba con condiciones a las que nadie da seguimiento. El contexto es el segundo: los revisores que dedican una hora a un sistema que nunca han visto hacen preguntas genéricas y pasan por alto los riesgos concretos que los propios desarrolladores, el personal de operaciones y los ingenieros de seguridad del equipo podrían nombrar en minutos. Los incentivos son el tercero: cuando una revisión es un examen, los equipos presentan el diseño que quieren que se apruebe, no las dudas que tienen, y la junta aprende poco. La cola es el cuarto: una reunión mensual con el orden del día lleno añade semanas de espera a cada decisión significativa, lo que empuja a los equipos a esquivar la junta etiquetando las decisiones como menores.

Nada de esto significa que la revisión independiente no valga nada. Los sectores regulados (banca, sanidad, aviación) suelen necesitar una aprobación documentada, y algunas decisiones realmente necesitan la autoridad de un grupo sénior. La lección es que la revisión debe ser frecuente, temprana, colaborativa y centrada en los riesgos, reservando la aprobación formal para las pocas decisiones que de verdad la requieren. La Sección 11.4 vuelve sobre cómo puede funcionar la gobernanza sin compuertas lentas.

Lo que te aporta una buena revisión ligera

Una revisión ligera es una sesión breve y estructurada, normalmente de una o dos horas, en la que las personas que mejor conocen un diseño y unas pocas que lo ven por primera vez buscan riesgos juntas. Persigue cuatro cosas: descubrir los riesgos mientras todavía es barato abordarlos, construir una comprensión compartida del diseño en todo el equipo, ofrecer un cuestionamiento independiente de los supuestos del arquitecto y dejar constancia de los riesgos aceptados, mitigados o descartados. Su resultado es una lista de riesgos priorizada con responsables, no un veredicto.

Varias técnicas encajan en esta descripción. Se diferencian en lo que examinan (un diagrama, un plan, un documento o un sistema en funcionamiento) y en aquello para lo que mejor sirven, y se combinan bien.

Comparación de técnicas de revisión ligera

TécnicaExaminaMás adecuada paraTiempo habitual
Risk-storming (Simon Brown)Diagramas de arquitecturaEncontrar riesgos técnicos rápidamente con todo el equipoDe 45 a 90 minutos
Pre-mortem (Gary Klein)Un plan o una decisiónSacar a la luz dudas sobre todo el proyecto, incluidas las personas y los plazosDe 30 a 60 minutos
Kata de arquitectura (Ted Neward)Un enunciado breve, inventado o realDesarrollar la habilidad de diseño y explorar alternativasDe 1 a 3 horas
TARA (Eoin Woods)Un sistema existente: personas, documentos, código y datos en tiempo de ejecuciónEvaluar la deriva y los riesgos de un sistema en funcionamientoUnos días de trabajo de expertos
Revisión de diseño o de RFCUna propuesta por escritoComentarios asíncronos e inclusivos antes de construirUn plazo de comentarios de varios días, más una reunión breve
Revisión con lista de comprobaciónCualquier diseñoAsegurarse de que se han tenido en cuenta los puntos ciegos habitualesParte de cualquiera de las anteriores

Risk-storming

El risk-storming es una técnica visual y colaborativa creada por Simon Brown, el autor del modelo C4 (Sección 4.3). Se basa en una observación sencilla: personas distintas ven riesgos distintos, y la mejor forma de recogerlos es poner a todos delante de los mismos diagramas y pedirles que miren por su cuenta antes de debatir. Tiene cuatro pasos.

1. Dibuja la arquitectura. Muestra diagramas de lo que piensas construir o cambiar, idealmente en más de un nivel: un diagrama de contexto del sistema y un diagrama de contenedores suelen bastar, con un diagrama de componentes para el contenedor más arriesgado. 2. Identifica los riesgos de forma individual. Cada participante escribe en silencio un riesgo por nota adhesiva, con una descripción breve y una prioridad, durante unos diez minutos. El silencio importa: evita que la primera persona en hablar, o la más sénior, condicione a todas las demás, que es la principal forma en que los debates en grupo pierden información. 3. Haz converger los riesgos sobre los diagramas. Cada persona coloca sus notas en la parte del diagrama a la que se refiere el riesgo. Los grupos aparecen de inmediato, y el diagrama se convierte en un mapa de calor. 4. Revisa y resume. El grupo comenta los grupos de notas y después presta especial atención a dos tipos de nota: los riesgos que ha planteado una sola persona (a menudo alguien con conocimientos que les faltan a los demás, como el ingeniero de soporte) y los riesgos a los que distintas personas han dado prioridades muy diferentes (señal de un malentendido). Los riesgos acordados pasan a un registro de riesgos con responsables; también se registran los elementos que se acuerda que no son riesgos.

La prioridad suele puntuarse como probabilidad por impacto, cada uno valorado como bajo (1), medio (2) o alto (3), lo que da puntuaciones de 1 a 9. La guía de Brown las agrupa en alta (6 o 9), media (3 o 4) y baja (1 o 2), que por convención se muestran con notas rosas o rojas, amarillas o ámbar, y verdes. Una lista de sugerencias ayuda a las personas a pensar más allá de su especialidad: escalabilidad, disponibilidad, rendimiento, seguridad, consistencia de los datos, dependencias de terceros, costo, madurez de la tecnología, competencias del equipo, y entrega y operación.

Un mapa de calor de risk-storming sobre un diagrama de contenedores

Diagrama de contenedores C4 de la plataforma de reparto de comida con las puntuaciones del risk-storming en los contenedores y focos en el proveedor de pagos, el servicio de pedidos, el API gateway y las notificacionesApp clienteApp restauranteApp repartoAPI gatewayProveedorde pagos (externo)ServicioPedidosServicioDespachoServicio denotific.síncr.BD pedidosAlmacén deubicac.Push(externo)Broker de eventos Kafkapublicaconsume96664446puntuación 6-9puntuación 3-4foco
Tras la convergencia, las puntuaciones se concentran en la ruta de pedidos y pagos, el gateway compartido y las notificaciones a los restaurantes; esos contenedores son los focos que hay que comentar primero.

Ejemplo práctico

Ejemplo práctico: risk-storming del diagrama de contenedores de la plataforma de reparto de comida

Seis personas (el arquitecto, dos desarrolladores, un ingeniero de operaciones, un ingeniero de seguridad y un ingeniero de soporte que atiende las quejas de los restaurantes) dedicaron 75 minutos al diagrama de contenedores anterior, con el diagrama de contexto del sistema al lado. Cada una escribió riesgos en silencio durante diez minutos; se colocaron 31 notas, que se fusionaron en 8 riesgos distintos.

Proveedor de pagos en la ruta síncrona del pedido (9)Lo plantearon cuatro personas. Las ralentizaciones del proveedor en el pico bloquean la realización de pedidos. Acción: registro de decisión sobre la autorización asíncrona con un estado de pedido pendiente; responsable: el arquitecto; plazo: dos semanas
Notificaciones a los restaurantes sin confirmación de recepción (6)Lo planteó solo el ingeniero de soporte, que ve quejas por pedidos perdidos cada viernes. Nadie más lo sabía. Acción: entrega con confirmación de recepción, reenvío y una alerta cuando una tableta deja de confirmar; responsable: el equipo de notificaciones
Configuración compartida del gateway (6)Un solo cambio de ruta defectuoso puede tumbar las tres apps a la vez. Acción: configuración del gateway por app y despliegue canario de los cambios del gateway
Conmutación por error de la base de datos de pedidos nunca probada (6)La réplica existe, pero la promoción nunca se ha ensayado. Acción: simulacro trimestral de conmutación por error, medido frente al escenario de recuperación
Competencias en Kafka (puntuado con 9 por una persona y con 2 por las demás)El único ingeniero que había operado Kafka antes explicó el reequilibrio de particiones durante los despliegues, el retraso de los consumidores y los errores de retención. Tras el debate, el grupo acordó un 4: real pero manejable. Acción: servicio de Kafka gestionado y un runbook
Tráfico de ubicaciones de los repartidores a través del gateway (4)Unas 2250 actualizaciones por segundo comparten el gateway con el tráfico de pedidos. Acción: medirlo en la próxima prueba de carga; endpoint de ingesta separado si la latencia de los pedidos se resiente
Retraso de los consumidores de despacho en el pico (4)Acción: alertar del retraso de los consumidores; añadir una función de aptitud a la prueba de carga
El almacén de ubicaciones pierde datos al reiniciarse (2)Se acordó que no es un riesgo: las posiciones se actualizan cada 4 segundos. Se registró así, con el supuesto

El hallazgo de mayor valor (las notificaciones a los restaurantes) vino de la persona con menos probabilidades de hablar primero en un debate abierto, y esa es precisamente la razón de identificar los riesgos en silencio y de forma individual.

El desacuerdo sobre Kafka se resolvió con conocimiento, no promediando las puntuaciones.

Cada riesgo acordado salió de la sala con un responsable y una acción; el registro se publicó el mismo día.

Pre-mortems

El risk-storming examina una estructura. Un pre-mortem examina un plan. Gary Klein lo describió en la Harvard Business Review en septiembre de 2007. Un post-mortem explica por qué murió un paciente, lo que ayuda a todos menos al paciente; un pre-mortem se hace antes de que empiece el proyecto, cuando las respuestas todavía pueden cambiar su rumbo.

El procedimiento es breve. El líder explica al grupo el plan o la decisión y después anuncia que ahora es dentro de unos meses y que el proyecto ha fracasado, y de mala manera. Cada persona dedica unos minutos a anotar, por su cuenta, todas las razones del fracaso que se le ocurran. Después, el líder recorre la sala recogiendo una razón cada vez hasta agotar las listas, y el responsable del plan las revisa en busca de formas de reforzarlo. Klein cita una investigación de Deborah Mitchell, Jay Russo y Nancy Pennington (1989) que concluyó que imaginar que un acontecimiento ya ha ocurrido (retrospectiva prospectiva) aumenta en torno a un 30% la capacidad de las personas para identificar las razones de resultados futuros. El enfoque también cambia la dinámica social: la pregunta ya no es si el plan podría fracasar, lo que suena desleal, sino por qué fracasó, lo que invita a la creatividad.

En arquitectura, los pre-mortems son especialmente útiles antes de los grandes compromisos: adoptar un estilo dirigido por eventos, migrar a una nube nueva, sustituir un sistema heredado (Sección 11.6) o introducir una plataforma. Entre los resultados habituales que una revisión basada en diagramas pasaría por alto están que el equipo carezca de competencias en la nueva tecnología, que la migración se estanque a medio camino con dos sistemas que operar, que un proveedor clave cambie sus precios y que el negocio pierda la paciencia antes de que lleguen los beneficios.

Katas de arquitectura

Las katas arquitectónicas las creó Ted Neward, inspirándose en las katas de código de Dave Thomas, como ejercicios de práctica para arquitectos. Una kata es un enunciado breve sobre un sistema ficticio (unos pocos párrafos de requisitos, usuarios y restricciones, incompletos a propósito). Equipos pequeños de tres a cinco personas trabajan en ella durante un tiempo fijo, haciendo preguntas a un moderador que hace de cliente para descubrir los requisitos que faltan; después esbozan una arquitectura y la presentan a los demás equipos, que la cuestionan con dureza pero con justicia antes de que la sala vote. Neal Ford mantiene una colección pública de katas, y O'Reilly ha organizado competiciones de katas arquitectónicas.

Las katas no son revisiones de un diseño real, pero contribuyen a la cultura de revisión de dos maneras. Desarrollan la habilidad de explicar y defender un diseño ante las preguntas, y la de hacer buenas preguntas sobre el diseño de otra persona, que es exactamente lo que necesitan las revisiones ligeras. Y una kata interna sobre un problema real que se avecina, con dos o tres equipos diseñando por separado, es una forma barata de explorar el espacio de opciones antes de comprometerse: cuando tres equipos producen tres diseños distintos, las diferencias muestran dónde están los compromisos reales.

TARA y revisiones basadas en listas de comprobación

Las revisiones de sistemas que ya existen se enfrentan a un problema distinto: la arquitectura tal como está construida puede diferir de la arquitectura tal como está descrita, y las pruebas están repartidas entre personas, documentos, código y datos de producción. Eoin Woods, coautor de Software Systems Architecture, describió en 2011 el Tiny Architectural Review Approach (TARA) como una alternativa industrial, deliberadamente ligera, a los métodos muy basados en escenarios. Un número reducido de revisores recaba los requisitos clave y el contexto del sistema, establece su estructura real, evalúa su implementación mediante análisis automatizado (dependencias entre módulos, tamaño, métricas de código, cobertura de pruebas) junto con información de tiempo de ejecución como los logs, usa el juicio experto para vincular lo que encuentra con los requisitos, y presenta los hallazgos y las recomendaciones en un formato predefinido. Su punto fuerte es la rapidez y la evidencia; su debilidad, que Woods reconoció, es que depende de la pericia de los revisores.

Las listas de comprobación complementan todas las técnicas. Una lista de comprobación no encuentra riesgos por sí sola, pero evita que una revisión olvide una categoría entera (la restauración de copias de seguridad, los secretos, el costo a escala) porque a nadie de la sala se le ocurrió pensar en ella. Mantén las listas de comprobación cortas, específicas del historial de incidentes de tu organización y formuladas como preguntas que exijan pruebas en lugar de respuestas de sí o no.

Documentos de diseño y revisiones de RFC

La Sección 4.8 describió los documentos de diseño y los RFC como una forma de proponer un cambio por escrito antes de construirlo. Revisarlos bien es una habilidad en sí misma. Una revisión por escrito tiene ventajas reales sobre una reunión: los revisores comentan cuando tienen tiempo para pensar, los compañeros en remoto y los más callados contribuyen en igualdad de condiciones, y los comentarios quedan como registro. Sus fallos típicos son documentos que nadie lee, hilos de comentarios que nunca se cierran y revisiones que se convierten en una compuerta extraoficial.

Una buena práctica es indicar al principio la decisión que se busca y el plazo para los comentarios, nombrar a los revisores cuya opinión es obligatoria (seguridad, operaciones, los responsables de los servicios afectados) e invitar a cualquier otra persona; pedir a los revisores que etiqueten cada comentario como pregunta, sugerencia o inquietud bloqueante, para que el autor sepa cuáles debe resolver; revisar frente a los escenarios de calidad y la lista de comprobación de más abajo, no frente a los gustos personales; cerrar con una reunión breve solo para las inquietudes sin resolver; y registrar las decisiones significativas como ADR. En las organizaciones que usan el proceso de consejo (Sección 11.4), el RFC es el vehículo para pedir consejo, y la decisión sigue siendo de su autor.

Cómo dirigir una revisión de arquitectura de 90 minutos, paso a paso

  1. Antes: preparar (unos días antes)El arquitecto distribuye un resumen de una página, los diagramas de contexto y de contenedores, los tres a cinco escenarios de calidad principales con sus cifras y las preguntas abiertas. Invita a entre cinco y ocho personas: el equipo, operaciones, seguridad, alguien de cada equipo vecino y una persona externa con experiencia. Elige a un facilitador que no sea el arquitecto.
  2. Minutos 0 a 10: objetivos y reglasEl facilitador expone el propósito (encontrar riesgos, no aprobar ni rechazar), el tiempo asignado y el resultado esperado. Un representante del negocio o el responsable de producto repasa los impulsores de negocio en dos minutos.
  3. Minutos 10 a 25: recorrer la arquitectura con escenariosEl arquitecto recorre dos o tres de los escenarios más importantes sobre los diagramas, por ejemplo un pedido en el pico y una caída del proveedor de pagos. Solo preguntas de aclaración.
  4. Minutos 25 a 35: identificación de riesgos en silencioCada persona escribe riesgos en notas, uno por nota, con una probabilidad y un impacto. Sin debate.
  5. Minutos 35 a 50: converger y agruparLas notas se colocan en los diagramas. El facilitador fusiona en voz alta las duplicadas y destaca los grupos, las notas aisladas y los desacuerdos de prioridad.
  6. Minutos 50 a 75: debatir los riesgos principalesEmpieza por los grupos con mayor puntuación. Para cada uno, acuerda con el grupo qué es realmente el riesgo, su puntuación y si es un riesgo, un no riesgo con un supuesto o una pregunta que necesita un spike.
  7. Minutos 75 a 85: acciones y responsablesCada riesgo alto o medio acordado recibe una mitigación, un responsable y una fecha. Se enumeran las decisiones que deben registrarse como ADR.
  8. Minutos 85 a 90: cierreRepasa en voz alta los riesgos, los riesgos aceptados y los no riesgos con sus supuestos. Acuerda cuándo se volverá a examinar el diseño.
  9. Después: publicar en un plazo de dos díasPublica el registro de riesgos, las fotografías de los diagramas anotados y la lista de acciones donde el equipo guarda su documentación de arquitectura, y haz el seguimiento de las acciones en el backlog habitual.

Guía de decisión

Guía de decisión: ¿qué tipo de revisión?

Empieza por arriba; las técnicas se pueden combinar.

  1. ¿Es inminente un compromiso caro y difícil de revertir, como un contrato de varios años, la compra de una plataforma o una compuerta de financiación, con muchas partes interesadas?
    SíUsa un ATAM o un ATAM reducido con evaluadores independientes (Sección 11.1), y añade un pre-mortem sobre el plan.
    NoContinúa.
  2. ¿Hay una propuesta por escrito para un cambio significativo?
    SíHaz una revisión de diseño o de RFC por escrito con un plazo para los comentarios y, después, una reunión breve para las inquietudes bloqueantes.
    NoContinúa.
  3. ¿Existen diagramas de la arquitectura propuesta o existente?
    SíAplica risk-storming sobre ellos, con el formato de 90 minutos.
    NoDibuja primero un diagrama de contexto y uno de contenedores; dibujarlos a menudo saca a la luz riesgos por sí solo.
  4. ¿La principal preocupación es el éxito de todo el proyecto (competencias, plazos, migración, adopción) más que la estructura?
    SíAñade un pre-mortem.
    NoContinúa.
  5. ¿El sistema ya está en funcionamiento, con sospechas de deriva o de deuda creciente?
    SíUsa una revisión al estilo de TARA que combine entrevistas con análisis automatizado del código y del tiempo de ejecución, y convierte los hallazgos en funciones de aptitud.
    NoConfía en las funciones de aptitud entre revisiones y vuelve a revisar en la siguiente decisión significativa.

Lista de comprobación: preguntas para cualquier revisión ligera de arquitectura

Pide pruebas, no tranquilidad. Adapta la lista al historial de incidentes de tu propia organización.

  • ¿Qué tres a cinco escenarios de calidad importan más, y cuáles son sus cifras?Sin impulsores medibles, la revisión no puede clasificar los riesgos (Sección 2.3).
  • ¿Qué hay en la ruta síncrona del recorrido más importante?Cuenta los saltos, enumera los timeouts y los reintentos, e identifica a cada tercero que haya en la ruta.
  • ¿Qué ocurre cuando cada dependencia está lenta o caída?Lento suele ser peor que caído; pregunta por ambos casos y por cómo se informa a los usuarios.
  • ¿Quién es el propietario de cada dato importante, y se ha probado una restauración?Escritor único, expectativas de consistencia, retención y pruebas de una restauración reciente con éxito (Capítulo 7).
  • ¿Dónde están los límites de confianza, las identidades y los secretos?Busca un modelo de amenazas actualizado y secretos en el código o en la configuración (Capítulo 8).
  • ¿Qué se rompe primero con el doble del pico esperado?Pide el modelo de capacidad o los resultados de las pruebas de carga, no la intuición.
  • ¿Cómo se observa, se despliega y se revierte el sistema?Paneles, alertas ligadas a los SLO, estrategia de despliegue y el tiempo que tarda un rollback.
  • ¿Qué es probable que cambie el próximo año, y a qué afectaría ese cambio?Comprueba que los cambios probables se quedan dentro de un solo módulo o servicio.
  • ¿Cuánto costará operarlo con el volumen esperado?Un costo por pedido, por usuario o por transacción, con sus principales impulsores.
  • ¿Están registradas las decisiones significativas con sus alternativas y consecuencias?ADR o un documento de diseño, incluidos los compromisos aceptados.
  • ¿La estructura del equipo se corresponde con el diseño?Cada parte tiene un equipo propietario con las competencias para operarla (Sección 3.7 y Sección 11.5).

Comprueba lo que has entendido

¿Por qué el risk-storming pide a las personas que identifiquen los riesgos en silencio antes de cualquier debate?

Para evitar que la primera persona en hablar, o la más sénior, condicione al grupo, de modo que el conocimiento independiente de cada persona llegue al diagrama.

En el risk-storming, ¿qué dos tipos de nota merecen especial atención durante el paso de revisión?

Los riesgos que plantea una sola persona, que puede saber algo que los demás no saben, y los riesgos a los que se dan prioridades muy distintas, que indican un malentendido.

¿Qué examina un pre-mortem que normalmente no examina una sesión de risk-storming sobre un diagrama de contenedores?

El plan y su contexto en conjunto: competencias, plazos, migración, proveedores y paciencia de la organización, más que la estructura técnica.

Nombra dos razones estructurales por las que las juntas de revisión de arquitectura mensuales suelen fracasar.

Dos cualesquiera de estas: ven los diseños demasiado tarde, los revisores carecen de contexto, los equipos se presentan a la defensiva y la cola añade semanas de retraso que fomentan que se evite la junta.

Siguiente · 11.3Funciones de aptitudCómo proteger las características arquitectónicas con comprobaciones automatizadas: qué son las funciones de aptitud, sus categorías, ejemplos para estructura, rendimiento, seguridad, resiliencia y datos, y la arquitectura evolutiva.Continuar →

Fuentes y lecturas recomendadas

¿Tienes una pregunta sobre esta sección? ArchitectBot, el asistente de estudio con IA del curso, responde primero a partir del curso.

Pregunta: “Nuestra junta de revisión de arquitectura se reúne una vez al mes y los equipos intentan evitarla. ¿Cómo podríamos sustituirla por revisiones ligeras sin perder el cuestionamiento independiente?”