PDF de programación - Marco para evaluar garantía en desarrollos de software

Imágen de pdf Marco para evaluar garantía en desarrollos de software

Marco para evaluar garantía en desarrollos de softwaregráfica de visualizaciones

Publicado el 14 de Enero del 2017
486 visualizaciones desde el 14 de Enero del 2017
585,4 KB
12 paginas
Creado hace 5a (11/09/2015)
Marco para evaluar garantía en desarrollos de software

Pedro E. Colla

Maestría en Sistemas Embebidos – Instituto Universitario Aeronáutico

Av. Fuerza Aérea Km 8 ½ - (5000) Ciudad de Córdoba – Córdoba - Argentina ([email protected])

Resumen. Este artículo expone un marco simplificado para estudiar los costos de garantía en el
desarrollo de software. Se proponen métodos para obtener los parámetros requeridos por los modelos
de confiabilidad citados en la bibliografía desde métricas de proceso comúnmente encontradas en la
línea de base de organizaciones desarrolladoras. El marco propuesto es validado mediante técnicas
de simulación por el método de Montecarlo para explorar la magnitud de los resultados y la sensibi-
lidad a los parámetros utilizados. Se extraen conclusiones preliminares y se identifican líneas de
trabajo futuras.

Palabras Claves. Garantía de software, proceso de desarrollo de software, SEI-CMMI™

1

Introducción

Se espera de las organizaciones desarrolladoras de software que para ser competitivas
entreguen productos en tiempo y dentro de presupuesto, además de libres de falla, a sus
clientes. Incluso cuando la aplicación sea compleja. Estos son requisitos que hasta hace
no mucho tiempo no iban más allá de las buenas intenciones en la industria como prác-
tica generalizada pero que actualmente satisfacerlos puede ser la diferencia para una
organización entre ser exitosa y no serlo.
El ciclo de vida para el desarrollo de software (SDLC por sus siglas en inglés software
development life cycle) debe por lo tanto incluir actividades distribuidas en fases o eta-
pas tendientes a alcanzar estos objetivos. A pesar de los avances significativos en la
tecnología de desarrollo, y el estado del arte en las disciplinas de ingeniería de software,
el potencial para introducir defectos durante el ciclo de vida sigue siendo importante.
Puesto que se puede afirmar que en el presente estado del arte no es posible producir
software completamente libre de defectos, el re trabajo resultante para solucionarlos
junto con la pobre gestión de cambios suelen ser las causas raíz de retrasos en las en-
tregas y excesos de presupuesto en los proyectos.
Los clientes, por su parte, demandan que como parte de los servicios provistos se in-
cluya el compromiso para garantizar el software entregado a partir de solucionar los
defectos encontrados durante su uso durante un tiempo acordado, denominado período
de garantía. La creciente integración de sistemas embebidos en bienes industriales y
de consumo, los que usualmente requieren proporcionar garantías como parte de su
estructura de comercialización, profundizan la necesidad proveer un marco para la
comprensión sobre como proveer garantías sobre el software que contienen. La garantía
a proveer puede incluir desde la reparación a costo del proveedor del defecto hasta el
reconocimiento de multas que bajo determinadas condiciones reparen al cliente de los
impactos en su negocio que las fallas pudieran ocasionar.
Para implementar estos mecanismos los proveedores de software, por su parte, enfren-
tan una situación de mucha competencia que les impide simplemente agregar una es-
timación razonable de los costos de garantía en que incurrirán; la matriz financiera de
la cuestión favorece abordar las causas raíz. Por lo tanto es necesario entregar los pro-
ductos de software con la menor cantidad posible de defectos que pudieran aparecer
durante el período de garantía.

