Вы находитесь на странице: 1из 54

Calidad de Software:

Modelos, Procesos, Arquitecturas


Seminario en
Tecnologas y
Software
(SETyS)

Dr. Cuauhtmoc Lemus Olalde

Edicin
2007

Septiembre
2007

Centro de Investigacin en
Matemticas (CIMAT)

Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Terminologa
(ISO 9000:2000)
Calidad: Grado en el que un conjunto de
caractersticas inherentes cumple con los
requisitos
Inherente es que existe como una
caracterstica permanente
Pobre, buena, excelente calidad

Caracterstica: Rasgo diferenciador


Puede ser inherente asignada; cualitativa o
cuantitativa
Clases: funcionales, fsicas, de tiempo, etc.

Caracterstica de Calidad: caracterstica


inherente de un producto, proceso
sistema relacionada con un requisito

Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Terminologa
(ISO 9000:2000)
Gestin: actividades coordinadas para dirigir y
controlar una organizacin
Gestin de la Calidad: actividades coordinadas para
dirigir y controlar una organizacin en lo relativo a la
calidad
Incluye: poltica de la calidad, objetivos de la calidad,
planificacin 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
Aseguramiento de la calidad: orientada a proporcionar
confianza en que se cumplirn 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
Proceso mediante el cual se establecen los objetivos y se
identifican oportunidades para la mejora de un proceso
continuo a travs del uso de los hallazgos de la auditoria, el
anlisis de los datos, la revisin por la direccin u otros
medios, y generalmente conduce a la accin correctiva y
preventiva.

Qu es calidad?
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Conjunto de cualidades (etimologa


similar) de una persona cosa
Lo que hace que una persona cosa sea
lo que es
Propiedad, carcter
Atributo: caractersticas mensurables, que
se pueden comparar con estndares
conocidos (longitud, color, propiedades
elctricas, maleabilidad, etc.)
Superioridad, excelencia de alguna cosa

Calidad de software
Como entidad intelectual (intangible), es
ms difcil de caracterizar que los objetos
tangibles

Qu es calidad?
Introduccin
Modelos &
Estndares

Pensamiento
Sistmico

Proceso de IS

Proceso

Arquitectura
de Software

Administracin
Calidad SW

Calidad de
Software

Arquitecturas
de SW

Modelos de
Madurez

Mtricas

Componentes
Reutilizables

Aseguramiento
Calidad de SW

Referencias

Introduccin

Factores que afectan la


calidad de software

Modelos &
Estndares

Tecnologa de
desarrollo

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Calidad
del
Proceso

Calidad
del
Producto

Referencias

Costo, tiempo y duracin

Calidad
del
Personal

Mapa Conceptual PS e IS
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Calidad del Proceso y


Calidad del Producto
La mejora de procesos se basa en la
suposicin de que el factor crtico que
influye en la calidad del producto es la
calidad del proceso de desarrollo del
producto.
Medir nmero de defectos en los productos y
relacionar estos defectos con el proceso
El proceso se mejora con el propsito de
reducir el nmero de defectos en el producto
El proceso se mejora hasta que sea repetible
Resultados del proceso sean predecibles y el
nmero de defectos se reduzca
El proceso se estandariza e inicia un ciclo de
mejoras adicionales

Calidad de SW
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Adopcin de modelos y estndares

CMMi
SPICE
ISO 9001
Moprosoft.

Mejoramiento de procesos de
software a travs de tcnicas y
mtodos estadsticos

PSP (Personal Software Process)


TSP, TSPi (Team Software Process)
Seis Sigma Software
Diseo de Seis Sigma Software

Desarrollo de Software con base en


Arquitectura de Software

Calidad de SW
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Utilizar las mejores prcticas de


ingeniera de software
Utilizar herramientas apropiadas
Personal debidamente entrenado
y con habilidades, con
responsabilidades e instrucciones
bien definidas
Enfasis en la prevencin o
deteccin temprana de defectos,
en lugar de deteccin y
correccin de defectos

Introduccin

Modelo Genrico del


Desarrollo de Software

Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Procesos de
Desarrollo

Desarrolladores

Procesos de
Administracin

Administradores

Clientes

Proceso de Organizacin

Introduccin

Integrar Estndar en el
desarrollo de Proyectos

Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Proceso de
Organizacin

Modelo de
Referencia

organizacin
proceso
Proceso
Derivado
del
Modelo
de
Referencia

