-
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.
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.
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
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.
Existen varias claves para realizar una revisión satisfactoria:
Cada uno de estos aspectos se detalla a continuació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.
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.
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.
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.
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.
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.
Consulte el apartado [MCO97].
|