jueves, 4 de abril de 2013

Proceso de revisión (K2 - entender, explicar , razonar)

Objetivos:
  1. Retener las actividades, funciones y responsabilidades de una revisión formal estándar (K1).
  2. Explicar las diferencias entre los distintos tipos de revisión: revisión informal, revisión técnica, revisión guiada e inspección (K2).
  3. Explicar los factores para llevar a cabo revisiones con éxito.
Términos usados en este artículo: CRITERIOS DE ENTRADA, REVISIÓN INFORMAL, INSPECCIÓN, MÉTRICA, MODERADOR, REVISIÓN ENTRE PARES, REVISOR, ESCRIBA, REVISIÓN TÉCNICA, REVISIÓN GUIADA.

Antecedentes.




 Los distintos tipos de revisiones varían desde informales, que se caracterizan porque los revisores carecen de instrucciones escritas, hasta sistemáticas, que se caracterizan por incluir la participación del equipo, resultados documentados de la revisión y procedimientos documentados para llevar a cabo la revisión. La formalidad de un proceso de revisión está relacionada con factores tales como la madurez del proceso de desarrollo, cualquier requisito legal o normativo o la necesidad de un rastro de auditoria.

La forma en la que se lleva a cabo una revisión dependerá de los objetivos de la revisión (por ejemplo, encontrar defectos, comprender, formar probadores y nuevos miembros del equipo, o debatir y decidir por consenso).

Actividades de una revisión formal (K1)



Una revisión formal típica incluye las siguientes actividades principales:


1.- Planificar:

  • Definir los criterios de revisión.
  • Seleccionar al personal.
  • Asignar función.
2.- Definir los criterios de entrada y salida para más tipos de revisión formal (como por ejemplo, las inspecciones).

  • Seleccionar qué partes de los documentos deben revisarse.

3.- Inicio:
  • Repartir los documentos.
  • Explicar los objetivos, procesos y documentos a los participantes.
4.- Comprobar los criterios de entrada (para tipos de revisión más formales).
5.- Preparación individual.

  • Prepararse para la reunión de revisión repasando los documentos.

6.- Prestar especial atención a posibles defectos, preguntas y comentarios.
7.- Examen/evaluación/registro de los resultados (reunión de revisión):

  • Debatir o registrar, mediante resultados documentados o actas (para tipos de revisión más  formales).
  • Prestar especial atención a los defectos, hacer recomendaciones sobre cómo manejar los defectos, tomar decisiones al respecto.

8.- Examinar/evaluar y registrar durante reuniones físicas o de seguimiento de los grupos comunicaciones electrónicas.
9.-  Adaptar:

  • Corregir los defectos detectados (normalmente a cargo del autor).
  • Registrar el estado actualizado de los defectos (en revisiones formales).
10.- Hacer un seguimiento:

  • Comprobar que los defectos han sido tratados.
  • Recopilar métricas.
11.- Comprobar los criterios de salida (para tipos de revisión más formales).

Funciones y responsabilidades (K1)

Una revisión formal típica incluirá las siguientes funciones:

  • Jefe: decide sobre la ejecución de las revisión, asigna el tiempo en los calendarios del proyecto y determina si se han logrado los objetivos de la revisión.
  • Moderador: es la persona que lidera la revisión de documento o serie de documentos, incluyendo la planificación de la revisión, la celebración de la reunión y el seguimiento después de la reunión. En caso necesario, el moderador podrá mediar entre los distintos puntos de vista y , con frecuencia, es la persona de la que depende el éxito de la revisión.
  • Autor: es el escritor o la persona con máxima responsabilidad de los documentos  a revisar.
  • Revisores: se trata de personas con una experiencia especifica en el ámbito técnico o comercial (también denominados evaluadores o inspectores) que, tras la necesaria preparación, identifican y describen las conclusiones (por ejemplo, los defectos) sobre el producto objeto de la revisión. Los revisores deben seleccionarse de manera que representen distintas perspectivas y funciones en el proceso de revisión, y deben participar en todas las reuniones de revisión. 
  • Escriba (o registrador): documenta todos los problemas, asuntos y puntos abiertos que se han identificado durante la reunión.
