Directriz: Revisiones
Una revisión es un procedimiento formal en que un producto de trabajo se presenta a las partes interesadas para obtener comentarios y su aprobación. En esta directriz se explica cómo preparar y efectuar una revisión.
Relaciones
Descripción principal

General

  • Realice revisiones en forma de reunión, aunque los participantes de las reuniones puedan preparar algunas revisiones por su cuenta.
  • Supervise continuamente la calidad durante las tareas de proceso para evitar grandes números de defectos de los ocultos restantes hasta las revisiones. En cada tarea de Rational Unified Process (RUP), se hace referencia a las listas de comprobación que se listan a continuación para reforzarlo; utilícelas para reuniones de revisión informales o con el trabajo diario.

Tipos de revisiones

En un glosario estándar de 1990, IEEE define tres tipos de revisiones:

Revisión
Una reunión formal en la que un producto de trabajo, o un conjunto de productos de trabajo se presentan al usuario, cliente u otras partes interesadas para obtener comentarios y su aprobación.
Inspección
Una técnica de evaluación formal en que una persona o grupo de personas que no sean el autor examinan al detalle los productos de trabajo para detectar errores, violaciones de estándares de desarrollo y otros problemas.
Ensayo
Un proceso de revisión en que un desarrollador dirige a uno o más miembros del equipo de desarrollo a través de un segmento de un producto de trabajo que ha escrito mientras los demás miembros hacen preguntas y comentarios sobre técnica, estilo, posible error, violación de los estándares de desarrollo y otros problemas.

Cuando se implementan a través de equipos, las revisiones también proporcionan oportunidades para que las personas descubran el diseño y el código de otros grupos, y aumentan las posibilidades de detectar código de un origen común, oportunidades de reutilización y oportunidades de generalización. Las revisiones también proporcionan un modo de coordinar el estilo arquitectónico entre varios grupos.

En RUP, las revisiones juegan un papel importante pero secundario para garantizar la calidad. Los principales colaboradores en la calidad de RUP se describen [ROY98] en la sección sobre Inspecciones de iguales. Sin embargo, este libro identifica un valioso efecto adicional de las revisiones en el desarrollo profesional: el personal más joven tendrá la oportunidad de ver el trabajo de expertos, y su trabajo será revisado por un mentor sénior.

Planificación

Planificamos revisiones para determinar el centro y el ámbito de la revisión, y para asegurarnos de que todos los participantes comprenden su rol y los objetivos de la revisión.

Antes de la revisión, defina el ámbito de la revisión determinando lo que se preguntará; defina qué se valorará y por qué. Consulte la Lista de comprobación de los productos de trabajo que se debe revisar para los tipos de preguntas que se podrían preguntar. Las preguntas exactas dependerán de la fase del proyecto: las revisiones más tempranas contendrán cuestiones arquitectónicas más amplias, las revisiones posteriores serán más específicas.

Una vez que se ha determinado el ámbito de la revisión, defina los participantes de la revisión, la agenda, la información que será necesaria para efectuar la revisión. Al seleccionar los participantes, establezca un equilibrio entre experiencia en arquitectura de software y experiencia en el dominio. Designe claramente y sin ambigüedades un líder de valoración que coordinará la revisión. Si fuera necesario, consulte a otros equipos u otras partes de la empresa para proporcionar experiencia en el dominio o técnica.

El número de revisores debe ser aproximadamente siete, o menos. Si se escogen adecuadamente, serán más que capaces de identificar los problemas de la arquitectura. Más revisores reducen la calidad de la revisión, alargando las reuniones, dificultando la participación e inyectando problemas laterales y discusión en la revisión. Menos de 4 revisores aumenta el riesgo de miopía en la revisión, ya que se reduce la diversidad de la preocupación.

Los revisores deben tener experiencia en el área que se va a revisar; para los guiones de uso, los revisores deben conocer el dominio del problema; para arquitectura de software, el conocimiento de las técnicas de diseño de software también es necesaria. Los revisores sin experiencia pueden aprender algo sobre la arquitectura participando, pero contribuirán poco en la revisión y su presencia puede crear distracciones. Mantenga el grupo reducido, más de tres personas y menos de siete. Menos revisores pone en peligro la calidad de la revisión, y más revisores evita la discusión interactiva esencial para alcanzar resultados de calidad.

Seleccione los revisores apropiados para el material:

  • quienes tienen los conocimientos de fondo para comprender el material presentado
  • quienes tienen un alto interés en la calidad del producto o producto de trabajo que se está revisando

Preparación

Antes de la revisión, los productos de trabajo que se revisarán y el material de fondo se debe recopilar y distribuir a quienes participan en la revisión. Esto debe hacerse con suficiente antelación a la reunión de revisión para que los revisores revisen el material y recopilen problemas. Distribuir los materiales de revisión con suficiente antelación, y permitir que los revisores tengan tiempo para preparar la revisión, mejora significativamente la calidad de los resultados de la revisión. La preparación de las revisiones también mejora ampliamente la eficacia y eficiencia de la revisión.

Los revisores deben estudiar la documentación formulando preguntas e identificando cuestiones a discutir, antes de la revisión. Vista la carga de trabajo normal de los revisores, unos cuantos días laborables es el tiempo mínimo necesario para preparar la revisión.

Realización de revisiones

Existen varias claves para realizar una revisión satisfactoria:

Cada uno de estos aspectos se detalla a continuación.

Comprender el proceso de revisión Para realizar una revisión

