Está en la página 1de 41

Ingeniera de Software

Gestin de Proyectos de Software

Tema

Mtricas en la gestin de proyectos de


software

Objetivos Generales:
Comprender correcta y eficientemente

los conceptos y principios del espectro


de tcnicas de Ingeniera de Software
que puedan ser aplicadas en proyectos
de software.
Desarrollar una cultura de ingeniera

de software.

Objetivos Especficos:
Aplicar

correctamente los conceptos y


principios relacionados a la Ingeniera de
Software en la resolucin de casos
prcticos para la gestin de proyectos de
software de calidad.

Utilizar herramientas para el modelado y

gestin de proyectos de software.

Utilizar metodologas agiles en el

desarrollo de software.

Objetivos Instruccionales:
Tener

una visin mas profunda


proporcionando un mecanismo para
realizar una evaluacin objetiva.

Aplicacin de la medicin al proceso

de software con el intento de mejorarlo


sobre una base continua.

Fundamentos de mtricas de gestin

Razones para medir los procesos, productos


y recursos
Caracterizar:
Entender el proceso actual, entorno, etc.
Disponer de informacin de la situacin anterior al cambio.

Evaluar:
Determinar la consecucin de objetivos
Identificar fortalezas y debilidades del proceso

Predecir:
Entender las relaciones entre procesos y productos
Establecer objetivos alcanzables de calidad, costes y agendas

Mejorar:
Identificar causas y oportunidades de mejora
Seguir el rendimiento de los cambios y compararlo con lneas base

Fundamentos de mtricas de gestin

Medidas, Mtrica, e Indicadores


Medida:
Proporciona una indicacin cuantitativa de la extensin, cantidad,
dimensiones, capacidad o tamao de algunos atributos de un proceso o
producto.

Medicin:
Es el acto de obtener una medida.

Mtrica:
Es el resultado de efectuar evaluaciones durante un periodo largo de
tiempo sobre algn(os) aspecto(s) que un conjunto de proyectos,
procesos que servirn de lnea base.

Indicador:
Permite ajustar el producto, el proyecto o el proceso para que las cosas
salgan mejor.

Fundamentos de mtricas de gestin

El Proceso e Indicadores del Proyecto


Las mtricas deben recopilarse para que los
indicadores del proceso y del producto puedan
ser ciertos.
Los indicadores del proyecto permiten al gestor
de proyectos del software:

Evaluar el estado del proyecto en curso.

Seguir la pista de los riesgos potenciales.

Detectar las reas problemas antes de que se conviertan en


criticas.

Ajustar el flujo y las tareas del trabajo.

Evaluar la habilidad del equipo del proyecto en controlar la


calidad de los productos de trabajo del software.

Fundamentos de mtricas de gestin

Gestin de un proyecto
Que es:
Es lo primero que hay que hacer antes de empezar la labor tcnica
de un proyecto.

Finalidad:
Determinar cuanto va a costar (en tiempo y dinero),
Cuantos recursos son necesarios,
Que tareas se van a realizar.

Que tiempo:
Su actividad se prolonga a lo largo de todo el
desviaciones y previniendo riesgos

proyecto corrigiendo

Fundamentos de mtricas de gestin

Gestin de un proyecto
Que se gestiona?

Mtricas
Se mide para mejorar.
Debemos saber cuanta es nuestra productividad, cuanta
calidad damos, que productos aumentan la productividad, quien
produce mas y quien menos.
Las mtricas estn relacionadas con los costes, el tiempo.

Planificacin
Estimar el esfuerzo humano requerido, la duracin cronolgica del
proyecto y su coste monetario.
Generalmente se hace en base a experiencias anteriores, de ah la
importancia de las mtricas.

Fundamentos de mtricas de gestin

Gestin de un proyecto
Que se gestiona?

Anlisis de riesgos
Localizar todos los problemas que le pueden surgir a nuestro
proyecto, y preparar tcticas para combatirlas:

Identificacin de riesgos
Calculo de riesgos
Priorizacin de riesgos
Estrategias de control de riesgos
Resolucin de riesgos
Supervisin de riesgos

Fundamentos de mtricas de gestin

Gestin de un proyecto
Que se gestiona?

Planificacin temporal
Se identifican las tareas de ingeniera a realizar
Se establecen sus interdependencias
Se estima su coste (esfuerzo, duracin, disponibilidad de
recursos)
Se asignan recursos
Se establece la red de tareas

Seguimiento y control
El gestor controla el proyecto y corrige desviaciones

Mtricas del proceso de software

Determinantes de la calidad del software y


de la efectividad de la organizacin
Producto

Caractersticas
del cliente

Condiciones
del negocio

Proceso
Tecnologa

Personas
Entorno de
desarrollo

Mtricas del proceso de software

Mtrica del Proceso


(Propsito estratgico)

Mtricas privadas:
Slo es conocido por el equipo del proyecto, pero publicas
por todos los miembros del equipo

ndices de defecto por individuo o mdulo

Lneas de cdigo o puntos de funcin por modulo y funcin

Errores encontrados durante la revisin con tcnicas formales

Mtricas pblicas:
Asimilan informacin que originalmente era privada de
particulares y equipos permitiendo a las organizaciones
hacer los cambios estratgicos para mejorar el proceso del
software.

ndice de defectos a nivel de proyecto

Mtricas del proceso de software

Mejora estadstica de proceso del software


Utiliza el anlisis de fallos del software para recopilar
informacin de errores y defectos encontrados al
desarrollar y utilizar una aplicacin de sistema o producto.
Funciona de la siguiente manera:
Todos los errores se categorizan
Se registra tanto el coste de corregir cada error como el del defecto
El numero de errores y defectos de cada categora se cuentan y se ordenan
Se computa l coste global de errores y defectos de cada categora
Los datos resultantes se analizan para detectar las categoras que producen
el coste mas alto para la organizacin
Se desarrollan planes para modificar el proceso con el intento de eliminar la
clase de errores y defectos que sean mas costosos.
La mejora estadstica del proceso de software ayuda a la
organizacin a descubrir donde ellos son fuertes y donde no

Mtricas del proceso de software

Causas de defectos y su origen para cuatro


proyectos de software
Lgica (20%)
Manejo de datos (10.9%)

Interfaz de software (6.0%)

Estndares (6.9%)

Interfaz hardware (7.7%)

Comprobacin de errores
(10.9%)

Interfaz de usuario (11.7%)

Especificaciones (25.5%)

Mtricas del proceso de software

Diagrama de espina para el factor de


calidad: Defectos de especificacin (25.5%)
Requisitos perdidos

Especificacin ambigua

Defecto de especificacin
Cliente equivocado
consultado

Cliente dio informacin


equivocada
Peticiones inadecuadas
Informacin
anticuada
utilizada

Requisitos incorrectos

Requisitos cambiados

La coleccin de
mtricas del proceso
es el conductor para
la creacin del
diagrama de espina

Mtricas del proyecto de software

Mtrica del Proyecto


(Carcter tctico)

La mtrica del proyecto de software se usa por el


equipo del software para adaptar el flujo de
trabajo del proyecto y las actividades tcnicas.
La utilizacin de mtricas para el proyecto tiene
dos aspectos fundamentales:
Se utilizan para minimizar la aplicacin de desarrollo haciendo
los ajustes necesarios que eviten retrasos y reduzcan
problemas y riesgos potenciales.
Se utilizan para evaluar la calidad de los productos en el
momento actual y cuando sea necesario.

Mtricas del proyecto de software

Mtrica del Proyecto


Todo proyecto debe medir:
Entradas:
La dimensin de los recursos (personas, entornos) que se
requiere para realizar el trabajo.

Salidas:
Medidas de la entrega o productos creados durante el
proceso de ingeniera de software.

Resultados:
Medidas que indican la efectividad de las entregas.

Mtricas del proyecto de software

Mtrica del Software