ASSE 2015, 16º Simposio Argentino de Ingeniería de Software. 44 JAIIO - ASSE 2015 - ISSN: 2451-759314 Para abordar la cuestión del pronóstico de los defectos Musa et.al (Musa, 1987) afirma
que la respuesta tradicional ha sido que se debe realizar un proceso de validación y
verificación (test) exhaustivo de los componentes del software contra un conjunto de
requerimientos dado. Esta postura no aborda la cuestión fundamental sobre el esfuerzo
que demandará y por cuanto tiempo, ambos elementos cruciales para determinar la via-
bilidad económica de hacerlo.
La bibliografía expone modelos estadísticos para estudiar este problema que son teóri-
camente robustos y con significativa validación empírica Tal et. al. (Tal, 2002). Estos
proveen herramientas para permitir el planeamiento y monitoreo de los procesos de test
hasta que se alcanzan determinados objetivos de defectos remanentes al momento de la
liberación que satisfagan un razonable equilibrio entre los objetivos técnicos de presta-
ciones y confiabilidad, así como las metas financieras del proyecto.
Se han presentado en tal sentido estudios que permiten establecer criterios de liberación
a producción para balancear el tiempo y esfuerzo dedicado al test y la confiabilidad
resultante del software luego de su liberación. Okumoto et al. (Okumoto, 1980) estudió
el problema del tiempo óptimo de liberación bajo restricciones de costo y confiabilidad.
Yamada et al. (Yamada, 1987) sugiere criterios para establecer el óptimo de liberación
considerando costos de garantía y requisitos de confiabilidad. Yang et al. (Yang, 2000)
estudió el perfil de confiabilidad operativo en modelos de evaluación de software. Tal
et al. (Tal, 2002) propuso criterios estadísticos que optimizan la confiabilidad del soft-
ware liberado. Jain et al. (Jain, 2001) investigó consideraciones de modelos híbridos
para la predicción de costos totales de garantía a ser reservados incluyendo efectos del
valor tiempo del dinero. Popstojanova et al (Popstojanova, 2001) estudiaron las consi-
deraciones de arquitectura a ser tenidas en cuenta al momento de evaluar la confiabili-
dad de un sistema basado en software. Yamada et al. (Yamada, 1993) propone estrate-
gias de implementación de liberación óptima de acuerdo al ciclo de vida y la tasa de
descuento financiera del proyecto. Prince Williams et al. (Williams, 2007) estudió el
problema de estrategias de prueba y liberación óptimas para garantías por tiempos es-
pecíficos. Pham (Pham, 2003) propone el modelado del costo total de producción de
software bajo garantía teniendo en cuenta imperfecciones en el proceso de test y co-
rrección de los defectos durante el ciclo de vida para distintos modelos de ciclo de vida
y penalidades. Xie et al. (Xie, 2003) realizó aportes sobre los efectos de la depuración
imperfecta de defectos y su impacto en el costo de desarrollo, lo que a su vez afecta la
determinación de la estrategia óptima de liberación. Bhaskar (Bhaskar, 2006) realiza
aportes sobre el modelado de costos basados en la criticidad de la falla y el costo de su
ocurrencia durante diferentes fases del desarrollo en una estrategia de liberación con-
sistente en sucesivas liberaciones (releases en inglés).
Rinsaka (Rinsaka & Dohi, 2005) estudia el problema de determinar el período óptimo
de garantía bajo diferentes circunstancias operacionales. Lai (Lai, 2011) aporta un es-
tudio de cuando liberar el software desde la perspectiva de los modelos de confiabili-
dad. Por su parte Bohun et.al (Bohun, 2004) realiza aportes que permiten estudiar la
optimización conjunta de los costos asociados a calidad y garantía a partir de satisfacer
los componentes de un vector de requisitos de calidad dados.
Por su parte es un hecho conocido en la industria (Westland,J.C., 2002) que cualquier
estrategia basada en contener los defectos una vez que el aplicativo ha sido liberado a
producción no solo creará riesgos para la cadena de valor que soporte, sino que enfren-
tará costos para la detección y remoción de los defectos que pueden ser órdenes de
magnitud superiores a que fueran removidos en su ambiente original de desarrollo.
Sin embargo, los modelos aplicados por los investigadores tienen dificultades en su
aplicación práctica pues el óptimo para la liberación de un software está fuertemente

ASSE 2015, 16º Simposio Argentino de Ingeniería de Software. 44 JAIIO - ASSE 2015 - ISSN: 2451-759315 influenciado por decisiones pragmáticas relacionadas con el calendario comprometido,
necesidades del negocio subyacente y factores presupuestarios antes que la evaluación
objetiva de la calidad del software bajo desarrollo. Los modelos propuestos requieren
para su cálculo, además, valores de parámetros que no siempre las organizaciones tie-
nen facilidad para calcular a partir de las métricas habituales de gestión.
Debido a este factor en no pocas ocasiones la estrategia del cálculo luce lo suficiente-
mente engorrosa que se opta por simplemente realizar el test hasta que el calendario lo
permita, lo que no es sorprendente que produzca resultados poco satisfactorios.
Una estrategia racional para abordar esta cuestión consiste en modelar el problema de
forma de obtener resultados cualitativos compatibles con la realidad y cuantitativos con
una aproximación razonable a partir del uso de métricas organizacionales obtenidas
durante la gestión del proyecto o provenientes de una línea de base organizacional
(baseline en inglés) de métricas históricas. De esta manera se puede proyectar que can-
tidad de defectos futuros esperar, lo que permite planear cuales son las implicancias
financieras y técnicas que será necesario afrontar durante el período de garantía pac-
tado, asegurándose que las provisiones necesarias no restan competitividad al provee-
dor.
Por otra parte, e independientemente de la flexibilidad en el momento de la liberación,
es necesario comprender qué factores del proceso de desarrollo es necesario gestionar
para poder satisfacer requerimientos de garantía en el mercado que se haya elegido
servir; de tal manera que se logre realizar estas entregas en forma rentable para la orga-
nización proveedora a partir de sus propias capacidades operativas.
La contribución de éste artículo es intentar integrar las distintas fuentes citadas con una
perspe
  • Links de descarga
http://lwp-l.com/pdf1608

Comentarios de: Marco para evaluar garantía en desarrollos de software (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad