Calidad de Software: Modelos, Procesos, Arquitecturas. Dr. Cuauhtémoc Lemus Olalde. Centro de Investigación en Matemáticas (CIMAT)



Documentos relacionados
El Pensamiento Sistémico en la Ingeniería de Software. Dr. Cuauhtémoc Lemus Olalde Centro de Investigación en Matemáticas (CIMAT)

Arquitectura de Software, mucho más que un diagrama tradicional. Dr. Cuauhtémoc Lemus Olalde. Centro de Investigación en Matemáticas (CIMAT)

CMMI (Capability Maturity Model Integrated)

Elementos requeridos para crearlos (ejemplo: el compilador)

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

MODELOS DE CALIDAD EN EL DESARROLLO DE SOFTWARE

Enginyeria del Software III

Introducción. Por lo que existe una creciente preocupación por lograr que los productos software cumplan con ciertos criterios de calidad.

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

Planeación del Proyecto de Software:

Carrera: Licenciatura en Sistemas. Materia: INGENIERIA DE SOFTWARE III

CAPÍTULO 4. FORMA DE EVALUACIÓN CMM. 4.1 Evolución de los métodos de valoración del SEI

0. Introducción Antecedentes

ENFOQUE ISO 9000:2000

Metodología básica de gestión de proyectos. Octubre de 2003

Verificación. 3.1 Marco de Referencia para el desarrollo de software

COMPILACION BIBLIOGRAFICA PMBOK, OPM3 JHON FREDY GIRALDO. Docente: Carlos Hernán Gomez Asignatura: Auditoria de Sistemas

GUIA SOBRE LOS REQUISITOS DE LA DOCUMENTACION DE ISO 9000:2000

Gestión de Configuración del Software

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

Normas chilenas de la serie ISO 9000

Norma ISO 9001: Sistema de Gestión de la Calidad

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

Gestión y Desarrollo de Requisitos en Proyectos Software

Hoja Informativa ISO 9001 Comprendiendo los cambios

Módulo: Indicadores de Eficacia y Eficiencia en los Procesos

Norma ISO Francisco D Angelo Douglas García Claudia Herrera Luis Laviosa

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

Calidad de Software - CMM

Unidad VI: Auditoria de la calidad

Unidad de Competencia I Elementos de Competencia Requerimientos de información

Calidad. Preparado por: Amelia Soriano. Referencias. Rational Unified Process Version Copyright Rational Software Corporation

Modelo de Proceso de Desarrollo de Software

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

FÁBRICA DE SOFTWARE. Presentado por: Ing. Juan José Montero Román Gerente de Fábrica de Software USMP

Qué es el Modelo CMMI?

ITIL FOUNDATION V3 2011

CAS-CHILE. Líder en Software de Gestión Pública

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

Procesos Críticos en el Desarrollo de Software

Plan de Administración del Proyecto

E a v l a ua u c a i c ón ó n de d l e Pr P oc o e c s e o s o de d Ing n e g n e i n er e ía a de d e So S f o twa w r a e

GLOSARIO DE TERMINOLOGIA SOBRE SISTEMAS DE GESTIÓN DE LA CALIDAD

SW-CMM Capability Maturity Model for Software

I INTRODUCCIÓN. 1.1 Objetivos

CALIDAD DEL SOFTWARE TESTS DE EXAMEN ACTUALIZADO SEP TEMA 4 MODELOS, METODOLOGÍAS Y ESTÁNDARES: ESTRATEGIAS PARA ALCANZAR LA CALIDAD

EVALUACIÓN Y MEJORA DE PROCESOS

CALIDAD DEL SOFTWARE TESTS DE EXAMEN ACTUALIZADO SEP TEMA 3 NORMALIZACIÓN Y CERTIFICACIÓN: NORMA ISO 9001:2000

El director de tecnologías de la información del futuro Informe de investigación. Convertirse en un impulsor del cambio en los negocios

Estándar CMMI. Disciplinas del CMMI. Modelo continuo y modelo por niveles.

ARQUITECTURA TÉCNICA ASIGNATURA: MATERIALES DE CONSTRUCCIÓN II CURSO: APUNTES TEMA 1: CONTROL DE CALIDAD