Medimos para:
Indicar la calidad del producto
Evaluar la productividad personal
Evaluar beneficios
Tener una lnea base de estimacin
Justificar el uso de nuevas herramientas

Categoras bsicas de mediciones

Mediciones del software


Medidas directas:
Del proceso del software:
Coste, el esfuerzo en horas o personas

Del producto:
LDC, velocidad de ejecucin, tamao de memoria

Medidas indirectas:
Funcionalidad
Calidad
Complejidad
Eficiencia
Fiabilidad

Categoras bsicas de mediciones

Clasificacin de las mtricas de un


Software
De productividad: Rendimiento del proceso de la ingeniera del
software
De calidad: Como se ajusta el software a las especificaciones del
cliente
Tcnicas: La complejidad del software, su facilidad de mantenimiento
Orientadas al tamao: Medidas directas del software
Orientadas a la funcin: Medidas indirectas
Orientadas a la persona: Cuanto produce el personal, dependiendo
de las herramientas que usan

Categoras bsicas de mediciones

Mtricas para la Calidad


Miden el nmero de defectos no descubiertos en la
prueba, la facilidad de mantenimiento del sistema y la
eficiencia de eliminar los defectos.

Factores que afectan a la calidad:

Operacin del producto (uso)

Revisin del producto (modificacin)

Transporte (modificacin para que funcione en otro


entorno)

Categoras bsicas de mediciones

Mtricas para la Calidad


Correccin:
Definicin: Grado en que el software realiza la funcin encomendada.
Medida: Defectos por KLDC (medida mas comn), Defectos por PF
Defecto: Carencia verificada de conformidad con los requisitos. Los
comunica el usuario a lo largo de un periodo de tiempo determinado (un
ao).
Facilidad de mantenimiento:
Definicin: Facilidad con la que se puede corregir un programa si se
encuentra un error, adaptarlo a un cambio de entorno, o mejorarlo ante
una peticin del cliente
Medida: No hay. Son indirectas. TMC (Tiempo Medio de Cambio), es el tiempo
que lleva analizar, disear, implementar, probar y distribuir un cambio.
Desperdicio: Coste de corregir los defectos encontrados despus de
haber distribuido el software a los usuarios finales

Categoras bsicas de mediciones

Mtricas para la Calidad


Integridad:
Definicin: Habilidad de un sistema para resistir ataques (accidentales o
intencionados) contra su seguridad tanto a los programas como a los
datos y documentos
Amenaza: Probabilidad de que un ataque ocurra en un tiempo
determinado
Seguridad: Probabilidad de que se puede repeler el ataque
Integridad = [(1-amenaza) * (1-seguridad)]

para cada tipo de ataque

Facilidad de uso:
Definicin: Es una cuantificacin de la amigabilidad de uso
Caractersticas:
Habilidad intelectual y/o fsica para aprender el sistema
Tiempo necesario para llegar a ser moderadamente eficiente en el uso
del sistema
Aumento neto en productividad cuando se utiliza eficientemente .
Valoracin subjetiva del usuario hacia el sistema

Categoras bsicas de mediciones

Mtricas Orientadas al Tamao


Las mtricas del software orientadas al tamao

provienen de la normalizacin de las medidas de


calidad y/o productividad, considerando el
tamao del software que se haya producido.
Para

desarrollar mtricas que se puedan


comparar entre distintos proyectos, se
seleccionan las lneas de cdigo como valor de
normalizacin.

Categoras bsicas de mediciones

Mtricas Orientadas al Tamao


Proceden de la normalizacin de medidas de calidad y productividad
considerando el tamao del software.
Ejemplo:
Proyecto

KLDC

Dinero

Esfuerzo

a1
b1
c1

12,1
27,2
20,1

168
440
314

24
62
43

(personas-mes)

Pag. Docs

Errores

Personas

365
1224
1050

29
86
64

3
3
6

Algunas mtricas --> Formulas:


(KLDC por persona-mes): Productividad = KLDC / persona-mes
(Errores por KLDC): Calidad = Errores / KLDC
(Coste por KLDC): Coste = Dinero / KLDC
(Pagina de documentacin por KLDC): Documentacin = Paginas de documentacin / KLDC

Todo se basa en la KLDC pero esta medida es un artificio, que depende del lenguaje de
programacin utilizado.

Categoras bsicas de mediciones

Mtricas orientadas a la funcin


Puntos de funcin:
Funcionalidad o utilidad de la aplicacin
La unidad bsica de medida son los Puntos de Funcin

Calculo de puntos de funcin


Factor de ponderacin
Parmetro de medicin

Cuenta

Simple Medio Complejo

Total

Numero de entradas del usuario

Numero de salidas del usuario

Numero de peticiones al usuario

Numero de archivos

10

15

Numero de interfaces externos

10

Cuenta-Total

Categoras bsicas de mediciones

Mtricas Orientadas a la funcin


Formulas:
Puntos de Funcin = Cuenta-Total * [0,65+0,01 * sum(Fi)]
Donde Fi (i = 1 hasta 14) son unos valores de ajuste de complejidad
De 0 a 5 (0=sin influencia, 5=esencial)
1.Requiere el sistema de copias de seguridad y recuperacin fiable?
2.Se requieren comunicaciones de datos?
3.Existen funciones de procesamiento distribuido?
4.Es critico el rendimiento?
5.Ser ejecutado el sistema en un entorno operativo existente y fuertemente utilizado?
6.Necesita el sistema entrada de datos interactiva?
7.La entrada de datos interactiva requiere que las transacciones de entrada se lleven a
cabo sobre mltiples pantallas o varias operaciones?
8.Se actualizan los archivos maestros de forma interactiva?
9.Son complejas las entradas, las salidas, los archivos o peticiones?
10.Es complejo el procesamiento interno?
11.Se ha diseado cdigo para ser reutilizado?
12.Estn incluidas en el diseo la conversin y la instalacin?
13.Se ha diseado el sistema para soportar mltiples instalaciones en diferentes
organizaciones?
14.Se ha diseado la aplicacin para facilitar los cambios y para ser fcilmente utilizada
por el usuario?
Productividad = PF / personas-mes Calidad = Errores / PF
Coste = Dinero / PF
Documentacin = Paginas documentacin / PF

Categoras bsicas de mediciones

Mtricas Orientadas a la funcin


Ventajas:
Los PF son independientes del lenguaje de

programacin
Se basan en datos que se puedan conocer antes de

empezar el proyecto

Inconvenientes:
Los datos se basan en juicios subjetivos
Su valor no es fsico. No tiene unidades

Categoras bsicas de mediciones

Mtricas Orientadas a la funcin


Ejercicio
Un administrador de software esta a cargo del desarrollo de un
sistema de software de seguridad critico que se disea para controlar
una maquina de radioterapia para tratar a los pacientes que sufren de
cncer. Este sistema esta incrustado en la maquina y debe ejecutarse
en un procesador de propsito especial con una cantidad fija de
memoria (32 MB). La mquina se comunica con un sistema de base
de datos de pacientes para obtener los detalles del paciente y,
despus del tratamiento automticamente registra los datos de
radiacin suministrada y otros detalles del tratamiento en la base de
datos. La productividad media del equipo de desarrollo es de 6 PF/pm.
Estime el esfuerzo y el costo total requerido para desarrollar este
sistema en Visual Basic, siendo la tarifa laboral de US$ 3,000 por pm. Adems se sabe que la LDC/PF (media) del Visual basic es 32 y
que se requieren 8,000 LDC. Los valores de ajuste de la complejidad
suman 53.

Categoras bsicas de mediciones

Mtricas Orientadas a la funcin


Solucin del ejercicio
DATOS INFORMATIVOS:
Productividad Media (PM) = 6 PF/p-m
La tarifa local es de = US$ 3,000 p-m
DETERMINANDO LOS PUNTOS DE FUNCION
PF = (8000/32) x ( 0.65 + 0.01 x 53) = 295
ESTIMACIONES:
Coste del PF = 3000 / 6 = US$ 500
Costo total = US$ 500 x 295 = US$ 147,500
Esfuerzo = 295 / 6 = 49.16 = 49 p-m