Abordar los productos de software o productos de trabajo asociados desde distintas perspectivas y utilizar listas de comprobación puede contribuir a la efectividad y eficiencia de las revisiones. Asi por ejemplo, disponer de una lista de comprobación basada en distintas perspectivas como las del usuario, el mantenedor, el probador o las operaciones, o contar con una lista de comprobación que incluya los problemas típicos de requisitos puede ayudar a desvelar problemas no detectados anteriormente.

Tipos de revisiones (K2)(IEE 1028)

Un único producto de software o producto de trabajo asociado puede ser objeto de varias revisiones. si se utiliza más de un tipo de revisión, el orden puede variar. Así por ejemplo, puede llevarse a cabo una revisión informal antes de la revisión técnica, o la inspección de una especificación de requisitos antes de una revisión guiada con el cliente. Las principales características, opciones y objetivos de los tpos de revisión disponibles son:

1.- Revisión Informal.
  • Ausencia de un proceso formal.
  • Puede adoptar la forma de programación por pares o una revisión por parte de un líder técnico de los diseños y el código.
  • Los resultados pueden estar documentados.
  • Su utilidad varía en función de los revisores.
  • Objetivo principal: forma barata de obtener beneficios.
2.- Revisión guiada.
  • Reunión liderada por el autor.
  • Puede adoptar la forma de escenarios, simulacros o participación de grupo de pares.
  • Sesiones abiertas.
  •    Preparación opcional de revisores previa a la reunión.
  •    Preparación opcional de un informe de revisión en el que se incluya la lista de conclusiones.
  • Escriba opcional (distinto autor).
  • Puede variar en la práctica desde bastante informal hasta muy formal.
  • Objetivos principales:aprender , entender, encontrar defectos.
3.- Revisión técnica.
  • Proceso documentado y definido para la detección de defectos que incluye la participación de pares y expertos técnicos, siendo la participación de la dirección opcional.
  • Puede llevarse a cabo como una revisión entre pares sin la participación de la dirección.
  • Idealmente está dirigida por un moderador formado (distinto del autor).
  • Preparación previa a la reunión por parte de los revisores.
  • Uso opcional de listas de comprobación.
  • Elaboración de un informe de revisión en el que se incluya la lista de conclusiones, el veredicto de si el producto de software cumple los requisitos y , si procede, recomendaciones en base a las conclusiones.
  • Puede variar en la práctica desde bastante informal hasta muy formal.
  • Objetivos principales: debatir, tomar decisiones, evaluar alternativas, encontrar defectos , resolver problemas técnicos y comprobar la conformidad con las especificaciones, los planes, la normativa y los estándares.

4.- Inspección.

  • Dirigida por un moderador formado (distinto del autor).
  • Generalmente celebrada como un examen entre pares.
  • Funciones definidas.
  • Incluye una recopilación de métricas.
  • Proceso formal basado en normas y listas de comprobación.
  • Criterios de entrada y salida especificados para la aceptación del producto de software.
  • Preparación previa a la reunión.
  • Informe de inspección en el que incluye una lista de las conclusiones.
  • Proceso de seguimiento formal.
  •      Proceso de mejora de componentes opcional.
  • Lector opcional.
  • Objetivo principal: identificar defectos.
Las revisiones guiadas, las revisiones técnicas y las inspecciones pueden llevarse a cabo dentro de un mismo grupo de pares, es decir, entre colegas de un mismo nivel organizativo.

Este tipo de revisiones recibe el nombre de "revisión entre pares".

Factores de éxito de las revisiones (K2).

Entre los factores de éxito de las revisiones se encuentran los siguientes:

  • Todas las revisiones tienen objetivos claros y predefinidos.
  • Se cuenta con la participación de las personas adecuadas para los objetivos de la revisión.
  • Los probadores constituyen revisores valiosos que contribuyen a la revisión y aprenden sobre el producto, lo que les permitirá preparar pruebas en una fase más temprana.
  • Los defectos detectados son bienvenidos y se expresan de manera objetiva.
  • se afrontan los problemas de personal y los aspectos psicológicos (por ejemplo, haciendo que sea una experiencia positiva para el autor).
  • La revisión se lleva a cabo en una atmósfera de confianza ya que el resultado no se utilizará para evaluar a los participantes.
  • se aplican las técnicas de revisión adecuadas para lograr los objetivos y para el tipo y nivel de productos de trabajo de software y los revisores.
  • Se utilizan listas de comprobación o funciones si procede para aumentar la efectividad del proceso de identificación de defectos.
  • Se ofrece formación sobre técnicas de revisión, especialmente por lo que respecta a las técnicas más formales como la inspección.
  • La dirección respalda la implantación de un buen proceso de revisión (por ejemplo, asignando el tiempo adecuado a las actividades de revisión en los calendarios del proyecto).
  • se hace hincapié en el aprendizaje y en la mejora del proceso.