EXIN IT Service Management Foundation Bridge based on ISO/IEC 20000

Is not jus power, is reliability and trust. Yei Systems S.A. de C.V.

Estándares ISO en Ingeniería de Software. Calidad de Software. Estándares y modelos de calidad. Ciclo de Ingeniería ISO/IEC 12207

COMITÉ TECNICO DE NORMALIZACION DE GESTION Y ASEGURAMIENTO DE LA CALIDAD

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

Business Process Management(BPM)

IT Project Portfolio Management y su vinculación con la Estrategia Corporativa

Prof. Juan José Díaz Nerio. Foro de Tecnología : Gestión de la Calidad del Software. Domingo 16 Noviembre 2014

SÍNTESIS Y PERSPECTIVAS

Empresa Financiera Herramientas de SW Servicios

Presentación de COBIT 5. Alfredo Zayas. ISACA Capítulo Cd. de México

SISTEMAS Y MANUALES DE LA CALIDAD

Desarrollo de la estrategia a seguir para. un Sistema de Gestión de la Energía. Instalaciones Industriales

Términos definiciones

Seis Sigma y TRIZ: Design for Software Architecture

CAPÍTULO 1 PROYECTO DE TESIS. Proyecto de Tesis. 1.1 Introducción

Norma ISO 14001: 2015

+ Cómo ahorrar dinero con Software Quality

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

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

Administración por Procesos contra Funciones

Área Académica: Licenciatura Sistemas Computacionales. Profesor: Lic. Virginia Arguelles Pascual

4. SUMILLA 1. CMMI v People Software Process & Team Software Process 3. Estándares ISO/IEC 4. Técnicas de Prueba de Software

1.1 Aseguramiento de la calidad del software

Proceso: AI2 Adquirir y mantener software aplicativo

Figure 7-1: Phase A: Architecture Vision

Sistemas de gestión en servicios de TI (UNIT ISO/IEC )

Administración de Centros de Computo. ITIL. MSG.ING. DARWIN CERCADO B dcercado@primma.com.ec

INTRODUCCIÓN. 1. Definición del problema

Dirección General de Educación Superior Tecnológica

M ucho se ha especulado en relación a los

Curso TURGALICIA SISTEMA DE GESTIÓN DE SEGURIDAD Y SALUD EN EL TRABAJO OHSAS 18001:2.007

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre

Nombre de la asignatura: Proceso Personal para el Desarrollo de Software

Resumen General del Manual de Organización y Funciones

Unidad 1. Fundamentos en Gestión de Riesgos

Norma ISO 14001: 2004

AUDITORÍAS Y AUDITORES ISO 9000:2000

Una puerta abierta al futuro

SEGURIDAD DE LA INFORMACIÓN

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

Carrera: ISH

Gestión de la configuración en el software (SCM) Ingeniería de software Eduardo Ferreira, Martín Solari

ADMINISTRACION DE CENTROS DE COMPUTO

I PARTE MARCO TEORICO. La globalización de los mercados, la intensificación de la competencia, el acortamiento

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

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

Transcripción:

Seminario en Tecnologías y Software (SETyS) Calidad : Modelos, s, s Dr. Cuauhtémoc Lemus Olalde Edición 2007 Septiembre 2007 Centro de Investigación en Matemáticas (CIMAT)

Terminología (ISO 9000:2000) Calidad: Grado en el que un conjunto de características inherentes cumple con los requisitos Inherente es que existe como una característica permanente Pobre, buena, excelente calidad Característica: Rasgo diferenciador Puede ser inherente ó asignada; cualitativa o cuantitativa Clases: funcionales, físicas, de tiempo, etc. Característica de Calidad: característica inherente de un producto, proceso ó sistema relacionada con un requisito

