+ Cómo ahorrar dinero con Software Quality



Documentos relacionados
Tecnología de la Información. Administración de Recursos Informáticos

LinqToAmazon. Informe Final de Verificación. Versión 1.0. Historia de revisiones

Elementos requeridos para crearlos (ejemplo: el compilador)

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Administración por Procesos contra Funciones

DE VIDA PARA EL DESARROLLO DE SISTEMAS

La medición funcional de software con SCRUM

6 Anexos: 6.1 Definición de Rup:

1.1 Aseguramiento de la calidad del software

COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE


Empresa Financiera Herramientas de SW Servicios

Marco Normativo de IT

M.T.I. Arturo López Saldiña

Qué es TypMan?

AHORRACOM SOLUCIONES AVANZADAS S.L. Avda. de la Industria 13, Oficina Alcobendas, Madrid.

LOGISTICA D E COMPRAS

Señor A/P. Lino Bessonart FEMI Presente Ref.: 181/2009

METODOLOGÍA PARA LA MEJORA Y DIGITALIZACIÓN DE TRÁMITES. Etapa 1: Diagnóstico Cómo es mi proceso actual?

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

BPMN Business Process Modeling Notation

PLAN DE MÉTRICAS EN OCHO PASOS

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

configurándola para ser usada dentro del área de QA de una fábrica de software.

Testing. Tipos, Planificación y Ejecución de Pruebas

Tecnologías para una Educación de Calidad Cierre de Brecha Digital Estándar de Coordinación Informática Ámbito de Mantenimiento.

<Generador de exámenes> Visión preliminar

Unidad VI: Supervisión y Revisión del proyecto

Sistema PYMES Ventas e Inventarios H&S

Cómo mejorar la calidad del software a través de una gestión adecuada de la productividad de las pruebas

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un

Planificación en Team Foundation Server 2010

CMMI (Capability Maturity Model Integrated)

Calidad Escuela de Ingeniería de Sistemas y Computación Desarrol o de Software II Agosto Diciembre 2007

1.1 EL ESTUDIO TÉCNICO

IDEA DE NEGOCIO EDUGER LOGISTIC GERMAN EDUARDO BALSERO MORALES PROFESOR: GERARDO ANDRES ARCOS CELIS

Ventajas del software del SIGOB para las instituciones

E Evaluación de pilotos. : Versión: 0.1 Fecha: 07/02/13 Autor: Pablo Martín Pablo.martin@logica.com

Seis Sigma. Nueva filosofía Administrativa.

Fábrica de Software. Documento de Proceso de la Gerencia de SQA

Mesa de Ayuda Interna

Mesa de Ayuda Interna

PDSM: PROCESO DE DESARROLLO DE SOFTWARE MIXTO COMBINANDO RUP Y SCRUM. Mariani, María Florencia Okabe, Evangelina

Proyecto Tutelkán Tutelkan Reference Process (TRP) Versión 2.0

Presentación de Pyramid Data Warehouse

Cadena de valor. Cadena de valor genérica. Actividades primarias. Actividades de apoyo Actividades primarias

CMM - Capability Maturity Model. Estructura de CMM... Componentes de CMM. Estructura de CMM

Aseguramiento de la Calidad, QA. Materia: Desarrollo Industrial de Software Alumno: David Alejandro González Díaz y Froylan Ruiz Cirilo.

AMS Group LTDA - Asset Management Solutions

Planeación del Proyecto de Software:

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Recursos HELP DESK Biblioteca 2012

PRU. Fundamento Institucional. Objetivos. Alcance

Gestión de Procesos de Compra. Documentación Técnico Comercial

Análisis de Resultados

Sistemas de Información Geográficos (SIG o GIS)

Testing ágil en las Empresas de Software del. Cluster TIC Villa María

Diseño de una estrategia tecnológica de Customer Relationship Management (CRM) para la empresa BPM de México. CAPITULO 6

LINQ TO AMAZON. Evaluación de Verificación. Versión 1.0. Historia de revisiones

Business Process Management(BPM)

ing Solution La forma más efectiva de llegar a sus clientes.

Sistema para Gestión Hotelera Visión

calidad brochure Software Quality Assurance/Project Management IDEOLOGY INTELLIGENCE INFORMATION IMPR INNOVATION ISO 9001:2000

Guía de Apoyo Project Web Access. (Jefe de Proyectos)

Mantenimiento de Sistemas de Información

SOLICITUD DE DESARROLLO Y ACTUALIZACIÓN DE APLICACIONES G OBIERNO D E L A CIUDAD DE BUENOS AIRES

CREACIÓN DE UN DEPARTAMENTO DE RELACIONES PÚBLICAS PARA LOS ALMACENES EL CHOCHO Y EL CAMPEÓN

P.S.P. Programa Educativo. Tecnologías de la Información y Comunicación. Alumno. José Alfredo Ramírez Jaguey

Gestión de calidad en el software. Calidad en el Desarrollo de Software. Spoilage. Spoilage

GESTIÓN DE SOFTWARE INFORME SOBRE. Evaluación de Productos UNIVERSIDAD DE LA REPUBLICA - FACULTAD DE INGENIERÍA. Grupo 2