En general, el proceso de revisión sigue un ciclo repetitivo:

  • El revisor detecta un problema
  • Se discute el problema, y potencialmente se confirma
  • Se identifica un defecto (se identifica algo que debe solucionarse)
  • Continúe hasta que no se identifiquen más problemas

Para que esto funcione con eficacia, todos deben comprender que el objetivo de una revisión es mejorar la calidad del producto de trabajo revisado. Los productos de trabajo deben revisarse con una perspectiva crítica para detectar problemas. Esto puede resultar difícil, así que todos los revisores deben recordar constantemente que deben centrarse en la identificación de problemas (todos solucionamos problemas con naturalidad, pero como revisores debemos dejar esto de lado).

Tenemos una fuerte propiedad sobre nuestra trabajo; suele resultar complicado aceptar críticas, aunque sean constructivas. Como resultado, debemos trabajar duro para centrarnos en los objetivos de la revisión: mejorar ese trabajo.

Comprender los roles de revisor Para realizar una revisión

Para realizar una revisión eficaz, todo el mundo debe desempeñar un rol. Más concretamente, hay ciertos roles que deben desempeñarse, y los revisores no pueden cambiar de rol con facilidad. Los roles básicos en una revisión son:

  • el moderador
  • el grabador
  • el presentador
  • revisores

El moderador se asegura de que el revisor sigue el calendario y que se centra en el tema a tratar. El moderador se asegura de que las discusiones secundarias no desvían la revisión, y que todos los revisores participan igualmente.

El grabador suele pasar desapercibido, pero es un componente esencial del equipo de revisión. Realizar seguimiento de lo que se discute y documentar las acciones a emprender es una tarea de tiempo completo. Si se asigna esta tarea a uno de los revisores, le mantiene esencialmente fuera de la discusión. Incluso peor, si no se puede documentar lo que se ha decidido, provocará que el problema vuelva a surgir en el futuro. Asegúrese de disponer de un grabador y asegúrese de que este es el único rol que desempeña esta persona.

El presentador es el autor del producto de trabajo que se revisa. El presentador explica el producto de trabajo y la información de fondo necesaria para comprenderlo (aunque si el producto de trabajo no se explica automáticamente, probablemente necesita algún trabajo). Es importante que las revisiones no se conviertan en "juicios" - el objetivo debe ser el producto de trabajo, no el presentador. Es el rol del moderador asegurarse de que los participantes (incluido el presentador) recuerdan esto. El presentador está ahí para iniciar la discusión, para responder preguntas y ofrecer aclaraciones.

Los revisores detectan problemas. Es importante recordar esto, y no entrar en discusiones sobre cómo solucionar el problema. Céntrese en los resultados, no en los medios.

Tener un moderador Para realizar una revisión

Tal como se ha comentado anteriormente, el moderador tiene un rol crucial en conseguir que la revisión pierda su objetivo. Es importante que el moderador se centre en mantener el seguimiento de la revisión, el moderador no debería tener responsabilidades de revisor. El rol del moderador es animar la discusión, garantizar una participación equivalente y mitigar las discordias. Esta tarea le ocupará todo el tiempo. Si no se pueden moderar de forma efectiva las causas de las revisiones para arrastrar más allá de la conclusión prevista, y no poder alcanzar sus objetivos.

Mantener la brevedad de la revisión Para realizar una revisión

Las revisiones son más eficaces cuando son breves y se centran en objetivos bien identificados. Como es difícil mantenerse centrado durante largos periodos y como los revisores tienen otro trabajo que hacer, limite las revisiones a un máximo de dos horas. Si se espera que una revisión sea más larga, divídala en revisiones más breves y más centradas. Los resultados serán mejores si los revisores se mantienen centrados.

La clave de esto es tener un orden del día bien identificado y unos objetivos claramente articulados. Se deben comunicar cuando se distribuyen los materiales de revisión, y el moderador debe reforzarlos cuando empiece la reunión de revisión. El moderador debe reforzar con coherencia (y, a veces, implacablemente) estos objetivos durante la reunión.

Identificar los problemas, no solucionarlos Para realizar una revisión

Una de las principales razones porque las reuniones de revisión no alcanzan los resultados previstos es que tienen tendencia a degenerar en discusiones sobre cómo debería solucionarse un problema. Solucionar problemas suele requerir investigación y reflexión; el formato de la revisión no es un medio eficaz para este tipo de discusión. Una vez que se ha identificado el problema, determine si es un defecto que se debe resolver, y entonces asígnelo a alguien para que lo investigue y lo resuelva. La reunión de revisión debe centrarse sólo en la identificación.

Si el asunto requiere más discusión entre un grupo de personas, forme una reunión a parte para que se entre en ese tema. Habitualmente, esta reunión requerirá una cierta investigación y preparación, y que estén implicadas las personas con las habilidades apropiadas. La revisión debe mantenerse centrada en la identificación de otros problemas. El moderador a menudo necesitará ejercer considerablemente para mantener la reunión de revisión centrándose en esto.

Emprender acciones sobre los resultados de la revisión

La revisión no tiene valor si no se consigue nada de esta. Al final de la revisión:

  • Dar prioridad a la lista de problemas.
  • Crear defectos para realizar el seguimiento de los problemas y de su resolución.
  • Si es necesaria una investigación adicional, asigne un pequeño equipo para que investigue el problema (no para solucionarlo).
  • Para problemas que se pueden resolver en la iteración actual, asigne a una persona o equipo para solucionar el problema.
  • Rellene la lista de problemas no resueltos para esfuerzos de planificación de iteración futuros.

Más información

Consulte el apartado [MCO97].