You are on page 1of 28

Mejoramiento de los procesos de

desarrollo de software

Mejoramiento de Procesos de Software


Objetivos

Discutir los factores crticos de xito para el


desarrollo del software

Destacar la importancia de asegurar la calidad


del software

Discutir los procesos para el mejoramiento del


desarrollo de software

Factores crticos de xito


del desarrollo de software
El proceso
de desarrollo
El
aseguramiento
de la
calidad

El
recurso
humano
Desarrollo de Software
La gerencia
del proyecto

Las herramientas
de desarrollo
3

Factores crticos de xito del desarrollo


de software

EL RECURSO
HUMANO

El Recurso Humano
Perfil del ingeniero requerido por la industria del software:

Debe ser capaz de:

Gerenciar proyectos de software


Planificar y controlar proyectos de alta tecnologa
Organizar, coordinar y dirigir grupos o equipos de desarrollo
Gerenciar el riesgo
Desarrollar y mantener software bajo restricciones de costos y
tiempo
Modelado de negocios
Definicin y especificacin de requerimientos
Diseo de software
Programacin
Pruebas de software
Mantenimiento de software
Asegurar la calidad del software en desarrollo
Evaluar la calidad del software producido
Mejorar los procesos de desarrollo de software
Familiarizarse rapidamente con las tecnologas de software ms
recientes

Factores crticos de xito del


desarrollo de software

La calidad
del producto

La Calidad del Software


Qu significa el trmino calidad ?

" Conjunto de caractersticas de una entidad


[producto o servicio] que le confieren su aptitud
para satisfacer necesidades expresadas e
mplicitas" (ISO 8402)

Cmo medir la calidad de un producto de software?

Se emplean modelos que especifican la calidad


mediante la definicin de un conjunto de
atributos o caractersticas.

Se basan en descomponer la calidad del


producto en caractersticas y estas en criterios
que pueden ser medidos mediante mtricas.
7

La Calidad del Software


Qu caractersticas debe tener el software de alta calidad ?

Utilidad:

Confiabilidad:

Es flexible, es modificable y es internamente comprensible ?

Eficiencia:

Baja probabilidad de falla => bajo nmero de errores

Mantenibilidad:

Determina si el sistema hace lo que sus usuarios esperan que haga


El sistema es til si:
Su funcionalidad ayuda al usuario en la realizacin de sus actividades

Medida en relacin al uso de los recursos del computador


Ej., bajo tiempo de ejecucin y mnimo uso del espacio de
almacenamiento

Facilidad de prueba:

Se puede probar con facilidad ?


en que medida el diseo y codificacin facilitan las pruebas
8

La Calidad del Software


Otras caractersticas de la calidad del software

Economa

Integridad y consistencia

Documentacin

Interoperabilidad

Modularidad

Correctitud

Generalidad

Reutilizacin

Claridad

Portabilidad

La Calidad del Software


Cmo asegurar la calidad del software ?

Establecimiento de un sistema de calidad


Gestin de la calidad
Planificacin de la calidad
Definicin de polticas de calidad

Uso de tcnicas de verificacin y validacin del


software
Revisiones e inspeccin de los productos de software
Pruebas de programas

Gestin de la Configuracin del Software

Uso de normas y estndares de calidad

Evaluacin y mejoramiento de los procesos de


software

10

La Calidad del Software


Normas y estndares de calidad:

Conjunto de guas, normas o convenios establecidos por


la empresa (o por un ente externo) con la finalidad de
definir, simplificar y estandarizar las actividades
necesarias para lograr una alta calidad de los productos
de software

Dos enfoques de normalizacin:

Normalizacin de las caractersticas medibles del


software
ISO

9126
IEEE Std. 1061
Normalizacin del proceso de desarrollo del software
ISO

9000 (serie de estndares para la gestin de calidad)


ISO 15004 (estndar para la evaluacin de procesos de
11
software)