Resumiendo:
  1. Las revisiones se realizan con el objeto de mejorar la calidad del producto. (Las revisiones se utilizan para verificar la correcta transición de una fase a la siguiente, según está definido en el lado izquierdo del modelo V).
  2. La detección temprana de errores ahorra costes.
  3. En el transcurso de la revisiones se podrían detectar los siguientes defectos:

  • Defectos en las especificaciones de requerimientos.
  • Defectos en el diseño y arquitectura del software.
  • Defectos en las especificaciones de interfaces.
  • Mantenibilidad insuficiente.
  • Desviaciones con respecto a estándares acordados (por ejemplo guías de programación).
Ventajas:
  1. Costes más bajos y un alto potencial de ahorro.
  2. Los defectos en la documentación son detectados y corregidos de forma temprana.
  3. Los documentos de alta calidad mejoran el proceso de desarrollo.
  4. Mejora el índice de comunicación / intercambio de conocimiento ("know-how").
Desventajas:
  1. Se podrían presentar situaciones de tensión en el caso de enfrentamientos directos con el autor.
  2. Los expertos involucrados en las revisiones deben adquirir conocimientos específicos del producto, es necesario una buena preparación.
  3. Inversión considerable de tiempo (del 10% - 15% del presupuesto total).
  4. Moderador y participantes influyen directamente en la calidad de la revisión.
Actividades de una revisión:
  1.  Planificación (Definición de los criterios de la revisión, selección del personal, asignación de roles y tiempo en el calendarios del proyecto).
  2. Definición de los criterios de entrada y salida para revisiones formales (selección de partes del documentos serán revisadas)
  3. Inicio ("Kick-off") (Distribución de documentos, explicación de los objetivos, proceso y documentos).
  4. Comprobación de los criterios de entrada (para revisiones más formales).
  5. Preparación individual (identificación de elementos que requieren aclaración).
  6. Identificación de defectos potenciales, preguntas y comentarios.
  7. Reunión de revisión
  8. Examen / Evaluación / Registro.
  9. Reconstrucción ("rework") (el autor corrige cualquier defecto identificado por los inspectores, registro actualizado de defectos).
  10. Seguimiento ("follow up") (comporbación de que los defectos han sido tratados / recogidos de métricas, segunda reunión de revisión si es necesario).
  11. Comporbación de los criterios de salida (revisiones formales, V°B°).
Roles y responsabilidades:

  1. Jefe de proyecto (o manager, inicia revisión , asigna tiempo, determona alcance de objetivos).
  2. Moderador (o moderator, dirige la reunión, es mediador en una discusión, concluye, planifica la revisión, ejecuta la revisión, seguimientos porsteriores).
  3. Autor (o author, redacta o es responsable de la revisión, expone su trabajo a la crítica y lleva a cabo los cambios recomendados).
  4. Revisor (o reviewer, inspector o comprobador, detector de defectos, desviaciones, área con conflictos, muestran diferentes perspectivas y roles del proceso, asisten a todas las reuniones).
  5. Escriba (o scribe, documentador universal, proyecta en reuniones las revisiones).
  6. Lista de comprobación (checklist de seguimiento de las revisiones).               
