Este documento presenta los resultados de un mapeo sistemático de la literatura sobre la adopción de inspecciones de software. El mapeo encontró que la mayoría de los trabajos se enfocan en temas técnicos como procesos e inspecciones o factores de efectividad, y que la evidencia muestra una baja adopción debido a factores como las características percibidas del proceso y la falta de capacitación. Finalmente, algunas soluciones planteadas incluyen nuevos procesos de inspección y la adaptación del proceso al context
Criterios ESG: fundamentos, aplicaciones y beneficios
Software inspection adoption: A mapping study
1. Mapeo sistemático de la literatura
sobre la Adopción
de Inspecciones de Software
Darío Macchi Martín Solari
Universidad ORT Uruguay Universidad ORT Uruguay
Montevideo, Uruguay Montevideo, Uruguay
macchi@uni.ort.edu.uy martin.solari@ort.edu.uy
CI3S Centro de Investigación e Innovación
en Ingeniería de Software
CLEI 2012 XXXVIII Conferencia Latinoamericana en Informática, Octubre 2012, Medellín, Colombia
2. 2/13
Introducción
• Valor de actividades de V&V sobre todos los
artefactos generados al desarrollar software.
– Interesa la temprana detección de defectos.
• Inspecciones de software como herramienta
– Aplicable sobre cualquier artefacto (Aurum et al., 2002).
– Entre 65% y 85% de eficacia en remoción de defectos.
– Otros beneficios adicionales menos cuantificables.
• Motivación
– Estudiar la baja adopción de inspecciones de software
(Radice, 2001; Ciolkowski, Laitenberger y Biffl , 2003) en contraposición
con la abundancia de reportes positivos sobre su uso.
Mapeo Sistemático de la literatura sobre Adopción de Inspecciones de Software
Darío Macchi, Martín Solari
3. 3/13
Trabajos relacionados
• Sobre la baja adopción de inspecciones.
– Desconocimiento de la técnica y de su
implementación (Wiegers, 2006).
– Empresas no tienen el poder para realizar la
implementación del proceso (Iisakka et al., 1999).
– Salvo casos documentados, la industria en general no
realiza inspecciones (Brykczynski et al., 1994; Radice, 2001; Weller,
2002; Ciolkowski et al., 2003; Stewart & Priven, 2008).
Mapeo Sistemático de la literatura sobre Adopción de Inspecciones de Software
Darío Macchi, Martín Solari
4. 4/13
Método de investigación
Mapeo sistemático
• Preguntas de investigación
– RQ.1. Temas de interés en un marco temporal reciente?
– RQ.2. Evidencia sobre baja adopción?
– RQ.3. Factores causante de la baja adopción?
– RQ.4. Soluciones planteadas al respecto?
• Fuente de datos y estrategia de búsqueda
• Selección de estudios
• Clasificación de los artículos
• Extracción de datos y síntesis
Mapeo Sistemático de la literatura sobre Adopción de Inspecciones de Software
Darío Macchi, Martín Solari
5. 5/13
Clase/Subclase # Porcentaje
Resultados Vista Técnica (34) 52,3%
Factores de Efectividad 15 23,1%
Técnicas de Lectura 2 3,1%
RQ.1. Temas de Procesos 12 18,5%
interés en un marco Otros temas técnicos 5 7,7%
temporal reciente? Vista de gestión (6) 9,2%
Impacto de inspecciones en 3 4,6%
Proceso de desarrollo
Otros temas de gestión 3 4,6%
Otros temas Principales (25) 38,5%
Vista integral 3 4,6%
Estimación de defectos 3 4,6%
Herramientas de 8 12,3%
inspección
Aprendizaje 6 9,2%
Temas sin clasificar 5 7,7%
(64) 100%
Mapeo Sistemático de la literatura sobre Adopción de Inspecciones de Software
Darío Macchi, Martín Solari
6. 6/13
Resultados (RQ.1)
• El % de trabajos de subclase Procesos
(18,5%) y Factores de efectividad (23,1%) indica
contribuciones en forma de nuevas
propuestas (coincide con Laitenberger & Debaud, 2000).
• Variedad de propuestas dificultan y confunden
(Brykczynski, 1994).
• Que pasa con las propuestas clásicas?
• Además de la adopción, se plantea el
factor calidad con la que se adoptan las
técnicas.
Mapeo Sistemático de la literatura sobre Adopción de Inspecciones de Software
Darío Macchi, Martín Solari
7. 7/13
• No se ha logrado un amplio uso
Resultados de inspecciones de software
(Radice, 2001; Wiegers, 2006; Weller, 2002;
Mishra & Mishra, 2009; Kollanus, 2009).
RQ.2. Evidencia sobre
• No han tenido el éxito esperado
baja adopción? (14) (Radice, 2001) a pesar de los
esfuerzos para mejorar el
proceso (Denger & Shull, 2007; Remillard,
2005).
• Gap entre el conocimiento sobre
su utilidad y el estado real de la
práctica (Kollanus, 2009).
• Las revisiones llevadas a cabo
son no-sistemáticas y con pocos
conocimientos (Ciolkowski et al., 2003;
Denger & Shull, 2007).
Mapeo Sistemático de la literatura sobre Adopción de Inspecciones de Software
Darío Macchi, Martín Solari
8. 8/13
Resultados
RQ.3. Factores causante de la baja adopción?
• Debido a la cantidad (64) se codifican (13).
Factor #
Características propias del proceso o percibidas como parte del mismo 19
Falta de conocimiento y entrenamiento de los inspectores 9
Inspecciones son consideradas costosas (aumento del costo upfront) 5
Falta de adaptación y mejoras del proceso según el contexto donde se aplique 4
Falta de herramientas de gestión, soporte, análisis del proceso y sus resultados 4
Falta de tiempo asignado a las inspecciones durante la planificación 4
Falta de monitoreo y registro de la ejecución del proceso y de resultados 3
Malas experiencias previas y experiencias fallidas sin reportar 3
Falta o consumo intensivo de recursos 2
Mapeo Sistemático de la literatura sobre Adopción de Inspecciones de Software
Darío Macchi, Martín Solari
9. 9/13
Resultados (RQ.3)
• Características propias del proceso o
percibidas como parte del mismo (19).
• Rígido, riguroso.
• Complejidad evita adopción en pequeñas empresas.
• Depende de la experiencia del inspector.
• Difícil implementación con pocos recursos.
• Proceso no tecnológico.
• Difícil conexión entre esfuerzo y calidad final.
• Perdida de tiempo, no resuelve problemas reales del
equipo.
• Pesado, laborioso, aburrido, poco creativo.
Mapeo Sistemático de la literatura sobre Adopción de Inspecciones de Software
Darío Macchi, Martín Solari
10. 10/13
• Nuevos procesos de
Resultados inspección (Mishra & Mishra, 2009;
Denger & Shull, 2007)
RQ.4. Soluciones • El uso inspecciones de
planteadas al software es más un tema de
liderazgo que técnico (Komssi et al.,
respecto? 2010)
• Adaptar el proceso al contexto
sin quitar las partes más
importantes (Komssi et al., 2010; Shull &
Seaman, 2008)
• Uso de técnicas de lectura
sistemáticas para disminuir
dependencia respecto a la
experiencia del inspector
(Ciolkowski et al., 2003)
Mapeo Sistemático de la literatura sobre Adopción de Inspecciones de Software
Darío Macchi, Martín Solari
11. 11/13
Conclusiones
• 42% de artículos Procesos y Factores de
efectividad propuestas nuevas que deben probarse
empíricamente.
– Nuevas propuestas como forma de atacar baja
adopción.
• Factores principales: de percepción, capacitación
y de conexión entre esfuerzo y resultados.
• Relación entre factores de percepción y factores de
malas experiencias, fallidas y sin reportar(3)?.
• Relación entre vol. de trabajo en Vista Técnica y factores
encontrados?.
• Confirmación empírica de algunos factores en ciertas
condiciones y parámetros.
Mapeo Sistemático de la literatura sobre Adopción de Inspecciones de Software
Darío Macchi, Martín Solari
12. 12/13
Trabajos futuros
• Encuesta a profesionales para diagnosticar
adopción de técnicas de revisión en Uruguay.
– Hallazgos preliminares:
• No se usan inspecciones de software.
• Si se revisan varios artefactos de software con técnicas
menos formales.
– Material para un nuevo artículo.
– Aporte a tesis de maestría sobre uso de técnicas
de revisión estática en la industria.
Mapeo Sistemático de la literatura sobre Adopción de Inspecciones de Software
Darío Macchi, Martín Solari
13. 13/13
Preguntas
macchi@uni.ort.edu.uy
Mapeo Sistemático de la literatura sobre Adopción de Inspecciones de Software
Darío Macchi, Martín Solari
Notas do Editor
La inspección de software es el proceso de leerartefactos de software paraencontrardefectos
Comenzamos esta presentación hablando de que nos motivó a realizar este trabajo. V&V sobre artefactosEn primer lugar hablamos de la importancia que tienen las actividades de V&V sobre todo en la temprana detección de defectos. El costo de corregir un defecto aumenta cuanto más tarde sea detectadoInspecciones de softwarePartiendo de la premisa anterior, es natural pensar en las inspecciones de software como la herramienta para la temprana detección de defectos en cualquier artefacto de software. Beneficios adicionales como trabajo en equipo, transferencia de conocimiento y entrenamiento.
Wiegers dice que son pocos lo que conocen la técnica y muchos menos lo que saben como aplicarla.Iisakka habla de poder desde el punto de vista de recursos y relación inversión-beneficios en función del tiempo.
Mapeo sistemático – estudio secundario, al igual que una SLR Construir clasificaciones Conducir análisis temáticos Obtener un mapa visual del conocimiento existente dentro de un tema amplio Determinar la cobertura literaria de distintos tópicos.Preguntas La idea es obtener un conocimiento más detallada del tema y una vista más integral al mismo tiempo RQ1 – Determinar áreas de interés en los últimos años. RQ2 – Estamos solos? RQ3 – Ya que no estamos solos, conocer posibles causas. RQ4 – Conocer posibles causas.Fuente de datos y estrategia de búsqueda Publicaciones arbitradas del área computerscience en SciVerse Scopus, 01/2007 - 07/2011. Cadena refinada en búsquedas sucesivas por problemas de terminología (“sinónimos”).Selección de estudios Definición de criterio de inclusión y exclusiónClasificación de los artículos Se utiliza taxonomía definida en (Kollanus et al., 2009)Tres vistas principales, cada cuál con diversas sub-vistas: Vista técnica: Factores de efectividad, Técnicas de lectura. Vista de Gestión: Impacto de inspecciones en proceso de desarrollo. Otros: vista integral, estimación de defectos, aprendizaje.Extracción de datos y síntesis Se realizó la lectura completa de los artículos.
Procesos – Modificaciones de procesotradicional y nuevaspropuestasFactores de efectividad – mejoras incrementales que prometen aumentar los beneficios de las inspeccionesVariedad de propuestas no logran salir del ambiente académico.Confusión entre distintas propuestas.Los problemas de adopción se han estado intentando atacar creando o modificando técnicas de inspección.
De los 64 artículos resultantes, 20 aportaron factores a la lista.Se identificaron 64 factores en total, por lo que se realiza una codificación a los efectos de que la lista se haga más manejable.Proceso de inspección es muy rígido y riguroso.Difícil su implementación con pocos recursos.Difícil conexión con la calidad final del producto.Proceso aburrido, laborioso, pesado y poco creativo.Dificultad de realizar inspecciones correctamente. Curva de aprendizaje implica que a los desarrolladores les lleve algún tiempo entender cómo encontrar defectos efectivamente.Falta de conocimiento no solo técnico sino gerencial (beneficios y responsabilidades).
Percepción (subjetiva) de desarrolladores respecto a inspecciones.