Factores crticos de xito del


desarrollo de software

El proceso
de desarrollo

12

Los procesos de software


Un proceso de software se define como un:

"conjunto de actividades, mtodos, prcticas y


transformaciones que las personas usan para
desarrollar y mantener software y sus productos
asociados.

Una premisa fundamental:

"La calidad de un producto de software est


determinada, en muy buena medida, por la
calidad del proceso usado para desarrollarlo y
mantenerlo"
13

Evaluacin y Mejoramiento de los


Procesos de Software

El Modelo de Madurez de la Capacidad (CMM)

CMM es una aplicacin de sentido comn de los conceptos de


gestin de procesos y mejora de la calidad al desarrollo y
mantenimiento del software
Estudia los procesos de desarrollo de software de una
organizacin y produce una evaluacin de la madurez de la
organizacin segn una escala de cinco niveles
La madurez de un proceso es un indicador de la capacidad
para construir un software de calidad.
Es un modelo para la mejora de las organizaciones
Obliga a una revisin constante.
14

CMM: El Modelo de Madurez de la


Capacidad

proponer un plan de mejoramiento de los


procesos de desarrollo de software en base a una
serie de niveles que van desde un proceso
catico (inmaduro) hasta un proceso
disciplinado y de mejoramiento continuo
(maduro).

Una organizacin logra mayor madurez


mediante la institucionalizacin del proceso de
desarrollo de software, estableciendo las
polticas, estndares y estructuras organizativas

15

CMM
Niveles de
madurez
Contienen

reas claves
de proceso

Indican

Alcanzan
Objetivos

Organizadas con
Se aplican
Caractersticas

comunes
Contienen

Prcticas
clave

Capacidad
del proceso

Describen

Implementacin o
Institucionalizacin

Infraestructura
o actividades

CMM: El Modelo de Madurez de la


Capacidad
Organizacin inmadura

Organizacin madura

Improvisa o no sigue rigurosamente los


procesos de software

Tiene definido e implantado el mtodo de


desarrollo y mantenimiento de software

Improvisa o no emplea la gerencia de


proyectos

Los procesos tcnicos y gerenciales estn


establecidos, son comunicados a toda la
organizacin y se exige su aplicacin

Acta en respuesta a las crisis que surjan

Los roles y responsabilidades de los grupos y


sus miembros estn claramente definidos.

No se hacen estimaciones de costos y tiempo


reales

Las estimaciones de costos y tiempos se basan


en experiencias anteriores, reales y
cuantificadas

La calidad del producto no es definida sobre


una base objetiva

Existen objetivos cuantificables para medir la


calidad del producto

No se puede predecir la calidad del producto

Se controla la calidad del producto y se


garantiza la satisfaccin del cliente

17

CMM: El Modelo de Madurez de la


Capacidad

El CMM emplea 5 niveles de madurez para evaluar y mejorar los


procesos de software de una organizacin
Proceso
mejorado
contnuamente
Proceso
predecible

Proceso
estandarizado
Proceso
disciplinado

N. Optimizado

N. Gerenciado

N. Definido

N. Repetible

N. Inicial
18

CMM: El Modelo de Madurez de la


Capacidad

Nivel Inicial

La organizacin no posee un ambiente estable de


desarrollo de software

Ausencia de gerencia de proyectos

El proceso de software es cambiante e irregular:

Durante las crisis, los grupos abandonan el mtodo y se


concentran en la codificacin y pruebas

Los planes, estimaciones y calidad son


impredecibles

El rendimiento y el xito dependen de la capacidad


individual de los miembros del grupo

La capacidad es una caracterstica de los individuos


y no de la organizacin
N. Inicial 19

CMM: El Modelo de Madurez de la


Capacidad

Nivel Repetible

La organizacin establece polticas para gerenciar


los proyectos de software y procedimientos para
implantar estas polticas