Proceso de
Administracin

Proceso de
Desarrollo

Proyecto 1

Proceso
Derivado
del
Modelo
de
Referencia

Proceso de
Administracin

Proceso de
Desarrollo

Proyecto n

Enfoques de IS
Introduccin

Enfoque

Descripcin

Programacin

D. Funcional
P. Estructurada
OOP
CBP

Arquitectura
de Software

Modelos de
Desarrollo

Cascada
Espiral
Prototipos

Aseguramiento
Calidad de SW

Automatizar
IS

CASE
UML

Mtodos
Formales

CSP
SDL
Z
Clean Room

Procesos de
IS

CMM
Trillium
BOOTSTRAP
ISO/IEC 15504

Modelos &
Estndares

Proceso

Referencias

Tcnica Organizacin Administracin

Introduccin
Modelos &
Estndares

Proceso

Resumen de Modelos y
Estndares
Nivel

CMM

Bootstrap

SPICE

ISO 9001

Categoras [9]

Categoras
(PCs)
[5]

Categora

Niveles [5]

Proceso

Areas
Prcticas
(KPAs) [18]

Procesos [32]

Procesos
(PRs) [35]

Tpicos
Principales de
Areas (MTAs)
[20]

Prctica

Prcticas
(KPs) [150]

Atributos de
Calidad
(QSAs) [201]

Prcticas
Base (BPs)
[201]

Aspectos de
Admon. (MIs)
[177]

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Mtodos y Procesos
de IS Actuales
TickIT
ISO 9001 (1)
CMM (2)
BOOTSTRAP
ISO/IEC 12207
ISO/IEC TR 15504 (SPICE) (3)
BSI
Trillium
Moprosoft

Escala de Capacidad
de Procesos

Introduccin

Nivel

CMM

Bootstrap

SPICE

ISO 9001

Proceso

Incomplete

Fail

Arquitectura
de Software

Initial

Initial

Performed

Aseguramiento
Calidad de SW

Repeated

Repeated

Defined

Defined

Established

Managed

Managed

Predictable

Optimizing

Optimizing

Optimizing

Pass

Modelos &
Estndares

Referencias

Managed

El Proceso de IS
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Nueva disciplina de Proceso de


Ingeniera de Software
Desarrollo de CMM
ISO 9000

Proceso de IS

Fundamentos
Modelo
Establecimiento
Evaluacin
Mejoramiento
Estandarizacin

de procesos de software

Definicin de Proceso de IS
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Conjunto de prcticas
secuenciales que son
funcionalmente coherentes y
reutilizables en la organizacin,
implementacin y administracin
de la ingeniera de software.

Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Historia
Proceso de IS
Ingeniera de Software & Ciencia de la
Administracin
60s:
Ingeniera de Procesos y principios de
administracin en Ciencia de la
Administracin (Simon 60, Schein 61,
Ellis & Fred 62, Juran 62, Anthony 65,
Richardson 66, Hall 67)
70s & 80s:
Establecimiento de Ciencia de la
Administracin de acuerdo a la tabla de
de Fundamentos Administrativos.

Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Historia
Proceso de IS
Conformidad de la calidad a los
requisitos y a las especificaciones
(Crosby 79, Juran 80, Deming 82)
Crculo de Deming (Plan-Do-Check-Act
PDCA) propuesto en Ciencia de la
Administracin: Modelacin y Anlisis de
Procesos de Software.

Proyecto ISO TC176 para desarrollar


un estndar internacional de sistemas
de calidad (ISO 9000 91,93,94)
aplicable ingeniera e implementado
en IS (IS0 9001 89,94)

Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Historia
Proceso de IS
70s: Crisis de Software (Naur & Randell 69,
Baker 72, Brooks 75, Hoare 75)
80s: Proceso de Software se reconoce como
un herramienta de la Ingeniera de Software
(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)

Introduccin

Desarrollo
Tradicional

Modelos &
Estndares

Requerimientos
Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Diseo
Codificacin e Integracin
Prueba y Aceptacin
Mantenimiento

Caracterizacin actual
Introduccin
Modelos &
Estndares

Proceso

Un sistema a la vez
Proyectos de Software
Desarrollo de software para un cliente externo o
interno

Cumplir con fecha de entrega (time-to-market)


Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Enfoque del proyecto es entregar antes de la


fecha lmite
Todas las decisiones durante el desarrollo son
basadas en la prioridad de entregar el proyecto a
tiempo