Tipos de revisiones (IEE 1028)
  1. Inspección ("inspection") (vetajas: sesiones formales y organizadas con roles bien definidos, requiere de actividades intensivas de preparación y seguimiento, son necesarios el moderador y el escriba, su objetivo principal es detectar defectos utilizando un método estructurado).
  2. Revisión guiada ("walkthrough") (preparación de los revisores previa a la reunión, sesiones abiertas, visualización de escenarios, demos, participación entre pares, reunión dirigida por el autor, no es necesario un moderador, a lo largo de la presentación por parte del autor , los revisores tratan de detectar desviaciones y / o áreas en conflictos ya sea en documentos, diseños, o modelos de datos ).
  3. Revisión técnica ("thecnical review") (¿es apto para el uso?, se requieren expertos externos, revisión entre pares o peer review, liderado por un moderador entrenado en su función no por el autor, preparación previa a la reunión por parte de los revisores, uso de lista de comprobación o lista de hallazgos, sus objetivos son: discutir durante la revisión, evaluar alternativas, detectar defectos, resolver problemas técnicos, comprobar la conformidad - estándares- planes- especificaicones- normativas ).
  4. Revisión informal ("informal review") (iniciada por el autor, involucrados los revisores, no es necesario una reunión, resultados pueden plasmarse en una lista, se inicia con un solicitud de revisión de un documento o compañero de trabajo, revisión entre pares, fácil de ejecutar, rentable, no requiere protocolo).
  5. Revisión de Gestión - Proceso de desarrollo de SW (Cmmi, ISO/IE 15504, TPI ).
  6. Documentos / Productos.
Factores de éxito de una revisión:

  1. Las revisiones deben ser orientadas al logro de los objetivos.
  2. El autor del objeto revisado debe ser motivado de una forma positiva por la revisión.
  3. Uso sistemático de las técnicas y plantillas implantadas.
  4. Uso de listas de comporbación mejoran la eficiencia de la revisión.
  5. El presupuesto de la revisión debe abarcar un 10% - 15 % del costo total de la revisión.
  6. Utilizar las experiencias aprendidas y hacer uso de retroalimentación en la mejora contínua.
  7. Se deben realizar en un ambiente de confianza.
  8. Los probadores son revisores valorados que contribuyen con la revisión.
  9. Involucrar a la gente adecuada en función de los objetivos  de la revisión.
Pregunta de examen:

24 Which of the following statements is NOT true:
a) inspection is the most formal review process
b) inspections should be led by a trained leader
c) managers can perform inspections on management documents
d) inspection is appropriate even when there are no written documents-->NOK, es la falsa
e) inspection compares documents with predecessor (source) documents

24 ¿Cuál de las siguientes afirmaciones no es verdadera :

a) la inspección es el proceso de  revisión mas formal.
b ) Las inspecciones deben ser dirigidos por un líder capacitado
c ) los administradores pueden llevar a cabo inspecciones en los documentos de gestión 
d ) la inspección es apropiado incluso cuando no hay documentos escritos-->NOK, es la falsa
e) inspección compara documentos con predecesoras ( ) documentos fuente

29 Unreachable code would best be found using:
a) code reviews-->OK
b) code inspections
c) a coverage tool
d) a test management tool
e) a static analysis tool


29 El código inaccecible, es mejor encontrarlo usando:
a) las revisiones de código-->OK
b) Las inspecciones de código
c) una herramienta de cobertura
d ) una herramienta de gestión de pruebas
e) una herramienta de análisis estático

32 Which expression best matches the following characteristics or review processes:
1. led by author
2. Undocumented
3. No management participation
4. Led by A trained moderator or leader
5. uses entry exit criteria

s) inspection
t) peer review
u) informal review
v) walkthrough

a) s = 4, t = 3, u = 2 and 5, v = 1
b) s = 4 and 5, t = 3, u = 2, v = 1-->OK
c) s = 1 and 5, t = 3, u = 2, v = 4
d) s = 5, t = 4, u = 3, v = 1 and 2
e) s = 4 and 5, t = 1, u = 2, v = 3

32 ¿Qué expresión se adapta mejor a los siguientes procesos  o características de revisión :
1. liderado por el autor
2. indocumentados
3. Sin la participación de la gestión
4. dirigido por un moderador o líder entrenado
5. utiliza criterios de salida de entrada

s) inspección
t) la revisión por pares
u) revisión informal
v ) tutorial

a) s = 4, t = 3, u = 2 and 5, v = 1
b) s = 4 and 5, t = 3, u = 2, v = 1-->OK
c) s = 1 and 5, t = 3, u = 2, v = 4
d) s = 5, t = 4, u = 3, v = 1 and 2
e) s = 4 and 5, t = 1, u = 2, v = 3

No hay comentarios:

Publicar un comentario