Los procesos estn bajo un control efectivo de un


sistema de gerencia de proyectos basado en
experiencias anteriores

Los procesos son definidos, documentados,


practicados, medidos, obligados y mejorables

Los procesos de software son estables y repetibles

Existen estndares de desarrollo definidos y


exigidos

La calidad es controlada

N. Repetible
20

CMM: El Modelo de Madurez de la


Capacidad

Nivel Definido

Los procesos de software son definidos:

estandarizados, documentados e institucionalizados

Se institucionaliza un proceso estndar de


desarrollo de software que integra en uno solo:
los procesos de ingeniera de software y
gerencia de proyectos de software

Existe un entendimiento comn de los procesos,


funciones y responsabilidades

La organizacin mantiene un grupo dedicado a la


definicin, mejoramiento y difusin del proceso
estndar

21
El proceso estndar es adaptado a cada proyecto
N. Definido

CMM: El Modelo de Madurez de la


Capacidad

Nivel Gerenciado:

La organizacin define metas de calidad


cuantitativas para:
los productos de software y
los procesos de software

El proceso estndar es medible o cuantificable:

La productividad y la calidad se miden y se registran


para cada proyecto

La calidad del software es predecible

Mediante el uso de mtricas de software, se crea


una base de datos cuantitativa para la evaluacin
y estimacin en proyectos futuros

La capacidad del proceso de software es


cuantificable y predecible
22
N. Gerenciado

CMM: El Modelo de Madurez de la


Capacidad

Nivel Optimizado:

La organizacin se orienta hacia el mejoramiento


contnuo de sus procesos de software

La organizacin identifica las debilidades y fortalezas de


su proceso y determina maneras de mejorar su capacidad

La organizacin busca aumentar la capacidad y el


rendimiento de sus procesos

Se incorporan nuevas tecnologas y mtodos para


mejorar los procesos

El mejoramiento ocurre a travs de:


El avance incremental del proceso
Uso de nuevas tecnologas y mtodos

N. Optimizado
23

CMM: El Modelo de Madurez de la


Capacidad
Nivel

Area clave del proceso

1) Inicial
2) Repetible

Ingeniera de requerimientos
Planificacin de proyectos
Control y seguimiento de proyectos
Gerencia de subcontratacin
Aseguramiento de la calidad del software (S/W)
Gerencia de la configuracin del S/W

3) Definido

Coordinacin de la definicin y mejora del proceso


Programa de adiestramiento
Integracin Gerencia e Ingeniera de S/W
Ingeniera de productos de S/W
Coordinacin inter-grupos
Revisiones

4) Gerenciado

Gerencia cuantitativa de procesos


Gerencia de la calidad del software

5) Optimizado

Prevencin de defectos
Gerencia del cambio tecnolgico y del proceso

24

CONCLUSIONES
El desarrollo de software es un proceso complejo que requiere:

Un recurso humano altamente especializado y


actualizado

Un mejoramiento continuo y estandarizacin de los


procesos de desarrollo

Aplicacin de procesos gerenciales

Un aseguramiento de la alta calidad del software


producido

Tecnologa y herramientas apropiadas y


actualizadas

El CMM proporciona una estructura conceptual y metodolgica para


mejorar la gerencia y el desarrollo de S/W y, por ende, la calidad de los
25
productos

CONCLUSIONES
El manejo de la calidad del software se refiere a a asegurar
que el software cumple con estndares requeridos
Los procedimientos de aseguramiento de calidad debern
estar documentados en un manual de calidad
organizacional
Un plan de calidad de un proyecto deber identificar los
requerimientos especficos de calidad
Los estndares de software son la reunin de las mejores
practicas

ACTIVIDAD
Actualmente existen en el mercado diversas opciones de
Certificaciones y normativas de calidad en software. Haga
una investigacin y desarrolle un documento, explicando
cada una de ella y colocando ejemplos.

28

You might also like