Evolucin de sistema no es considerado


No se considera (o muy poca consideracin) en
aspectos de mantenimiento y evolucin a largo
plazo

Problemas
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

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

Caracterizacin Deseada
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Costos de Desarrollo
Reducir drsticamente los
costos de Desarrollo de
Software

Calidad
Aseguramiento
Calidad de SW

Referencias

Adems de Confiable, Fcil


de Mantener, Uso adecuado
de recursos
Calidad vs. Costo

Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Caracterizacin
Deseada
Tiempo de mercado
Costo de desarrollo de un
producto no es importante
Tiempo de mercado es una
ventaja competitiva
Definicin de
requerimientos hasta la
distribucin del producto
es de mayor relevancia

Soluciones Tentativas
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

McIlroy, 1969: Reutilizacin de


software existente a travs de
componentes
Reducir costos de desarrollo
Mejora de la calidad del
producto
Time-to-market se reduce
Reduccin en los costos de
Mantenimiento

Reutilizacin
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Proceso de creacin de software a partir de


software existente en lugar del desarrollo
tradicional de software
Reutilizacin de software se enfoca a cdigo
y estructuras de datos.
A medida que la complejidad de un sistema
se incrementa, la reutilizacin en las
diferentes etapas del Desarrollo de Software
es un prioridad.
La Arquitectura de un Sistema provee un
medio de explotar reutilizacin no slo de
estructuras y algoritmos.
Ahora tenemos que disear componentes
para ser reutilizados.

Lecciones Aprendidas
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Todo programa de reutilizacin


dentro de una empresa debe ser
planeado y tomar un enfoque de
arriba hacia abajo
Reutilizacin oportuna
Reutilizacin Planeada

Un enfoque de reutilizacin de
abajo hacia arriba no funciona en
la prctica.

Reutilizacin Oportuna
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Se asume que las piezas de


software seleccionadas son
combinadas para solucionar el
problema del producto de
software en el cual se est
trabajando.

Reutilizacin Planeada
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Requiere que la organizacin dedique


un esfuerzo en desarrollar artefactos
reutilizables que provean
abstracciones correctas en niveles
correctos de variabilidad para los
productos de software de la
organizacin.
Recursos reutilizables son
desarrollados y presentados como
partes de una estructura de alto nivel.

Arquitectura y Lneas
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
De Software

IS Basada en
Componentes

Arquitectura
de Software

Diseo de Arquitectura

Lneas de Productos

Aseguramiento
Calidad de SW

Referencias

Calidad

Costo de Desarrollo
Time-to Market
Costo Mantenimiento

Introduccin
Modelos &
Estndares

Proceso

Contexto del Diseo de una


Arquitectura de Software
Clientes

Mercadotecnia

Ingeniera

Requerimientos

Arquitectura
de Software

Seleccin
Aseguramiento
Calidad de SW

Referencias

Proceso
de AS
Implementacin

Producto

Completo?

AS en Desarrollo de Software
Introduccin
Modelos &
Estndares

Requerimientos
Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Diseo

Proceso
AS

Codificacin e Integracin
Prueba y Aceptacin
Mantenimiento

Proceso de AS
Introduccin
Modelos &
Estndares

Diseo
Funcional

Especificaciones
de Requerimientos

Proceso

Arquitectura
de Software

Arquitectura
de Aplicacin

Aseguramiento
Calidad de SW

Referencias

Transformar
Arquitectura
Soluciones de
Optimizacin
QA

Estimar Atributos
de Calidad

Diseo Arquitectnico

Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Proceso de Arquitectura
(Reverse Engineering)
Nuevo
Diseo
Reutilizacin
Arquitectura
Dominio
Generalizacin

Aseguramiento
Calidad de SW

Referencias

Arquitectura
Sistema
Extraccin
Sistema
Actual

Librera de
Componentes
Reutilizables

Introduccin

Proceso de Arquitectura
(Forward Engineering)

Modelos &
Estndares

Diseo
Funcional

Especificaciones
de Requerimientos

Proceso

Arquitectura
de Software

Arquitectura
de Aplicacin

Aseguramiento
Calidad de SW

Referencias

Transformar
Arquitectura
Soluciones de
Optimizacin
QA

Estimar Atributos
de Calidad

Arquitectura del Sistema

Metodologa DFSS
Introduccin
Define

Measure

Analyze

Design

Validate

Modelos &
Estndares