Terminología (ISO 9000:2000) Gestión: actividades coordinadas para dirigir y controlar una organización Gestión de la Calidad: actividades coordinadas para dirigir y controlar una organización en lo relativo a la calidad Incluye: política de la calidad, objetivos de la calidad, planificación de la calidad, control de la calidad, aseguramiento de la calidad y mejora de la calidad Control de la calidad: orientada al cumplimiento de los requisitos de la calidad de la calidad: orientada a proporcionar confianza en que se cumplirán n los requisitos de la calidad Mejora de la calidad: orientada a aumentar la capacidad de cumplir con los requisitos de la calidad Mejora continua: actividad recurrente para aumentar la capacidad para cumplir los requisitos mediante el cual se establecen los objetivos y se identifican oportunidades para la mejora de un proceso continuo a través s del uso de los hallazgos de la auditoria, el análisis de los datos, la revisión n por la dirección n u otros medios, y generalmente conduce a la acción n correctiva y preventiva.

Qué es calidad? Conjunto de cualidades (etimología similar) de una persona ó cosa Lo que hace que una persona ó cosa sea lo que es Propiedad, carácter cter Atributo: características mensurables, que se pueden comparar con estándares conocidos (longitud, color, propiedades eléctricas, maleabilidad, etc.) Superioridad, excelencia de alguna cosa Calidad de software Como entidad intelectual (intangible), es más s difícil de caracterizar que los objetos tangibles

Qué es calidad? Pensamiento Sistémico de IS Administración Calidad SW Calidad de Software s de SW Modelos de Madurez Métricas Componentes Reutilizables

Factores que afectan la calidad de software Tecnología de desarrollo Calidad del Calidad del Producto Calidad del Personal Costo, tiempo y duración

Mapa Conceptual PS e IS

Calidad del y Calidad del Producto La mejora de procesos se basa en la suposición n de que el factor crítico que influye en la calidad del producto es la calidad del proceso de desarrollo del producto. Medir número n de defectos en los productos y relacionar estos defectos con el proceso El proceso se mejora con el propósito de reducir el número n de defectos en el producto El proceso se mejora hasta que sea repetible Resultados del proceso sean predecibles y el número de defectos se reduzca El proceso se estandariza e inicia un ciclo de mejoras adicionales

Adopción n de modelos y estándares CMMi SPICE ISO 9001 Moprosoft. Mejoramiento de procesos de software a través s de técnicas t y métodos estadísticos sticos PSP (Personal Software Process) TSP, TSPi (Team Software Process) Seis Sigma Software Diseño o de Seis Sigma Software Desarrollo con base en

Utilizar las mejores prácticas de ingeniería a de software Utilizar herramientas apropiadas Personal debidamente entrenado y con habilidades, con responsabilidades e instrucciones bien definidas Enfasis en la prevención n o detección n temprana de defectos, en lugar de detección n y corrección n de defectos

Modelo Genérico del Desarrollo s de Desarrollo Desarrolladores Clientes s de Administración de Organización Administradores

Integrar Estándar en el desarrollo de Proyectos de Organización Modelo de Referencia organización proceso Derivado del Modelo de Referencia de Administración de Desarrollo Derivado del Modelo de Referencia de Administración de Desarrollo Proyecto 1 Proyecto n

Enfoques de IS Enfoque Programación Descripción D. Funcional P. Estructurada OOP CBP Técnica Organización Administración H L L Modelos de Desarrollo Cascada Espiral Prototipos H M L Automatizar IS CASE UML H L L Métodos Formales CSP SDL Z Clean Room H L L s de IS CMM Trillium BOOTSTRAP ISO/IEC 15504 H H H

