Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ANLISIS
NOTA DE EDICIN
Este curso ha sido desarrollado por el Laboratorio Nacional de Calidad del Software de
INTECO. Esta primera versin ha sido editada en Junio del 2009.
El presente documento est bajo la licencia Creative Commons Reconocimiento-No comercial-Compartir Igual versin
2.5 Espaa.
Usted es libre de:
copiar, distribuir y comunicar pblicamente la obra
hacer obras derivadas
Bajo las condiciones siguientes:
Reconocimiento. Debe reconocer los crditos de la obra de la manera especificada por el autor o el licenciador
(pero no de una manera que sugiera que tiene su apoyo o apoyan el uso que hace de su obra).
No comercial. No puede utilizar esta obra para fines comerciales.
Compartir bajo la misma licencia. Si altera o transforma esta obra, o genera una obra derivada, slo puede
distribuir la obra generada bajo una licencia idntica a sta.
Al reutilizar o distribuir la obra, tiene que dejar bien claro los trminos de la licencia de esta obra.
Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor
Nada en esta licencia menoscaba o restringe los derechos morales del autor.
Esto es un resumen legible por humanos del texto legal (la licencia completa) disponible
http://creativecommons.org/licenses/by-nc-sa/2.5/es/
en
El presente documento cumple con las condiciones de accesibilidad del formato PDF (Portable Document Format).
Se trata de un documento estructurado y etiquetado, provisto de alternativas a todo elemento no textual, marcado de
idioma y orden de lectura adecuado.
Para ampliar informacin sobre la construccin de documentos PDF accesibles puede consultar la gua disponible en la
seccin Accesibilidad > Formacin > Manuales y Guas de la pgina http://www.inteco.es.
AVISO LEGAL
Las distintas normas ISO mencionadas han sido desarrolladas por la International
Organization for Standardization
Todas las dems marcas registradas que se mencionan, usan o citan en el presente curso
son propiedad de los respectivos titulares.
INTECO cita estas marcas porque se consideran referentes en los temas que se tratan,
buscando nicamente fines puramente divulgativos. En ningn momento INTECO busca con
su mencin el uso interesado de estas marcas ni manifestar cualquier participacin y/o
autora de las mismas.
Nada de lo contenido en este documento debe ser entendido como concesin, por
implicacin o de otra forma, y cualquier licencia o derecho para las Marcas Registradas
deben tener una autorizacin escrita de los terceros propietarios de la marca.
Por otro lado, INTECO renuncia expresamente a asumir cualquier responsabilidad
relacionada con la publicacin de las Marcas Registradas en este documento en cuanto al
uso de ninguna en particular y se eximen de la responsabilidad de la utilizacin de dichas
Marcas por terceros.
El carcter de todos los cursos editados por INTECO es nicamente formativo, buscando en
todo momento facilitar a los lectores la comprensin, adaptacin y divulgacin de las
disciplinas, metodologas, estndares y normas presentes en el mbito de la calidad del
software.
NDICE
1.
ESCENARIO DE APERTURA
2.
INTRODUCCIN
2.1.1.
10
2.3. Conceptos
12
2.3.1.
Mtricas y medidas
12
2.3.2.
13
2.3.3.
Otros conceptos
13
15
Beneficios de la medicin
17
19
19
21
23
3.3.1.
Plan de medicin
25
27
3.4.1.
Recoger
28
3.4.2.
Validar
29
3.4.3.
Almacenar
30
4.
2.4.1.
3.
Contexto de la medicin
31
3.5.1.
Mtodos de anlisis
32
3.5.2.
34
MTRICAS
38
38
4.1.1.
40
4.1.2.
Mtricas de recursos
41
La productividad
42
43
45
47
4.3.2.
5.
48
BUENAS PRCTICAS
49
52
ENFOQUE MODELOS
54
6.1. CMMI
54
56
7.
ESCENARIO DE CLAUSURA
59
8.
ENLACES
61
9.
GLOSARIO
62
6.
Escenario de Apertura
Con motivo de la incorporacin de un nuevo director a la empresa COMPASS S.A. va a ver
varios cambios, sobre todo en el rea de medicin y anlisis ya que es un rea bastante
ignorada en el pasado.
Un jefe de proyecto va a iniciar un nuevo proyecto y antes de comenzar tiene una reunin
inicial con el director quien expresa su deseo de priorizar la medicin en los proyectos como
necesidad fundamental.
Introduccin
La medicin es una parte integral de la gestin de proyectos software. Proporciona una
manera cuantificable de conocer dnde estamos y validar la efectividad de las mejoras que
hagamos.
Kelvin
Las mtricas son un buen medio para entender, monitorizar, controlar, predecir
y probar el desarrollo software y los proyectos de mantenimiento (Briand et al.,
1996).
Contexto de la medicin
La ingeniera de software todava es una disciplina en evolucin. Los profesionales en este
mbito todava no estn acostumbrados a medir y por esta razn tienden a rechazarlo. En el
campo de la ingeniera de software a menudo se escuchan palabras que muestran cmo las
personas confan en sus opiniones o corazonadas a la hora de establecer compromisos.
10
una idea de la capacidad del proceso software. Este dato es til para la estimacin. El
anlisis de la causa raz de los datos ayuda a responder a preguntas como las siguientes:
Estos anlisis ayudan a decidir las prioridades para la mejora del proceso software a nivel
organizacional y validar la efectividad de los esfuerzos de mejora.
Los datos obtenidos al medir proyectos pasados dan una idea para predecir lo que puede
esperarse de proyectos futuros, y as ayudar a formular una estimacin ms exacta. Sin
embargo, se deberan tener en cuenta las diferencias entre las caractersticas de los
proyectos del pasado y las del proyecto que se est estimando.
Utilizando datos histricos disponibles pueden establecerse metas conseguibles en cuanto
a presupuesto, cronograma y calidad.
En ocasiones, los datos sobre un proceso software no estn disponibles. Esto puede ocurrir
porque:
la organizacin es nueva
En ausencia de datos de proyectos anteriores, deberan utilizarse otros datos para realizar
las estimaciones como datos de la industria para proyectos similares. Tambin podemos
utilizar modelos de estimacin disponibles basados en datos relevantes de la industria.
La estimacin, primer paso de la planificacin de proyectos, est basada en:
otros anlisis
11
Conceptos
Mtricas y medidas
Una medida proporciona una indicacin cuantitativa sobre un atributo de un producto o
proceso. La medicin puede referirse a la extensin, cuanta, dimensin, capacidad y
tamao.
Una mtrica es calculada utilizando una medicin o una combinacin de mediciones
proporcionando informacin acerca de un producto o proceso. IEEE define una mtrica
como una medida cuantitativa del grado con el que un sistema, proceso o un componente
posee un atributo dado. Una mtrica o un conjunto de mtricas permiten a los jefes de
proyecto ajustar los detalles necesarios de un proceso o un producto y formar la base para
una correcta toma de decisiones.
Necesitamos mtricas para establecer metas y conocer donde estamos respecto a ellas
12
Por otra parte, la complejidad de un programa no es algo que pueda medirse directamente.
Para ello, necesitaremos identificar algunos atributos que indiquen dicha complejidad. La
complejidad puede depender del tamao del programa, del nmero de estructuras o ramas
condicionales del programa, y del nmero de estructuras con bucles. Nosotros podemos
medir estos atributos y combinarlos para obtener la complejidad del proyecto. Por lo tanto, la
complejidad es una mtrica indirecta calculada combinando algunas mtricas directas de
una determinada manera.
Otros conceptos
A continuacin se definen algunos conceptos clave en el proceso de medicin y anlisis:
13
Entidad: Objeto que va a ser caracterizado mediante una medicin de sus atributos
[ISO- 15939]. En software hay tres clases de entidades cuyos atributos podemos
querer medir:
Concepto medible: El concepto medible es una percepcin sobre las entidades que
deberan ser medidas con el objetivo de satisfacer una determinada necesidad de
informacin. Por ejemplo, una persona encargada de tomar una decisin relacionada
con la asignacin del presupuesto y recursos a una tarea puede considerar que la
productividad est relacionada con el tipo de tarea que se vaya a ejecutar. Por lo
tanto, la productividad es el concepto medible que dirige la necesidad de informacin
definida.
de
Relaciones
Ejemplos
Evaluar si un producto SW
Entidad
Un programa holamundo
entidades.
Una medicin se realiza sobre los atributos de una
14
entidad.
Categora
entidad
de
de entidades.
recursos, programas en C,
componentes software
podra
ser
categora
entidad.
atributo
de
de
la
entidad
programas en C.
Est relacionado con uno o ms conceptos medibles.
Concepto
Se
medible
informacin.
asocia
una
varias
necesidades
de
Adecuacin
relacin
de
tecnolgica,
productividad
15
Coste
Cronograma
Calidad
Producto de buena
Calidad
el xito del proyecto, y para ello ser necesario establecer unas metas alcanzables
en cuanto a costes, agenda y calidad del proyecto.
La medicin ayuda a los jefes de proyecto a llevar a cabo estas actividades. De esta forma
pueden identificar las desviaciones y esto es de gran ayuda a la hora de tomar acciones
correctivas a tiempo, como por ejemplo:
Para entender cmo la medicin puede contribuir al xito del proyecto podemos pensar en
cmo el jefe de proyecto y el resto de personas involucradas en el negocio podran
establecer metas y controlar el rendimiento del proyecto.
16
Beneficios de la medicin
La medicin es esencial para el xito de la planificacin y ejecucin de los proyectos. La
medicin ayuda:
mejorar la calidad
La medicin tambin ayuda a mejorar los procesos. Utilizando mejores procesos, las
organizaciones son capaces de producir productos software de alta calidad.
17
A nivel de organizacin
proyectos.
Mejorar la posicin de la empresa en el mercado.
Conocer cul es la probabilidad de alcanzar ese
compromiso.
18
Calendario y progreso: esta categora trata los objetivos de los hitos del proyecto y
completitud de unidades de trabajo individuales. Un proyecto que se sale de la
agenda, normalmente puede cumplir sus objetivos de entrega slo eliminando
funcionalidades o sacrificando la calidad del producto.
19
Satisfaccin del cliente: esta categora se ocupa del grado en que los productos o
servicios entregados por el proyecto cumplen las expectativas del cliente. Los
indicadores de satisfaccin pueden obtenerse de la retroalimentacin del cliente.
20
Concepto
medible
Construccin
mtrica
Procedimiento
medicin
Plan medicin
Figura 9. Evolucin de una necesidad de informacin a un plan de medicin
Por ejemplo, una persona encargada de tomar una decisin relacionada con
la asignacin del presupuesto y recursos a una tarea puede considerar que la
productividad est relacionada con el tipo de tarea que se vaya a ejecutar.
Por lo tanto, la productividad es el concepto medible que dirige la necesidad
de informacin definida. (Determinar la productividad requiere que las
entidades, como son el producto o proceso software, sean medidas).
21
Finalmente, el concepto medible ser formalizado como una construccin de medida que
especifica exactamente qu ser medido y cmo los datos sern combinados para producir
resultados que satisfagan la necesidad de informacin. Dos medidas aplicables a este
ejemplo podran ser el tamao del software y el esfuerzo.
El siguiente grfico muestra la estructura bsica de una construccin de medida.
Producto
Indicador
Mtrica
derivada
Mtrica base
Atributo
Todo lo que puede realmente ser medido incluye atributos especficos de procesos y
productos software, como tamao, esfuerzo y nmero de defectos. La construccin de
medicin describe cmo los atributos de software relevantes son cuantificados y
convertidos en indicadores que proporcionan una base para tomar decisiones.
Uno de los obstculos ms crticos para el xito de la medicin es que los objetivos de
distintos grupos dentro de una organizacin no siempre estn alineados y a veces pueden
resultar contradictorios.
Por ejemplo, todas las organizaciones realizan un seguimiento del calendario de los
proyectos. Sin embargo, los datos que se toman y la importancia de las mediciones del
calendario varan dentro de la organizacin:
22
Los objetivos de calendario y costes son, a menudo, determinados por otras partes
como clientes, gerentes de marketing y alta direccin.
Por otro lado, el gerente de procesos estar preocupado por los cambios en el
tiempo de desarrollo del software y su impacto en otros procesos.
Un programa de medicin exitoso debe integrar las necesidades de informacin de todos los
involucrados en tomas de decisiones.
Definir mtricas
El formalizar un concepto medible en una construccin de medicin implica el considerar
los detalles de los procesos y productos del proyecto software y una descripcin detallada
de la necesidad de informacin asociada. Estos detalles ayudarn en la implementacin de
un programa de medicin efectivo y eficiente. Los beneficios ms destacados del uso de
construcciones de medicin bien definidos incluyen:
Aumentar la exactitud, asegurando que todos los aspectos esenciales del enfoque
de medicin estn definidos de una manera adecuada.
23
Necesidades de Informacin
Producto de
Informacin
Concepto medible
Diseo de la
construccin de
medicin
Entidades
Atributos
24
Se han utilizado diferentes enfoques para implementar mtricas sobre proyectos software
aunque no todos son efectivos. Algunos de estos enfoques se han basado en la definicin
detallada de mtricas que se puedan aplicar de forma ecunime a cada proyecto de la
organizacin. Otros, sin embargo, optan por la compra de herramientas de anlisis y
mtricas automatizadas de un proveedor externo sin conocimiento alguno de los procesos
de la organizacin. Pero, realmente para que una mtrica tenga xito y ayude a cumplir los
objetivos del proyecto en un entorno cambiante, hay que tener muy en cuenta las
necesidades de informacin.
Plan de medicin
En todo proceso de medicin ser necesario un plan de medicin que especifique qu se
va a medir y cmo se va a realizar el proceso. Este plan de medicin ser desarrollado en
esta fase, aunque se ir retroalimentando con la informacin obtenida en la siguiente fase,
es decir, a medida que se vayan tomando y analizando las mtricas y vayan apareciendo
nuevas necesidades de informacin, el plan de medicin se ir modificando.
A continuacin se muestran los puntos o apartados que podra contemplarse en un plan de
medicin:
Alcance: Documentacin del alcance de las mtricas del proyecto indicando que
etapas del desarrollo y mantenimiento del ciclo de vida se cubren con este plan.
Objetivos: Exposicin de los objetivos del documento. Entre los objetivos de este
plan pueden estar la identificacin de mtricas y la gestin del rendimiento del
proyecto. Este plan detalla los procesos y las herramientas, en el caso en que se
usen, necesarios para recolectar medidas, calcular mtricas, analizar e informar de
los resultados.
25
Dependencias del plan de medicin: En esta seccin se han de exponer todos los
planes y procesos que estn relacionados con el plan de medicin. Entre ellos
pueden estar plan de proyecto, plan de gestin de la configuracin, plan de gestin
de riesgos, plan de gestin de la calidad. Los cambios que se produzcan en alguno
de estos planes o procesos puede implicar una revisin del que se est definiendo
en este documento.
Descripcin
Definicin detallada de las mtricas que se van a usar en el
proyecto indicando por ejemplo:
nombre de la mtrica
descripcin de la mtrica
frmula
prioridad
fuente de los datos
nivel de anlisis
informe de anlisis
26
Captura de datos
Comunicacin de resultados
Formacin
27
Recoger
28
Validar
En varias disciplinas tradicionales como la fsica, la qumica e ingenieras clsicas, la
evolucin, empleo y validacin de mtricas se ha desarrollado a lo largo de siglos, de modo
que hoy muchas de las mtricas estn incorporadas en la vida cotidiana como medidas de
temperatura, velocidad, distancia, entre otras, sin que nadie dude sobre la validez de las
mismas. Sin embargo, no sucede lo mismo en Ingeniera de Software, donde todava se
debate si existe comprensin suficiente sobre las no demasiadas mtricas existentes y
popularmente empleadas.
Por eso es importante tener un claro conocimiento de las propiedades que deberan tener
las mtricas. Entre las ms importantes estn [Schulmeyer y MacKenzie, 2000]:
Informalmente se dice que una medida es vlida si caracteriza fielmente el atributo que
pretende medir.
29
[Kitchenham et al, 96] asumen que para que una medida sea vlida se deben cumplir dos
condiciones:
Almacenar
Tal y como se especific con anterioridad, en el plan de medicin organizacional quedar
recogido una descripcin del repositorio donde se almacenarn los datos y el proceso a
seguir por cada proyecto para incorporar los datos a este repositorio. Este conjunto de
medidas ser requerido para cada proyecto, pudiendo realizarse adaptaciones para
proyectos especficos.
El repositorio es una herramienta muy til para facilitar el acceso a la informacin de cada
proyecto, en este caso a las mtricas de cada proyecto, de tal forma que la reutilizacin de
mtricas ya definidas y validadas se pueda hacer de manera efectiva. Es decir, gestionar y
30
almacenar los datos medidos, especificaciones de medida y resultados del anlisis permite
un uso futuro de los datos histricos efectivo en tiempo y coste. Esta informacin
tambin es necesaria para proporcionar un contexto en el que interpretar los datos, los
criterios de la medicin y resultados del anlisis.
En un principio, los proyectos pueden almacenar sus datos y resultados en un repositorio
especfico de su proyecto, pero cuando los datos sean compartidos o consolidados por toda
la organizacin, deben residir en el repositorio de medicin de la organizacin.
En definitiva, la especificacin de los procedimientos de almacenamiento de datos ayuda a
asegurar que los datos estn disponibles y accesibles para su uso futuro.
Analizar mtricas
Una vez que se han recogido los datos, stos son tratados para realimentar los proyectos en
una accin correctiva. La recoleccin de datos sera un proceso intil si no se hiciera nada
con esa informacin. Si el anlisis de los datos slo se utiliza para mostrar lo que se ha
conseguido podran servir de manera informativa pero con esto no se consigue ningn
objetivo.
31
Mtodos de anlisis
Especificar los procedimientos de anlisis, indicando cmo se va a analizar y se va a
informar sobre los datos medidos, por adelantado asegura que el anlisis se va a realizar
conforme a los objetivos de medida (y, por tanto, conforme a las necesidades de informacin
y objetivos en que stos se basan). Esto supone tambin una comprobacin de que se van
a recoger los datos necesarios.
Existen distintos mtodos de anlisis. Las herramientas estadsticas promovidas por
Ishikawa para el control de la calidad son ampliamente utilizadas y se han convertido en una
parte importante dentro del control de la calidad. Se las conoce como las siete
herramientas bsicas de Ishikawa y se suelen utilizar para analizar las mtricas de
software.
Estas herramientas estadsticas se pueden aplicar a nivel de proyecto y de organizacin, por
lo tanto, son tiles tanto para jefes de proyecto como para expertos en procesos pero no van
a proporcionar informacin especfica a los desarrolladores de software sobre cmo mejorar
la calidad de sus diseos o sus implementaciones. Adems, los beneficios de estas
estadsticas puede que no se alcancen en el caso de proyectos pequeos, donde los
patrones estadsticos de los parmetros de un proceso de desarrollo son poco obvios.
Las siete herramientas bsicas de Ishikawa son:
Diagrama de Pareto
Histograma
32
Diagrama de dispersin
Grfico de ejecucin
Grfico de control
Diagrama de causa-efecto
Tabla 4.Las siete herramientas bsicas de Ishikawa
Herramienta
Checklist
Diagrama de Pareto
Histograma
Diagrama de dispersin
Grfico de ejecucin
Propsito
Ayudar en la recogida y
organizacin de datos
para facilitar su consulta
en el futuro.
Identificar
potencial
variables
Ejemplos
aplicaciones
Caractersticas
una relacin
entre
dos
Registra el rendimiento de
un parmetro de inters a
lo largo del tiempo
No son largas
Basadas en la experiencia
revisadas y actualizadas de
forma peridica
la
variable
Eje X es el tiempo
Eje Y es
parmetro
el
valor
del
lista de errores
frecuentes que
podra utilizarse
como parte de un
proceso de
prevencin de
defectos
Centrarse en los
tipos de defectos
ms frecuentes.
Identificar
las
principales
causas
de los cambios de
requisitos
el perfil de
satisfaccin del
cliente con un
producto software en
trminos de muy
satisfecho,
satisfecho, neutro,
insatisfecho, y muy
insatisfecho
Para presentar el
coeficiente
de
correlacin entre dos
variables
registrar el
porcentaje de
correcciones en el
software que
superan el tiempo de
respuesta, segn el
criterio
correspondiente
33
Consiste en:
-una lnea central (media:
valor medio de todos los
datos)
Son tiles en la
mejora de procesos
software.
Se pueden utilizar
como herramientas
para
mejorar
la
consistencia
y
estabilidad.
estudios
posteriores
de
las
flechas
inclinadas
estas causas.
Concentrar
el
34
Con un uso efectivo de estas herramientas, un equipo estar preparado para la mejora de
procesos y de la calidad. En cambio, para estos equipos pequeos que comienzan un
programa de mtricas no se recomienda utilizar un grfico de control, ya que es una
herramienta ms adecuada para entornos que cuentan con un control de los sistemas y
datos histricos bien establecido. Respecto a la implementacin de diagramas de dispersin
y grficos de control, se requiere que alguien del equipo tenga una base estadstica.
A continuacin se muestran algunos grficos a modo de ejemplo de algunos mtodos de
anlisis:
Diagrama de Pareto
35
Histograma
% Defectos
Severidad 2 1
Severidad3Severidad4
Diagrama de dispersin
36
Plataforma 2
Plataforma 1
Figura 16. Ejemplo diagrama de dispersin
Grfico de ejecucin
Semanas
37
Mtricas
Existen distintas clasificaciones de las mtricas del software. A ms alto nivel las mtricas
del software se pueden clasificar a 3 niveles: mtricas de producto y servicio, mtricas de
proceso y mtricas de proyecto.
Las mtricas de proyecto describen las caractersticas propias del proyecto y de su
ejecucin. Algn ejemplo puede ser el nmero de desarrolladores de software que trabajan
en el proyecto, la dotacin de recursos a lo largo del ciclo de vida del software, el coste,
calendario del proyecto.
Las mtricas de proceso se pueden utilizar para mejorar el desarrollo y el mantenimiento
del software. Las mtricas del proceso dependen esencialmente del entorno de desarrollo.
Un ejemplo de este tipo de mtricas es el tiempo empleado para desarrollar un elemento
software que dependa de factores externos tales como la capacidad del personal, la
metodologa empleada
Las mtricas de producto y del servicio describen las caractersticas del producto, como
tamao, complejidad, caractersticas de diseo o rendimiento, y el nivel de calidad del
servicio prestado.
Vamos a entrar en cada uno de estos niveles en ms profundidad clasificando distintos tipos
de mtricas en cada uno de dichos niveles:
38
Evaluar la habilidad del equipo del proyecto en controlar la calidad de los productos
de trabajo del software.
Tabla 5. Ejemplo de mtricas durante la gestin de proyectos
Gestin de proyectos
Planificacin
Ejecucin
Cumplimiento de esfuerzos
Cumplimiento de costes
Cumplimiento de alcance
Cumplimiento de RR.HH.
Existencia de seguimiento
Seguimiento
Continuidad de seguimiento
Complecin del seguimiento
Productividad
En realidad, las medidas que recopila un equipo de proyecto y las convierte en mtricas
para utilizarse durante un proyecto tambin pueden transmitirse a los que tienen la
responsabilidad de mejorar el proceso del software. Por esta razn, se utilizan muchas
mtricas similares tanto en el domino del proceso como en el del proyecto.
39
40
serie de pruebas y se encuentran varios defectos. Se corrigen dichos defectos y desde ese
momento se presta ms atencin a las reas que contenan la mayora de dichos defectos.
Despus de un tiempo se vuelven a ejecutar las pruebas y en funcin del resultado se
decidir si continuar centrndose en esas reas de riesgos o si han aparecido nuevas reas
de riesgo en la que centrarse. Es esencial que se vuelvan a ejecutar pruebas para tomar
acciones correctivas en caso de que sea necesario.
En este caso la medicin se ha utilizado para evaluar el estado del proyecto e identificar si
seran necesarias acciones correctivas.
Mtricas de recursos
Los recursos son usados en los proyectos para construir productos. Un proyecto debe
realizarse con un presupuesto definido y esto significa que los recursos disponibles son
limitados.
La planificacin determina el nmero de recursos necesarios para llevar a cabo un proyecto,
mientras que la monitorizacin y control asegura que la utilizacin de recursos est dentro
del presupuesto.
El esfuerzo requerido para llevar a cabo un proyecto software constituye la mayora de su
coste. Por lo tanto, la estimacin y la monitorizacin del esfuerzo invertido en un proyecto es
un rea importante en proyectos software.
Descripcin de tarea
Horas
Estado
41
Cdigo de estado
C - Completo
Firmas
E - En-progreso
S - Suspendido
Fecha de entrega
Los proyectos normalmente utilizan partes de horas, como el que se muestra en la tabla
anterior, como una entrada para medir el esfuerzo real.
42
La productividad
La productividad es una mtrica que proporciona informacin acerca de la eficiencia con la
que un proceso software convierte la entrada en salida.
Una baja productividad significa que se necesitan ms recursos para producir la salida
requerida. Esto afecta tanto al coste (necesitamos ms esfuerzo) como a la agenda (se
necesita ms tiempo) del proyecto, que recordemos son dos aspectos claves del xito de los
proyectos. Por lo tanto, los jefes de los proyectos trabajan por conseguir una alta
productividad de tal forma que puedan acabar el proyecto al menor coste y dentro de la
agenda.
43
Responsables del proyecto sin experiencia son una fuente de problemas (requisitos
mal definidos, clientes no satisfechos, baja productividad del proyecto.)
44
Figura 20. Nivel de satisfaccin del cliente frente a los defectos y los retrasos.
Como se vio en apartados anteriores, una de las claves del xito de los proyectos es la
calidad y por lo tanto ser necesario su planificacin, monitorizacin y control de una
manera exhaustiva. La calidad del producto es el determinante esencial del xito de un
proyecto desde el punto de vista del cliente.
Si un proyecto es completado a tiempo y dentro del presupuesto estimado pero el producto
desarrollado no satisface las necesidades del cliente, es decir, no es lo que el cliente quera,
que se hayan cumplido agenda y presupuesto no ha merecido la pena.
Algunos responsables piensan que los clientes estn ms interesados en tiempo y
desarrollo del producto dentro del presupuesto. Pero realmente esto no es cierto. Los
clientes pueden olvidar un proyecto que est ligeramente fuera de la agenda, incluso que el
45
coste final del proyecto se haya incrementado respecto al proyectado, pero ningn cliente
podr olvidar un producto de poca calidad con el que est trabajando a diario por ejemplo.
Si los jefes de proyecto solo se centran en la productividad, la calidad puede sufrir. A menos
que el equipo de proyecto se centre en desarrollar productos de calidad alta, habr ms
defectos y estos resultarn en un aumento de costes al corregirlos y tambin afectar a la
agenda.
Tabla 7. Ejemplos de mtricas a nivel de producto y servicio
Producto fsico
Nmero de componentes
Lneas de cdigo
Tamao
Puntos funcin
Volumen de software
Nmero de componentes llamados ms de n veces
Nmero de llamadas
Reutilizacin
Volumen de reutilizacin
Ratio de reutilizacin
Desarrollo de productos
Calidad de documentacin de proyecto
Documentacin
Calidad de documentacin de soporte
Porcentaje de cdigo comentado
Calidad de cdigo
Complejidad ciclomtica
Cdigo muerto
Cobertura de pruebas
Calidad de pruebas
Densidad de defectos
46
Servicios
Disponibilidad del sistema
Calidad de explotacin
la densidad de defectos: mide los defectos relativos al tamao del software (lneas
de cdigo, puntos funcin, etc.)
el tiempo medio de fallo: mide el tiempo que trascurre entre la deteccin de fallos
47
48
Buenas prcticas
En un mercado en continuo cambio como es el de TI, las organizaciones necesitan tomar las
decisiones adecuadas y a tiempo para tener xito en los proyectos y sistemas de la
organizacin. Con este panorama, la informacin objetiva es un requisito para la toma de
decisiones crticas y basadas en hechos.
La implementacin de un buen proceso de medicin y anlisis apoyado por una herramienta
que lo automatice permitir a la organizacin tomar decisiones rpidas y adecuadas en
reas competitivas.
A continuacin, se exponen algunas guas para obtener beneficios de la implementacin de
un sistema de medicin exitoso:
Empezar poco a poco: no intentar hacer demasiado en poco tiempo. Empezar con
un conjunto de mediciones pequeo, evaluar estas mediciones y el proceso, e
intentar evolucionar el programa con el tiempo. Como los procesos de TI estn
bastante interrelacionados, a veces, un nmero pequeo de mediciones puede
solventar un amplio conjunto de necesidades de informacin.
49
obtener de forma temprana para reducir riesgos y poder corregir posibles problemas
a tiempo. El programa de medicin debe estar integrado en las prcticas del negocio
de la organizacin, no debe ser tratado como un proceso aadido y aislado del resto.
Otro punto importante a recordar es que las mtricas consumen tiempo y esfuerzo e intentar
medir demasiadas cosas puede ser algo contraproducente. Para organizaciones que se
inician en la prctica de toma de mtricas, se recomienda seguir pasos como los siguientes:
Calcular mtricas que faciliten el entendimiento del producto, proyecto y del proceso
y usar estas mtricas para una gestin de proyectos efectiva, como por ejemplo la
densidad de defectos.
Adems, dentro del proceso de medicin y anlisis, los siguientes puntos son clave:
Tabla 8. Buenas prcticas durante el proceso de medicin y anlisis
Fases del proceso de
Buenas prcticas
medicin y anlisis
Definir
objetivos
medicin
de
Definir mtricas
Estn conectadas con las metas y objetivos
Estn conectadas con los procesos que impactan a las metas y objetivos
50
Recoger,
validar
almacenar mtricas
Analizar mtricas
Utilizar resultados
Utilizar los resultados de la medicin para tomar acciones correctivas y preventivas. Si hay alguna desviacin
sobre la meta o la meta no se alcanza, se deben iniciar acciones correctivas y preventivas.
La medicin y anlisis es un proceso iterativo. Tanto el proceso como las medidas deben ser revisados y
mejorados peridicamente. Las medidas se deben refinar cuando cambien las necesidades de informacin y la
organizacin implemente acciones de mejora.
51
Lecciones aprendidas
Al comenzar a medir los procesos y productos software y sistemas de ingeniera, obtener
unos resultados de medicin tiles puede ser un desafo. La parte positiva es que la mayora
de programas de medicin exitosos estn basados en pocos conceptos bsicos que forman
la base de un programa de medicin efectivo y un enfoque efectivo en costes y flexible para
alcanzar las necesidades de informacin identificadas, incluso en los entornos ms
complejos.
A continuacin, se exponen unas lecciones aprendidas de programas de medicin
llevados a cabo con xito:
Los datos hay que proporcionarlos suficientemente pronto para que los gerentes puedan
definir acciones. No hay que esperar a obtener datos perfectos para tomar decisiones pero
52
hay que basarse en datos correctos, acompaados de una gestin de riesgos e informacin
contextual.
Como la mayora de organizaciones se componen de una cartera de diversos proyectos, la
informacin obtenida a nivel de proyecto debe ser agrupada en los niveles apropiados de la
organizacin para poder ser utilizada de forma efectiva.
53
Enfoque modelos
Existen diferentes modelos que contemplan la medicin y anlisis. En este apartado vamos
a ver el enfoque que dos importantes modelos de mejora de procesos como son CMMI y
SPICE dan al proceso de medicin y anlisis.
CMMI
CMMI es un modelo de madurez de mejora de procesos para el desarrollo y
mantenimiento de productos y servicios. Consiste en una serie de mejores prcticas que
dirigen las actividades de desarrollo y mantenimiento que cubren el ciclo de vida del
producto. CMMI est estructurado en tres constelaciones.
El objetivo principal del rea de proceso Medicin y Anlisis (MA) en el modelo CMMI-DEV
es desarrollar y poner en marcha el sistema de medicin de la organizacin de manera que
pueda satisfacer sus propias necesidades de informacin. Esto implica:
Dar resultados objetivos que puedan ser utilizados para tomar decisiones informadas
y tomar acciones correctivas.
54
Prcticas especficas
SP1.1 Establecer objetivos de medicin
SP1.2 Especificar mediciones
SP1.3
Especificar
procedimientos
de
Especificar
procedimientos
de
anlisis
SP2.1
Recolectar
datos
para
las
mediciones
SG2 Proporcionar Resultados de la Medicin
SP2.2 Analizar datos de las mediciones
Los resultados de las mediciones, las cuales soportan las
metas y necesidades de informacin, son proporcionados.
Las relaciones entre las prcticas especficas estn demostradas en el siguiente grfico:
Alinear las Actividades de Medicin y Anlisis
Establecer
Objetivos de
Medicin
Objetivos de
Medicin
Especificar
Mediciones
Resultados de
Medicin
Especificar
Procedimientos de
Recogida y
Almacenamiento
de Datos
Repositorio de
Mediciones
Especificar
Procedimientos de
Anlisis
Procedimientos
& Herramientas
Comunicar
Resultados
Almacenar
Datos y
Resultados
Analizar
Datos de
Mediciones
Recoger Datos de
Mediciones
55
ISO/IEC 15504
El estndar internacional ISO/IEC 15504 (SPICE) describe los procesos que una
organizacin debe ejecutar para adquirir, proveer, desarrollar, operar, evolucionar y dar
soporte al software, y las prcticas genricas que caracterizan la capacidad de esos
procesos.
Cada proceso del modelo se describe en trminos de prcticas bsicas, que son las
actividades esenciales de un proceso especfico. El modelo clasifica los procesos en cinco
categoras que son:
Cliente-Proveedor
Ingeniera
Gestin de Proyectos
Soporte
Organizacin
56
Definir una estrategia apropiada para identificar, realizar y evaluar las actividades y
los resultados de medicin, basndose en las necesidades de informacin de la
organizacin.
Evaluar los productos informativos y las actividades de medicin contra las necesidades de
informacin y la estrategia de medicin, identificar mejoras potenciales en las mediciones y
comunicar cualquier mejora potencial de los procesos a sus propietarios.
La medicin es una actividad que est presente en las prcticas genricas que determinan
el nivel de capacidad de un proceso. As, tenemos que:
57
Control con mediciones, cuyo propsito es controlar el estado del progreso contra el
plan usando mediciones. El uso de mediciones implica que stas han sido definidas
y seleccionadas y que los datos han sido recogidos.
58
Escenario de clausura
El director se rene con el jefe de proyecto antes de que ste comience con el proyecto.
El jefe de proyecto informa al director sobre lo que ha planificado para conocer su opinin.
Le dice que ha pensado que, al ser un proyecto pequeo y al no estar avanzados en el
campo de la medicin, seleccionar un nmero limitado de mtricas tiles en su proyecto.
59
60
Enlaces
Pgina
oficial
de
PSM
(Practical
Software
and
Systems
Measurement):
http://www.psmsc.com/
Pasos para implementar un programa exitoso de medicin, Implementing a Successful
Measurement
Program:
Tried
and
True
Practices
and
Tools:
http://www.psmsc.com/Downloads/Other/Implementing_a_SuccessfulMeasurementProgram.
pdf
Tcnicas de mtricas de software: http://www.softwaremetrics.com/
61
Glosario
Concepto medible: El concepto medible es una percepcin sobre las entidades que
deberan ser medidas con el objetivo de satisfacer una determinada necesidad de
informacin.
Entidad: Objeto que va a ser caracterizado mediante una medicin de sus atributos
[ISO- 15939].
Mtrica: Una forma de medir y una escala, definidas para realizar mediciones de uno
o varios atributos.
Mtrica indirecta: Mtrica cuya forma de medir es una funcin de clculo, es decir,
las mediciones de dicha mtrica utilizan las medidas obtenidas en mediciones de
otras mtricas directas o indirectas.
62
63