Proceso

Arquitectura
de Software

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

Develop
High-Level
Concepts

Prototyping &
Testing

Performance
results

Aseguramiento
Calidad de SW
Planning &
Management

Referencias
Elaborate Design
Reqs

Translate
Reqs. into CTQs
(QFD)

Evaluate High-level
design capacity

Evaluate Detailed
design capacity

Proceso de AS/DFSS
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Aseguramiento de la calidad
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Un sistema de calidad es un proceso que asegura y


demuestra la calidad de los productos y servicios que
produce.
Incluye polticas, procedimientos, herramientas,
recursos tecnolgicos 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 sern de calidad.
Poderse auditar, a travs de la documentacin,
bitcoras de calidad, mediciones que demuestren el
logro de calidad y la efectiva operacin del sistema de
calidad.
Seguir una filosofa de mejoramiento continuo de
cualquier aspecto del proceso de desarrollo de
software.

Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Inicio del Programa de


Calidad
Preparar poltica de calidad
Documento que expresa el compromiso de la
empresa a la calidad as como las expectativas de
la direccin del programa de calidad.

Establecer el apoyo de la organizacin a la


calidad
Formar un equipo de mejoramiento de la calidad
Evaluar las necesidades de la empresa
Disear el sistema de calidad para satisfacer dichas
necesidades
Planear y monitorear la implementacin del sistema
de calidad
Comunicar el programa de calidad al staff
Entrenamiento y actividades de soporte al programa
Preparar y revisar procedimientos y estndares
Seleccionar mtodos y herramientas
Establecer un programa de mtricas para medir el
proceso de software, producto y servicios

Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Planeacin del Programa de


Calidad
Evaluar a la empresa
Identificar las debilidades y fortalezas de
la empresa
Comparar prcticas actuales contra
buenas prcticas de referencia (la que
mejor se aproxime a las necesidades)
Considerar CMMi, SPICE, Bootstrap,
Moprosoft, etc.
Considerar un consultor de gestin de
calidad con antecedentes slidos en el
desarrollo de software, en particular con
experiencia prctica en el diseo e
implementacin programas de calidad.

Planeacin
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Disear 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
operacin,
Mejorar productividad,
Mejorar aproximaciones de entrega,
Lograr alguna certificacin.

Elaborar Manual de Calidad con el diseo


del sistema de calidad:
Qu se necesita hacer
Quien lo va ha hacer
Cuando se va ha hacer
Como se va hacer

Planeacin
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

El Manual de Calidad ser


Sujeto a un control estricto de versiones
Aprobacin y distribucin apropiada
Bitcora de usuarios autorizados
Liberacin de nuevas versiones
Retiro de versiones caducas

El Manual de Calidad contiene:


Poltica 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
Descripcin del modelo de ciclo de vida
Relacin del sistema de calidad con el
estndar seleccionado
Referencia detallada a procedimientos y
estndares

Planeacin
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Planear la implementacin
La introduccin 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 implementacin del sistema.
Actividades a realizar:
Implementar del programa cultural
Adoptar de un modelo de ciclo de vida
Disear un sistema de control de documentos
Elaborar y documentar procedimientos y estndares para
cada actividad y entregable de cada fase del ciclo de vida
Elaborar y documentar procedimientos y estndares de
las actividades de soporte
Definir e implementar un programa de mtricas.
Revisar Manual
Entrenamiento y apreciacin del sistema de calidad.
Programa de auditoria de calidad
Administracin de revisiones
Evaluacin de acuerdo al estndar o modelo seleccionado

Las nuevas tendencias que


impulsarn la tecnologa
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

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 transformacin:

Homogeneizacin y consumismo;
Virtualizacin y tera-arquitecturas;
Modelos de entrega de software y estilos de desarrollo,
Comunidades y colaboracin.

"En los siguientes 30 aos continuaremos


presenciando una mayor penetracin de la tecnologa
en las empresas, pero la verdadera transformacin
ser en la forma en que la tecnologa nos llega como
individuos y modifica la manera en que trabajamos y
vivimos", seal David Willis, vicepresidente de
investigacin de Gartner. "Si los pasados 30 aos han
sido de entregar tecnologa a la empresa, los
siguientes 30 sern sobre cmo la tecnologa
transformar la vida de los individuos."

Homogeneizacin y consumismo
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Muchos segmentos de tecnologa ya son un bien de consumo, lo


