Ingeniería del Software basada en la
evidencia
Marcela Genero Bocco
Grupo Alarcos
[email protected]
Universidad de Castilla-La Mancha
Escuela Superior de Informática
Departamento de Tecnologías y Sistemas de Información
Ciudad Real - España
2
1
•
•
Introducción a la ISBE
Introducción a los métodos empíricos
• Tipos de estudios empíricos
• Experimentos
Conceptos generales
Proceso experimental
• Ejemplos
• Réplicas
• Agregación de resultados
• Recomendaciones
• Conclusiones
• Literatura relevante
Contenido
3
Introducción a la ISBE
Conceptos
“Trabajando con evidencias científicas
en lugar de con suposiciones, el
desarrollo de software se convertirá en
una verdadera disciplina de
ingeniería”
Ingeniería del software basada
en la evidencia (ISBE)
4
2
Introducción a la ISBE
Objetivos
Objetivo de la ISBE:
“proporcionar los medios por los que la mejor
evidencia actual de la investigación se pueda
integrar con la experiencia práctica y los valores
humanos en el proceso de la
toma de decisiones sobre el desarrollo
y mantenimiento de software”
Barbara A. Kitchenham, Tore Dybå, Magne Jørgensen:
Evidence-Based Software Engineering. ICSE 2004: 273-281
Tore Dybå, Barbara A. Kitchenham, Magne Jørgensen:
Evidence-Based Software Engineering for Practitioners. IEEE
Software 22(1): 58-65 (2005)
5
Introducción a la IBSE
Enseñanza de la ISBE
¿Por qué es importante impartir enseñanza sobre
ISBE?
• Proporciona a los futuros profesionales el conocimiento, la
la actitud y las habilidades que les permitan
experiencia,
tomar mejores decisiones.
6
3
Introducción a la ISBE
Contextualización de evidencias
• No es posible obtener
resultados válidos
universalmente
• No tienen sentido las preguntas universales
"¿Qué es mejor: programación en solitario o
programación por pares? ¿Probar al
inicio o al
final?
Contextualizar la evidencia
¿Qué funciona para quién, dónde, cuándo, y por qué?
7
Introducción a la ISBE
Colaboración universidad-industria
Esencial !!!! Colaboración
entre universidad e industria
Universidad
Industria
8
4
Introducción a la ISBE
Colaboración universidad-industria
Some Do’s and Don’ts of
Industrial Collaboration
Anna Sandberg, Lars Pareto,
Thomas Arts.
Agile Collaborative Research:
Action Principles for Industry-
Academia Collaboration.
IEEE Software 28(4): 74-83 (2011).
9
Introducción a la ISBE
Colaboración universidad-industria
Según Sandberg et al. (2011) los factores críticos para la buena
colaboración entre industria y academia son:
•
Involucrar a la dirección en la formulación del problema y la
gestión y conducción de la investigación.
• Tener acceso a los mejores empleados y competencias de
la empresa.
• Ser capaz de comunicar ideas, progreso, resultados, etc.
• Escoger temas de interés durante un considerable periodo
de tiempo.
• Abordar problemas reales de la industria.
• Alinear los resultados con los objetivos de la industria.
• Obtener resultados con un impacto real en la práctica.
• Generar nuevas ideas, conocimiento, patentes, procesos,
métodos, técnicas y publicaciones.
10
5
Introducción a la ISBE
Métodos para recopilar evidencia en la IS
• Metodos primarios: utilizados para realizar
estudios con el objetivo de obtener evidencia
empírica sobra un tema de interés.
•
Experimentos
•
•
Estudios de casos
Encuestas
• Métodos secundarios: permiten sintetizar
obtenida
en
estudios
la
primarios.
evidencia
realizados
•
Revisiones sistemáticas de la literatura (SLRs)
• Mapeos sistemáticos de la literatura (SMSs)
•
Estudios terciarios
•
•
Introducción a la ISBE
Introducción a los métodos empíricos
• Tipos de estudios empíricos
• Experimentos
Conceptos generales
Proceso experimental
• Ejemplos
• Réplicas
• Agregación de resultados
• Recomendaciones
• Conclusiones
• Literatura relevante
11
Contenido
12
6
Introducción a los métodos empíricos
Objetivos de los estudios empíricos
• Los
estudios
empíricos
crear
conocimiento que puede mejorar la práctica de la
IS
Aplicar los conceptos y técnicas en la práctica
permiten
de la IS
Añadir experiencias sobre su aplicación al
"cuerpo de conocimiento" de la IS
Teoría, Cuerpo de
conocimiento de IS
Práctica, Proyectos de IS
Conceptos
Conceptos aplicados,
Experiencias
13
Introducción a los métodos empíricos
Objetivos de los estudios empíricos
• Construir conocimiento y comprensión sobre la
IS en la práctica
Para usar en futuros proyectos
Para comparación (benchmarking)
• Evaluar nuevas tecnologías
Por ej.: ¿Mejora una nueva técnica/método la calidad?
Comprender en qué contexto funciona mejor una
técnica
EVIDENCIA
14
7
Introducción a los métodos empíricos
Temas de los estudios empíricos
Personas
personalidad de los desarrolladores y su
impacto en ...
Procesos
Ágiles, cascada, RUP, CMM, …
Prácticas
Programación por pares, ...
Tecnología
OO vs. Non-OO, …
15
Introducción a los métodos empíricos
Ejemplos de uso de los estudios empíricos
• Para probar (o refutar) teorías, mitos, creencias
populares
Por ejemplo: “Creo que el método A es mejor
que el B”
• Encontrar relaciones
Por ejemplo: Relación entre la mantenibilidad y
LoC
• Para elegir entre modelos/técnicas/herramientas:
Por ejemplo: UML y ER para el modelado de
datos
16
8
•
•
Introducción a la IBSE
Introducción a los métodos empíricos
• Tipos de estudios empíricos
• Experimentos
Conceptos generales
Proceso experimental
• Ejemplos
• Réplicas
• Agregación de resultados
• Recomendaciones
• Conclusiones
• Literatura relevante
Contenido
17
Tipos de estudios empíricos
Encuestas
¿Cuándo son apropiadas?: para un análisis exploratorio temprano, se
suelen hacer en retrospectiva cuando una técnica/herramienta ha sido
utilizada durante un tiempo. Permite descubrir factores de influencia,
diferencias y similitudes, etc.
Nivel de control: bajo.
Recolección de datos: (online) cuestionarios, entrevistas.
los
Análisis de datos:
encuestados, análisis de asociación y de tendencias, la consistencia de
las puntuaciones.
comparar diferentes poblaciones entre
Pros:
estudios de casos), aplicable en la práctica.
la generalización de los resultados es mas fácil (que en los
Cons: poco control de variables, el diseño del cuestionario es difícil
(validez,
la búsqueda de encuestados puede ser un reto,
necesita un gran número de encuestados, la ejecución puede tardar más
tiempo.
fiabilidad),
18
9
Tipos de estudios empíricos
Encuestas
:
Encuesta realizada via web sobre la
adopción y el uso de UML en la industria
19
Tipos de estudios empíricos
Estudios de casos
¿Cuándo son apropiados?: el fenómeno bajo estudio no se puede
separar del contexto; queremos evaluar el cambio en una situación
típica. Son estudios observacionales, se realizan generalmente en
entornos industriales.
Nivel de control: medio
Recolección de datos: medidas de productos y de procesos,
cuestionarios, entrevistas
Análisis de datos: generalmente cualitativo, pero también puede ser
cuantitativo
Pros: aplicable en proyectos reales, ayudan a contestar preguntas del tipo
“porque”, “como”, pueden generar nuevas teorias/explicaciones
Cons:
la generalización es a menudo difícil y cuestionada por
los
revisores, el
impacto de los factores de confusión es difícil evaluar /
aislar, el análisis de los resultados es subjetivo, por lo general es una
labor muy intensa en la recolección de datos.
20
10
Tipos de estudios empíricos
Estudio de casos
Integración de XP con modelos de gestión
tradicionales (Ericsson y ABB)
21
Tipos de estudios empíricos
Experimentos
¿Cuándo son apropiados?: control sobre quien esta usando una
tecnología,
cirscunstancias.
Investigación de las tareas autónomas, donde se pueden obtener
resultados de inmediato. Se realizan off-line (en laboratorios)
cuándo,
dónde
bajo
que
y
Nivel de control: alto
Recolección de datos: medición de productos y procesos,
cuestionarios
Anáilis de datos: estadísticos descriptivos, de test de hipótesis
Pros: ayudan a establecer relaciones causales, confrimar teorías
Cons: representatividad? Es un reto planificarlos en en un entorno
requiere
aplicación
industrial
contexto
en
el
la
real,
compromisos
22
11
Tipos de estudios empíricos
Experimentos
¿Ayuda el uso de los diagramas UML a
realizar el mantenimiento del software
mejor y más rápido?
23
Tipos de estudios empíricos
Comparación
• Control de la ejecución. Cantidad de control que el investigador
tiene sobre el estudio
investigador puede
• Control de la medición. Nivel en que el
decidir sobre que medidas deben ser
recolectadas y ser
incluidas o excluidas durante la ejecución del estudio (en una
encuesta sólo tenemos opiniones no atributos medibles
directamente)
• Coste de la investigación. Relativo a la necesidad de recursos.
• Facilidad de réplica. Facilidad de volver a llevar a cabo el
mismo estudio bajo las mismas condiciones pero con distinta
población
24
12
Tipos de estudios empíricos
Comparación
Factor
Encuesta Estudio de
Experimento
caso
Control de ejecución
NO
NO
Control de medición
NO
SI
SI
SI
Coste de investigación
BAJO
MEDIO
ALTO
Facilidad de réplica
ALTO
BAJO
ALTO
25
Ciclo del vida del conocimiento empírico
Tipos de estudios empíricos
Combinación de métodos
Idea inical
Entrevistas exploratorias
Encuestas
Experimentos
Estudios de casos industriales
26
13
•
•
Introducción a la IBSE
Introducción a los métodos empíricos
• Tipos de estudios empíricos
• Experimentos
Conceptos generales
Proceso experimental
• Ejemplos
• Réplicas
• Agregación de resultados
• Recomendaciones
• Conclusiones
• Literatura relevante
Contenido
27
Experimentos
Conceptos generales
Un experimento es una investigación empírica que
investiga las relaciones de causa-efecto. Los
experimentos se llevan a cabo cuando el
investigador quiere el
Comentarios de: Ingeniería del Software basada en la evidencia (0)
No hay comentarios