Resumen de Modelos y Nivel CMM Bootstrap SPICE ISO 9001 Categoría Niveles [5] Categorías as [9] Categorías as (PCs) [5] - Areas Prácticas (KPAs)) [18] s [32] s (PRs)) [35] Tópicos Principales de Areas (MTAs) [20] Práctica Prácticas (KPs)) [150] Atributos de Calidad (QSAs)) [201] Prácticas Base (BPs( BPs) [201] Aspectos de Admon.. (MIs) [177]

Métodos y s TickIT ISO 9001 (1) de IS Actuales CMM (2) BOOTSTRAP ISO/IEC 12207 ISO/IEC TR 15504 (SPICE) (3) BSI Trillium Moprosoft

Escala de Capacidad de s Nivel CMM Bootstrap SPICE ISO 9001 0 - - Incomplete Fail 1 Initial Initial Performed - 2 Repeated Repeated Managed - 3 Defined Defined Established - 4 Managed Managed Predictable - 5 Optimizing Optimizing Optimizing Pass

El de IS Nueva disciplina de de Ingeniería a Desarrollo de CMM ISO 9000 de IS Fundamentos Modelo Establecimiento Evaluación Mejoramiento Estandarización de procesos de software

Definición n de de IS Conjunto de prácticas secuenciales que son funcionalmente coherentes y reutilizables en la organización, n, implementación n y administración de la ingeniería a de software.

Historia de IS Ingeniería a & Ciencia de la Administración 60s: Ingeniería a de s y principios de administración n en Ciencia de la Administración n (Simon( 60, Schein 61, Ellis & Fred 62, Juran 62, Anthony 65, Richardson 66, Hall 67) 70s & 80s: Establecimiento de Ciencia de la Administración n de acuerdo a la tabla de de Fundamentos Administrativos.

Historia de IS Conformidad de la calidad a los requisitos y a las especificaciones (Crosby 79, Juran 80, Deming 82) Círculo de Deming (Plan-Do Do-Check-Act PDCA) propuesto en Ciencia de la Administración: n: Modelación n y Análisis de s. Proyecto ISO TC176 para desarrollar un estándar internacional de sistemas de calidad (ISO 9000 91,93,94) aplicable ingeniería a e implementado en IS (IS0 9001 89,94)

Historia de IS 70s: Crisis (Naur( & Randell 69, Baker 72, Brooks 75, Hoare 75) 80s: se reconoce como un herramienta de la Ingeniería a (Basili 80, Aron 83, Agresti 86, Evans 87, Boehm 81,86,87, Gilb 88, Humphrey 87, 88, 89) Desarrollo del Modelo CMM (Humphrey( 87, Paulk 93) 80s: Otros Modelos: IEEE Software Engineering Standard (IEEE 83) British Standard BS 5750 (BSI 87)

Desarrollo Tradicional Requerimientos Diseño Codificación e Integración Prueba y Aceptación Mantenimiento

Caracterización n actual Un sistema a la vez Proyectos Desarrollo de software para un cliente externo o interno Cumplir con fecha de entrega (time-to to-market) Enfoque del proyecto es entregar antes de la fecha límitel Todas las decisiones durante el desarrollo son basadas en la prioridad de entregar el proyecto a tiempo Evolución n de sistema no es considerado No se considera (o muy poca consideración) n) en aspectos de mantenimiento y evolución n a largo plazo

Problemas Tiempo y presupuesto Proyectos de software son sobreestimados/subestimados, fuera de tiempo Calidad del Producto El costo de un producto de calidad es substancial Costos de Mantenimiento 80% del costo del sistema es debido a mantenimiento Competitividad Personal de una empresa desarrolladora de software dedicada a mantener software, en lugar de crear nuevos sistemas

Caracterización n Deseada Costos de Desarrollo Reducir drásticamente los costos de Desarrollo de Software Calidad Además s de Confiable, Fácil F de Mantener, Uso adecuado de recursos Calidad vs. Costo

Caracterización Deseada Tiempo de mercado Costo de desarrollo de un producto no es importante Tiempo de mercado es una ventaja competitiva Definición n de requerimientos hasta la distribución n del producto es de mayor relevancia

Soluciones Tentativas McIlroy,, 1969: Reutilización n de software existente a través s de componentes Reducir costos de desarrollo Mejora de la calidad del producto Time-to to-market se reduce Reducción n en los costos de Mantenimiento

Reutilización de creación n de software a partir de software existente en lugar del desarrollo tradicional de software Reutilización n de software se enfoca a código c y estructuras de datos. A medida que la complejidad de un sistema se incrementa, la reutilización n en las diferentes etapas del Desarrollo es un prioridad. La de un Sistema provee un medio de explotar reutilización n no sólo s de estructuras y algoritmos. Ahora tenemos que diseñar componentes para ser reutilizados.

Lecciones Aprendidas Todo programa de reutilización dentro de una empresa debe ser planeado y tomar un enfoque de arriba hacia abajo Reutilización n oportuna Reutilización n Planeada Un enfoque de reutilización n de abajo hacia arriba no funciona en la práctica.

Reutilización n Oportuna Se asume que las piezas de software seleccionadas son combinadas para solucionar el problema del producto de software en el cual se está trabajando.

Reutilización n Planeada Requiere que la organización n dedique un esfuerzo en desarrollar artefactos reutilizables que provean abstracciones correctas en niveles correctos de variabilidad para los productos de software de la organización. n. Recursos reutilizables son desarrollados y presentados como partes de una estructura de alto nivel.

y LíneasL De Software IS Basada en Componentes Diseño de Líneas de Productos Calidad Costo de Desarrollo Time-to Market Costo Mantenimiento

Contexto del Diseño o de una Clientes Mercadotecnia Ingeniería Requerimientos Selección de AS Implementación Completo? Producto

AS en Desarrollo Requerimientos Diseño AS Codificación e Integración Prueba y Aceptación Mantenimiento

de AS Diseño Funcional Especificaciones de Requerimientos de Aplicación Transformar Estimar Atributos de Calidad Soluciones de Optimización QA Diseño Arquitectónico

de (Reverse Engineering) Nuevo Diseño Dominio Sistema Reutilización Generalización Extracción Librería de Componentes Reutilizables Sistema Actual

de (Forward Engineering) Diseño Funcional Especificaciones de Requerimientos de Aplicación Transformar Estimar Atributos de Calidad Soluciones de Optimización QA del Sistema

Metodología a DFSS Define Measure Analyze Design Validate Project Startup Gather Customer Requirements Perform Functional Analysis Elaborate Detailed Design Prototyping Results Project Scope Translate Reqs. into CTQs (QFD) Generate Functional Reqs. Specify Process Variables Production & testing Planning & Management Develop High-Level Concepts Prototyping & Testing Performance results Elaborate Design Reqs Translate Reqs. into CTQs (QFD) Evaluate High-level design capacity Evaluate Detailed design capacity

de AS/DFSS

de la calidad Un sistema de calidad es s un proceso que asegura y demuestra la calidad de los productos y servicios que produce. Incluye políticas, procedimientos, herramientas, recursos tecnológicos y humanos. Un sistema de calidad requiere que el proceso de calidad sea administrado para asegurar su efectividad y eficiencia cuando las circunstancias cambien. El sistema de calidad debe de: Asegurar a los clientes y desarrolladores que los productos de software producidos por el proceso de calidad serán n de calidad. Poderse auditar, a través s de la documentación, n, bitácoras de calidad, mediciones que demuestren el logro de calidad y la efectiva operación n del sistema de calidad. Seguir una filosofía a de mejoramiento continuo de cualquier aspecto del proceso de desarrollo de software.

Inicio del Programa de Calidad Preparar política de calidad Documento que expresa el compromiso de la empresa a la calidad así como las expectativas de la dirección n del programa de calidad. Establecer el apoyo de la organización n a la calidad Formar un equipo de mejoramiento de la calidad Evaluar las necesidades de la empresa Diseñar el sistema de calidad para satisfacer dichas necesidades Planear y monitorear la implementación n del sistema de calidad Comunicar el programa de calidad al staff Entrenamiento y actividades de soporte al programa Preparar y revisar procedimientos y estándares Seleccionar métodos m y herramientas Establecer un programa de métricas m para medir el proceso de software, producto y servicios

Planeación n del Programa de Calidad Evaluar a la empresa Identificar las debilidades y fortalezas de la empresa Comparar prácticas actuales contra buenas prácticas de referencia (la que mejor se aproxime a las necesidades) Considerar CMMi,, SPICE, Bootstrap, Moprosoft,, etc. Considerar un consultor de gestión n de calidad con antecedentes sólidos s en el desarrollo de software, en particular con experiencia práctica en el diseño o e implementación n programas de calidad.

Planeación Diseñar el sistema de calidad Los objetivos deben de poderse medir, en lo posible, para poder alinearse con las necesidades de la empresa: Reducir cantidad de defectos en prueba y operación, Mejorar productividad, Mejorar aproximaciones de entrega, Lograr alguna certificación. Elaborar Manual de Calidad con el diseño del sistema de calidad: Qué se necesita hacer Quien lo va ha hacer Cuando se va ha hacer Como se va hacer

Planeación El Manual de Calidad será Sujeto a un control estricto de versiones Aprobación n y distribución n apropiada Bitácora de usuarios autorizados Liberación n de nuevas versiones Retiro de versiones caducas El Manual de Calidad contiene: Política y objetivos de calidad de la empresa Organigrama mostrando responsabilidades y actividades del personal que gestiona, realiza y verifica cualquier tarea que afecta la calidad Descripción n del modelo de ciclo de vida Relación n del sistema de calidad con el estándar seleccionado Referencia detallada a procedimientos y estándares

Planeación Planear la implementación La introducción n de un sistema de calidad en una empresa tiene el mismo grado de complejidad que un proyecto de desarrollo de software a gran escala. Se debe elaborar un plan completo y detallando fechas, actividades, logros, entregables y recursos necesarios en la implementación n del sistema. Actividades a realizar: Implementar del programa cultural Adoptar de un modelo de ciclo de vida Diseñar un sistema de control de documentos Elaborar y documentar procedimientos y estándares para cada actividad y entregable de cada fase del ciclo de vida Elaborar y documentar procedimientos y estándares de las actividades de soporte Definir e implementar un programa de métricasm tricas. Revisar Manual Entrenamiento y apreciación n del sistema de calidad. Programa de auditoria de calidad Administración n de revisiones Evaluación n de acuerdo al estándar o modelo seleccionado

Las nuevas tendencias que impulsarán n la tecnología La Jornada 08/03/2006 Simposio IT Expo de Gartner,, que se llevó a cabo en San Francisco, California, los analistas examinaron cuatro tendencias que impulsan esta transformación: n: Homogeneización y consumismo; Virtualización y tera-arquitecturas arquitecturas; Modelos de entrega de software y estilos de desarrollo, Comunidades y colaboración. "En los siguientes 30 años a continuaremos presenciando una mayor penetración n de la tecnología en las empresas, pero la verdadera transformación será en la forma en que la tecnología a nos llega como individuos y modifica la manera en que trabajamos y vivimos", señal aló David Willis,, vicepresidente de investigación n de Gartner.. "Si" los pasados 30 años a han sido de entregar tecnología a a la empresa, los siguientes 30 serán n sobre cómo c la tecnología transformará la vida de los individuos."

Homogeneización y consumismo Muchos segmentos de tecnología a ya son un bien de consumo, lo que implica que ya están homogeneizados. Las PC, el almacenamiento y el ancho de banda son esencialmente homogéneos, y los compradores pueden obtener fundamentalmente el mismo "producto" sin importar qué marca elijan. Los analistas de Gartner observan que esta tendencia continuará,, y absorberá también n elementos de software y servicios. La creciente homogeneización n trae consigo una baja de precios que hace que los productos o servicios se coloquen al alcance de los bolsillos de las personas y empresas. La industria de TI, al seguir este camino, comienza a experimentar un proceso que Gartner denomina consumismo de las tecnologías de la información, el cual se refiere al impacto que las tecnologías, productos y enfoques adoptados por los consumidores o diseñados para su uso tienen sobre el resto del mundo de TI (desarrolladores, es, proveedores de tecnología a y empresas). "En general, la homogenización n y el consumismo se enfocan en hacer más m s accesible la tecnología, los cambios en el comportamiento de la sociedad que surgen debido a esto, así como disminuir el impacto que esos cambios tienen en una empresa en términos t de cómo c satisface las demandas y expectativas cambiantes de los consumidores y empleados", indicó Cebe Prentice,, vicepresidente y analista distinguido de Gartner. "En conjunto, estas tendencias marcan un gran cambio en el equilibrio de poder entre los proveedores de tecnología, las empresas, los individuos y hasta el Estado".

Virtualización y tera-arquitecturas arquitecturas Se está volviendo algo común n encontrar instancias donde la virtualización de los servidores crea máquinas m virtuales o particiones sobre un solo aparato físico. f Su uso más s común n es para unir varios servidores subutilizados en servidores virtuales dentro de una sola máquina. Esto puede mejorar la utilización n de los servidores en 80 por ciento. "Las aplicaciones ya no están n destinadas a una caja, pues los encargados de sistemas pueden destinar servidores virtuales a los recursos que satisfagan mejor sus demandas computacionales", afirmó Martin Reynolds,, vicepresidente y miembro de la junta de Gartner.. "Esto da a los líderes l de TI la flexibilidad para administrar sus siempre cambiantes prioridades de demanda de recursos computacionales y de usar mejor su infraestructura." La infraestructura de TI requiere construirse con componentes granulares que se descubren uno a otro y se ensamblan automáticamente ticamente en recursos computacionales. Se vuelve incrementable sin intervención humana más m s allá del prenderlos y organizarlos. "Esta aproximación incrementable y de cero administración n conduce a la tera-arquitectura, arquitectura, infraestructura de sistemas que es capaz de incrementar las capacidades computacionales en órdenes de magnitud sobre lo que podemos hacer hoy en día, d dentro del mismo presupuesto", afirmó Reynolds.

Modelos de entrega de software y estilos de desarrollo El concepto de creciente granularidad,, o sea nuevas formas de administrar y entregar servicios para satisfacer las necesidades del negocio, es también n importante en la evolución n de la industria del software. El tercer par de tendencias se refiere a la forma en que q el software se desarrolla, y a la forma cambiante en que los usuarios lo adquieren. Los analistas de Gartner afirman que los nuevos modelos para entrega y desarrollo de software se enfocan en las personas. "El control se está desplazando de los programadores hacia el público en general", agregó Daryl Plumier, vicepresidente de grupo y jefe de la junta de Gartner.. "Nos estamos desplazando de un mundo donde se esperaba que las personas se comportaran de la misma forma que las computadoras, hacia un mundo donde las máquinas trabajan de la forma en que las personas se comportan. Todo se trata de lo que hacemos con el software en lugar de lo que éste es, o cómo c se aplica." Hay tres principios que guían este nuevo modelo de entrega: no seas dueño, renta; no compres aplicaciones, adquiere soluciones, y no compres contenidos, sino capacidades. La industria del software continúa a desplazándose hacia un modelo de software como servicio, el cual provee flexibilidad que conduce a agilidad. Proporciona muchas opciones a los jefes de TI y luego permite que la empresa decida cómo c se usarán n esas opciones.

Comunidades y colaboración Los individuos, así como los empleados y clientes, han adoptado las comunidades virtuales, así que las compañí ñías no podrán n evitar hacer lo mismo. Los analistas de Gartner afirman que actualmente el trabajador promedio participa en 10 comunidades. En los siguientes 10 años, a 80 por ciento del trabajo realizado por empleados será colaborativo y no de personas trabajando por sís mismas. Las personas que están n entrando a la fuerza laboral tienden a trabajar en colaboración n y están n centradas en su comunidad. Los estudiantes de preparatoria y universidad están n aceptando las redes comunitarias sociales. Sin embargo, cuando los analistas de Gartner hablan con las compañí ñías, muchas no reconocen las tecnologías comunitarias y de colaboración n como inversiones prioritarias. "A la fecha, la comunidad y la colaboración n han estado en el margen del pensamiento de las personas, son secundarias a otras consideraciones", indicó Kathy Harris,, vicepresidente y analista de Gartner.. "De hoy en adelante, estas tecnologías tienen que estar en primer orden de consideración n a la hora de fijar las prioridades de inversión n en TI." La última generación n de tecnología a de Internet, incluyendo la web 2.0 y la arquitectura orientada a servicios, extenderá el alcance, escala y potencial de las comunidades y del trabajo en colaboración. Los analistas de Gartner afirman que el cambio irá más s allá de características innovadoras e interesantes. Esta generación n soportará nuevos enfoques de colaboración para el desarrollo de software e integrará tecnologías de consumo para lograr ambientes computacionales corporativos.

Preguntas? Dr. Cuauhtémoc Lemus Olalde clemola@cimat.mx Septiembre, 2007 www.cimat.mx/~clemola

ISO Standards http:// ://www.praxiom.com/ Tantara Hotlist http:// ://www.tantara.ab.ca/info.htm Best practices in CMM http:// ://www.gartnerconnects.com/reprints/wipro/cs-19-6994/1. 6994/1.htm Software - the arrowhead of India's IT weaponry http:// ://atimes.com/reports/bl07ai01.html Pressman S. Roger,, Ingeniería a : Un enfoque práctico. 5ta. Edición, MacGraw Hill, 2002. Lewis E. William, Software TEsting and Continuous Quality Improvement CRC Press,, 2000 Sommerville, Ian,, Ingeniería a, Addison-Wesley Wesley,, Sexta Edición, 2002. Sanders, Joc, and Curran Eugene,, Software Quality: : A framework for success in software development and support,, ACM Press, 1994. Drabick Roger, A Process Model of Software Quality Assurance/Software Quality Engineering, Software Quality Professional, Volumen 2, Issue 4, Septiembre 2000. Layman Beth, Rohde Sharon, Experiences implementing a software project measurement methodology, Software Quality Professional, Volumen 2, Issue 1, Diciembre 1999. Crosby,, P., Quality is Free, McGraw-Hill, 1979.

Garvin 1984 Albretch,, A. J., Measuring Application Development Productivity, Proceeedings IBM Application Development Symposium, Monterey, CA, October 1979, pp. 83-92 Jones,, C., Estimating Software Costs, McGraw-Hill,1998. Grady,, R. B., Practical results from measuring software quality, Communications of the ACM, Vol. 36, Number 11, pp. 62-68, 68, 1993. Barnard,, J., Price,, A., Managing code inspection information, IEEE Software, Volume 11, Number 2, pp. 59-69, 1994. Offen,, R. J., Jeffrey,, R., Establishing software measurement programs,, IEEE Software Volume 14, Number 2, pp. 45-54, 54, 1997. Hall, T., Fenton,, N., Implementing effective software metrics program,, IEEE Software, Volume 14, Number 2, pp. 55-64, 1997 Pulford,, K., Kuntzmann-Combelles Combelles,, A., et al., A Quantitative Approach to Software Management, Addison-Wesley Wesley,, 1996. Gilb,, T., Principles of Software Engineering Management, Addison- Wesley,, 1988. McCall,, J. A., Cavano,, J. P., A Framework for the measurement of Software Quality, Proceedings of ACM Software Quality Assurance Workshop, November 1978, pp. 133-139. 139. Basili 1996 Shewart 1920

Kautz,, K., Making sense of Maeasurement for Small Organizations,, IEEE Software, Macrh 1999, pp. 14-20 Grable,, R., et al., Metrics for Small Projects: Experiences at SED,, IEEE Software, March 1999, pp. 21-29 29 Park,, R. E., et al., Goal Driven Software Measurement- A Guidebook,, CMU- SEI-96 96-BH-002, Software Engineering INstitute,, CMU, Agugust,, 1996. Mills,, H. D., et al., Cleanroom Software Engineering,, IEEE Software Volume 4, Number 5, September,, pp. 19-24, 1987. Adams,, E. N., Optimizing preventative service of software products,, IBM Journal Research and Development, Volume 28, Number 1, pp. 2-14, 2 1984. Lyu,, M., Software Reliability Engineering, McGraw-Hill, 1996. Myers,, G., The Art of Software Testing, Wiley,, 1979. Davis,, A., 201 Principles of Software Development, McGraw-Hill, 1995 Bach 1994 Freedman,, D. P., Weinberg,, G. M., Handbook of Walkthroughs, Inspections and Technical Reviews, Dorset House,, 1990 Schulmeyer,, G. C., McManus,, J. I., Handbook of Software Quality Assurance, Prentice-Hall, 1998 Kaplan,, C., Clark, R., Tang,, V., Secrets of Software Quality: : 40 Innovations from IBM, McGraw-Hill, 1995 Kan,, S. H., Metrics and Models in Software Quality Engineering, Addison- Wesley,, 1995