que implica que ya estn homogeneizados. Las PC, el
almacenamiento y el ancho de banda son esencialmente
homogneos, 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 tambin elementos de software y servicios.
La creciente homogeneizacin 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 tecnologas de la
informacin, el cual se refiere al impacto que las tecnologas,
productos y enfoques adoptados por los consumidores o diseados
para su uso tienen sobre el resto del mundo de TI (desarrolladores,
proveedores de tecnologa y empresas).
"En general, la homogenizacin y el consumismo se enfocan en
hacer ms accesible la tecnologa, 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 trminos de cmo 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 tecnologa, las
empresas, los individuos y hasta el Estado".

Virtualizacin y tera-arquitecturas
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Se est volviendo algo comn encontrar instancias donde la


virtualizacin de los servidores crea mquinas virtuales o
particiones sobre un solo aparato fsico. Su uso ms comn es
para unir varios servidores subutilizados en servidores virtuales
dentro de una sola mquina. Esto puede mejorar la utilizacin de
los servidores en 80 por ciento.
"Las aplicaciones ya no estn 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 lderes 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
automticamente en recursos computacionales. Se vuelve
incrementable sin intervencin humana ms all del prenderlos y
organizarlos. "Esta aproximacin incrementable y de cero
administracin conduce a la tera-arquitectura, infraestructura de
sistemas que es capaz de incrementar las capacidades
computacionales en rdenes de magnitud sobre lo que podemos
hacer hoy en da, dentro del mismo presupuesto", afirm Reynolds.

Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

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 tambin importante en la evolucin de la industria del
software. El tercer par de tendencias se refiere a la forma en que 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
pblico 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
mquinas 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 cmo se aplica."
Hay tres principios que guan este nuevo modelo de entrega: no
seas dueo, renta; no compres aplicaciones, adquiere soluciones,
y no compres contenidos, sino capacidades.
La industria del software contina desplazndose 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 cmo se usarn esas opciones.

Comunidades y colaboracin
Introduccin
Modelos &
Estndares

Proceso

Arquitectura
de Software

Aseguramiento
Calidad de SW

Referencias

Los individuos, as como los empleados y clientes, han adoptado las


comunidades virtuales, as que las compaas no podrn evitar hacer lo
mismo. Los analistas de Gartner afirman que actualmente el trabajador
promedio participa en 10 comunidades. En los siguientes 10 aos, 80 por
ciento del trabajo realizado por empleados ser colaborativo y no de
personas trabajando por s mismas.
Las personas que estn entrando a la fuerza laboral tienden a trabajar en
colaboracin y estn centradas en su comunidad. Los estudiantes de
preparatoria y universidad estn aceptando las redes comunitarias sociales.
Sin embargo, cuando los analistas de Gartner hablan con las compaas,
muchas no reconocen las tecnologas comunitarias y de colaboracin como
inversiones prioritarias.
"A la fecha, la comunidad y la colaboracin 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 tecnologas tienen que estar en primer orden de
consideracin a la hora de fijar las prioridades de inversin en TI."
La ltima generacin de tecnologa 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 colaboracin. Los analistas de Gartner
afirman que el cambio ir ms all de caractersticas innovadoras e
interesantes. Esta generacin soportar nuevos enfoques de colaboracin
para el desarrollo de software e integrar tecnologas de consumo para
lograr ambientes computacionales corporativos.

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

Referencias
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.htm
Software - the arrowhead of India's IT weaponry
http://atimes.com/reports/BL07Ai01.html
Pressman S. Roger, Ingeniera de Software: Un enfoque prctico.
5ta. Edicin, MacGraw Hill, 2002.
Lewis E. William, Software TEsting and Continuous Quality
Improvement CRC Press, 2000
Sommerville, Ian, Ingeniera de Software, Addison-Wesley, Sexta
Edicin, 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.

Referencias
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, 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, 1997.
Hall, T., Fenton, N., Implementing effective software metrics
program, IEEE Software, Volume 14, Number 2, pp. 55-64, 1997
Pulford, K., Kuntzmann-Combelles, A., et al., A Quantitative
Approach to Software Management, Addison-Wesley, 1996.
Gilb, T., Principles of Software Engineering Management, AddisonWesley, 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.
Basili 1996
Shewart 1920

Referencias
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
Park, R. E., et al., Goal Driven Software Measurement- A Guidebook, CMUSEI-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, 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, AddisonWesley, 1995

Вам также может понравиться