2 EL DOCUMENTO DE ESPECIFICACIONES

TECNOLOGICO DE ESTUDIOS SUPERIORES DE ECATEPEC CALIDAD DE SOFTWARE Guía para Examen Segundo Parcial Grupo 6501

Sesión No. 12. Contextualización: Nombre de la sesión: SAP segunda parte PAQUETERÍA CONTABLE

Sistema de Administración de Farmacias Plan de SQA. Historia de revisiones

CAPITULO V RESULTADOS. Resultados

Plan de Gestión de Configuración. Universidad Nacional de la Patagonia Austral

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

Consultoría en Automatización de Procedimientos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

EJEMPLO DE REPORTE DE LIBERTAD FINANCIERA

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

CAPÍTULO 2 PROBLEMÁTICA, OBJETIVOS Y ALCANCE. El presente capítulo describe la problemática que la agencia presenta en su área de servicio.

ACERCA DEL COACHING. Acerca del Coaching Página 1/5

ITZOFT, una metodología de desarrollo de sistemas basada en el Proceso Unificado de Rational. Resumen

MARCO METODOLÓGICO CAPITULO III

PROCEDIMIENTO ESPECÍFICO. Código G Edición 0

Guía paso a paso para la cumplimentación del formulario de candidatura

Anteproyecto Fin de Carrera

RECOMENDACIONES DE INVESTIGACIÓN FUTURA.

ITIL FOUNDATION V3 2011

DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE

Manual de uso. Sonar. Manual usuario Testlink 1/20

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

Administración de proyectos. Organizar, planificar y programar los proyectos de software

CAPÍTULO 2. MODELOS Y ESTÁNDARES DE CALIDAD DE SOFTWARE

EL MARKETING RELACIONAL Y NUEVAS TENDENCIAS DE MARKETING

Planificación, Gestión y Desarrollo de Proyectos

Presentación de servicios

Planeación. El proceso administrativo, herramienta fundamental

K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2

Transcripción:

+ Cómo ahorrar dinero con Software Quality Qué es Software Quality Assurance? Porqué facilita el ahorro de dinero? Introducción El objetivo de este documento es explicar qué es Software Quality Assurance, cuáles son los beneficios económicos de su implementación y cómo interviene en las etapas del proceso de desarrollo. Objetivos La implementación de una disciplina de SQA tiene como principal objetivo aumentar la calidad de los entregables durante todo el proceso de desarrollo. Muchos requerimientos de calidad, sobre todo aquellos que tienen que ver con la pérformance, la usabilidad, la carga, la disponibilidad, etc. pueden ser tratados como riesgos. Es decir que, el hecho de que uno de ellos no se cumpla, implica un riesgo. Entonces, al asegurar la calidad del software durante su proceso, se disminuyen los riesgos asociados, aumentando la predictibilidad del desarrollo de software. Esto trae aparejado una serie de beneficios de variada visibilidad. Entre los que más se destacan, podemos nombrar: Reducción de los tiempos de desarrollo, principalmente el tiempo de retrabajo generado en la fase de testing. Optimización del uso de los recursos, que disminuye el costo de la infraestructura necesaria para soportar la aplicación. Disminución del costo de mantenimiento, ya que se generan aplicaciones más seguras y estables. Aumento de la permeabilidad al cambio y facilidad para medir el impacto del mismo Asegura el cumplimiento de los requerimientos, tanto los funcionales como los de calidad. Promueve el seguimiento de los estándares definidos Provee información sobre la calidad del proyecto a los stake holders con menor conocimiento técnico. Los desarrollos se vuelven más predecibles, facilitando las estimaciones Epidata Consulting Como ahorrar dinero con Software Quality? 1

Actividades de SQA en el Proceso de desarrollo SQA es una disciplina que está compuesta por una serie de actividades que acompañan al proceso de desarrollo. El objetivo de estas tareas es aumentar, administrar y monitorear la calidad de los entregables producidos. Para poder identificar estas actividades y el momento oportuno para realizarlas es necesario revisar el ciclo de vida de un proyecto. Para esto nos basamos en el análisis de fases/disciplinas/esfuerzo realizado en RUP por ser un proceso muy difundido en el mercado, aunque el mismo análisis puede aplicarse a otros procesos de desarrollo. Figura 1: fases y disciplinas de RUP Analizando el diagrama, notamos que el esfuerzo de cada disciplina varía según la fase del proyecto. De aquí se deriva que el momento para controlar la calidad de cada disciplina es cuando mayor esfuerzo se le dedica. Figura 2: fases y disciplinas de RUP: relación con las actividades de SQA Epidata Consulting Como ahorrar dinero con Software Quality? 2

En iniciativas de SQA saludables el impacto de la misma debería verse reflajado en todos los artefactos generados en el proceso de desarrollo. No limitándose solamente al testing o verificación funcional, la cuál es una acepción bastante difundida de la función de SQA, pero diametralmente desacertada. En una perspectiva más amplia del rol sinérgico de SQA en un proyecto de desarrollo, podemos encontrar, entre otras, las siguientes las actividades: Verificación de requerimientos: esta actividad se concentra en validar la completitud, correctitud, claridad y no ambigüedad de los requerimientos de un sistema. Validación y verificación de documentación: esta actividad se encarga de controlar la correctitud, completitud y no ambigüedad de la documentación. La documentación en UML es muy útil para esta práctica por el poder semántico que tiene y por la posibilidad de validar sintácticamente la documentación. Validación de arquitectura: esta actividad es muy importante para evaluar la factibilidad de cumplir con los requerimientos no funcionales y detectar de forma temprana los principales riesgos asociados al proyecto. Control de diseño: esta actividad se enfoca en validar el diseño lógico de los componentes, su distribución, interacción e identificar componentes que puedan ser reutilizables y el alcance de los requerimientos de calidad definidos por parte de cada uno de ellos. Control de código: se subdivide en 2 actividades: Control estático del código: es la validación del código contra un conjunto de reglas, best practices y estándares predefinidos. Control dinámico del código: el control se focaliza en el uso de los recursos que hace la aplicación y la cobertura del código que hacen los test unitarios De todas estas tareas las más comunes son las de testeo. y, aunque tienen un alto impacto ya que previenen que el grueso de los defectos sean percibidos por el usuario final, lamentablemente, como veremos luego, estas actividades son las que traen el menor costo beneficio por estar en etapas tardías del proceso de desarrollo. Tareas Es necesario tener en cuenta que para realizar algunas de estas actividades primero es necesario realizar otras actividades como ser: Definición de estándares y best practices de desarrollo Elección de herramientas para documentar y desarrollar. Etc. Estas tareas tienen que ver con el hecho que para poder validad la calidad de algo, es necesario contar, previamente, con la definición, requerimiento o estándar contra el cual validar. Epidata Consulting Como ahorrar dinero con Software Quality? 3

Análisis de costos Implementar alguna o todas de las actividades anteriormente descriptas implica tiempo, esfuerzo y obviamente, dinero. Por esto es necesario analizar el ROI de esta implementación. Para esto nos basaremos en un estudio que analiza las etapas de un proyecto tradicional y los defectos introducidos, los encontrados y el costo de su reparación. Como se puede apreciar, la introducción del 85% de los defectos de la aplicación se produce al inicio de la etapa de construcción. Pero estos defectos se van encontrando paulatinamente, en etapas posteriores. Figura 3: distribución de los errores a lo largo de las etapas de desarrollo y su costo asociado Mientras más se demoren en encontrar un error, más costoso será repararlo. Por esto se proponen establecer actividades que acompañen al proceso de desarrollo (en lugar de puntos de control) para maximizar los defectos encontrados en cada etapa y minimizar la cantidad e impacto de los defectos que se encuentran en las etapas finales. Tratemos de calcular el costo de un defecto encontrado durante el testing o luego de la puesta en producción, donde el costo asociado no es sólo el de generar una nueva versión, sino que se le suma el costo de del test de regresión, la nueva puesta en producción y el tiempo que este bajo el sistema. Por dónde empezamos? Implementar todas las actividades de SQA al mismo tiempo es costoso e impráctico. Es mejor empezar por las actividades en donde se vean resultados de forma más rápida y efectiva. Además, una implementación paulatina y retroalimentada ayudará a que el proceso sea más armonioso y fácilmente aceptado. Si se está en las etapas iniciales del proyecto conviene empezar por la verificación de requerimientos y la validación de arquitectura, mientras que si ya se está avanzado, es mejor revisar el diseño o directamente el código. Epidata Consulting Como ahorrar dinero con Software Quality? 4

Métricas de calidad La única manera de poder mostrar cuales son los beneficios que aportan las actividades de SQA es a través de métricas que reflejen la evolución del proceso de desarrollo. Si no podemos medir las mejoras no podrán evaluarse la efectividad del proceso de SQA y tampoco podrá mejorarse. Ejemplos de este tipo de métricas podrían ser: Número de incidencias reportadas en producción Número de incidencias reportadas en testing Cantidad de ciclos de testing/retrabajo necesarios. Tiempo necesario para realizar un cambio (categorizado por impacto) Conclusiones SQA es un conjunto de actividades que tienen como objetivo bajar el costo de desarrollo alcanzando los parámetros de calidad establecidos. Es factible alcanzar calidades y costos establecidos pero es necesario saber, que no es posible injertar calidad deseada al final del proceso de desarrollo, sino que se debe crear a lo largo de todo el proceso. Mientras antes se comiencen con las actividades de SQA, mayores serán los beneficios. Autores Valerio Adrian Anacleto adrian@epidataconsulting.com Diego H. Mornacco diegom@epidataconsulting.com URL al artículo original http://www.epidataconsulting.com/ tikiwiki/tiki-read_article.php?articleid=57 Contacto Institucional Para ampliar la información no dude en comunicarse con nosotros: Tel: (+5411) 5031-0060/61 E-mail: info@epidataconsulting.com Maipú 521 Piso 1, Oficina A Ciudad Autónoma de Buenos Aires (C1006ACE) Sitio Web: www.epidataconsulting.com Epidata Consulting Como ahorrar dinero con Software Quality? 5