Factores que pueden incidir en la


productividad
Factor

% Aproximado de variacin

Factores humano

90

Factores del problema

40

Factores del proceso

50

Factores del producto

140

Factores de los
recursos

40

Factores humanos: El tamao y la experiencia del equipo de desarrollo


Factores del problema: La complejidad del problema a resolver y el
numero de cambios en el diseo
Factores del proceso: Tcnicas de ingeniera del software utilizadas, y
disponibilidad de herramientas CASE
Factores del producto: Fiabilidad y rendimiento del sistema basado en
computadora
Factores de los recursos: De software (herramientas CASE...) y de
hardware

Consejos sobre la lnea base


Los datos deben ser razonablemente precisos, han de
evitarse la suposicin sobre proyectos anteriores.
Los datos deben obtenerse de tantos proyectos como
sea posible.
Las medidas deben ser consistentes. LDC distintas para
cada lenguaje de programacin.
Las aplicaciones deben ser similares a la que va a ser
estimada.

LDC / PF (media)
Lenguaje de programacin

LDC /PF (media)

Ensamblador

320

Cobol

106

Fortran

106

Pascal

90

Ada

53

Lenguajes orientados a objetos

30

Lenguajes de cuarta generacin

20

Generadores de cdigo

15

SQL

12

Power Builder

16

C++

64

Visual Basic

32

Integracin de las mtricas dentro del


proceso de ingeniera del software
Muchos diseadores del software no coleccionan las

medidas.
Sin las medidas es imposible determinar si un proceso est

mejorando o no.
Las lneas base de mtricas constan de datos recogidos de

proyectos de software desarrollados anteriormente.


Conseguir estos datos de proyectos histricos es muy difcil,
si los diseadores anteriores no coleccionaron los datos de
una manera continua.

Integracin de las mtricas dentro del


proceso de ingeniera del software
Establecimiento de una Lnea Base
Los datos de la Lnea Base deben tener los siguiente atributos:

1. Deben ser razonablemente exactos


2. Deben reunirse del mayor numero de proyectos que sea

posible
3. Las medidas deben ser consistentes
4. Las aplicaciones deben ser semejantes para trabajar

con la estimacin.

Integracin de las mtricas dentro del


proceso de ingeniera del software
Coleccin de mtricas, computo y evaluacin
Proceso
de
ingenier
a de
software
Proyecto
de
software
Producto
de
software

Recopilaci
n de
datos

Medidas

Calculo
de
mtricas

Mtricas

Evaluaci
n de
mtricas
Proceso de recopilacin de mtricas del software

Indicado
res

Establecimiento de un programa de mtricas de


software
Identifique los objetivos del negocio
Identifique lo que se desea saber o aprender
Identifique los subobjetivos
Identificar las entidades y atributos relativos a esos subobjetivos
Formalizar los objetivos de la medicin
Identificar preguntas que puedan cuantificarse y los indicadores que se

van a usar para ayudar a conseguir los objetivos de medicin.


Identificar los elementos de datos que se van a recoger para construir los

indicadores que ayuden a responder a las preguntas planteadas.


Definir las medidas a usar y hacer que estas definiciones sean

operativas.
Identificar las acciones que sern tomadas para mejorar las medidas

indicadas.
Preparar un plan para implementar estas medidas.

Apreciacin global

Resumen

El proceso del software y las mtricas del producto

son una medida cuantitativa que permite a la gente


del software tener una visin profunda de la eficacia
del proceso del software y de los proyectos que
dirigen utilizando el proceso como marco de trabajo.

En la direccin de proyecto de software, estamos


principalmente interesados en la evaluacin para
determinar las mejoras en la calidad y productividad.

Hay cuatro razones para medir los procesos del

software y recursos: Caracterizar, Evaluar, Predecir,


y Mejorar.

También podría gustarte