Gonzalo Benavides Álvaro López Un Framework Basado en Metas Para Mediciones de Software

Anuncio
Gonzalo Benavides
Álvaro López
Un Framework Basado en Metas
Para Mediciones de Software
1)
Clasificando indicadores de software
a) Mediciones internas: son un tipo de mediciones realizadas en términos
de los productos, procesos o recursos, de manera independiente.
i) Al medir productos: líneas de código, modularidad, etc.
ii) Al medir procesos: tiempo empleado, esfuerzo asociado,
requerimientos cambiados.
iii) Al medir recursos: nivel de asignación de tareas, integrantes del
equipo de desarrollo
b) Mediciones externas: son un tipo de mediciones hechas comparando
productos, procesos o recursos de manera relacionada.
i) Al medir productos: facilidad de mantención, calidad, etc.
ii) Al medir procesos: calidad, costo, costo-efectivo v/s costo
esperado.
iii) Al medir recursos: productividad experiencia, calidad del equipo de
desarrollo.
2)
Determinando qué medir
a) Paradigma GQM: Goal-Question-Metric: ayuda a descubrir qué
indicadores son necesarios medir para alcanzar de mejor manera las
metas de la organización. Involucra tres pasos
i) Establecer y listar las metas y objetivos de la organización
ii) A partir de cada meta, derivar preguntas, que al ser respondidas,
determinarán si las metas están siendo cumplidas.
iii) Decidir qué debe medirse para poder responder a dichas preguntas.
b) Midiendo para mejorar procesos: las mediciones pueden también
ayudar a que los procesos que se realizan durante el desarrollo del
proyecto sean mejorados. Para clasificar los avances en este sentido, el
Software Engineering Institute estableció 5 niveles de madurez de
procesos:
i) Nivel 1: Inicial. Transición de input a output no está definida,
procesos reactivos, mal definidos, se hace muy difícil llevar a cabo
mediciones ya que las metas no siempre están definidas.
ii) Nivel 2: Repetible. Identifica inputs, outputs, restricciones de
presupuesto o calendario, y los recursos utilizados para la
producción. Se le llama repetible tal como una subrutina de
software; a partir de un input, generará el mismo output, sin saber
que está pasando al interior. Como no hay visibilidad de
procedimientos internos, es muy difícil llevar a cabo mediciones
iii) Nivel 3: Definido. Se diferencia del anterior en que proporciona una
visión de subsistemas en la transición de input a output; hay etapas
o actividades intermedias en el desarrollo que están definidas y
acotadas, lo que facilita poco a poco las mediciones.
iv) Nivel 4: Administrado. Aparece la retroalimentación, y con ello, el
establecimiento de prioridades y la administración de recursos. Con
lo anterior, se puede comenzar a evaluar la efectividad de cada
proceso o actividad, y las mediciones realizadas ahora representan a
conjuntos de procesos, ya que interactúan entre sí.
v) Nivel 5: Optimizando. Los procesos van cambiando en el tiempo a
medida que pasa el tiempo. Se descubren mejores prácticas, con lo
que dado un mismo input, el output será cada vez mejor.
c) Combinando GQM con madurez de procesos. Cada meta propuesta con
GQM puede ser descompuesta en submetas con distintas prioridades.
Para cada una de esas submetas, un set de preguntas más específico y
profundo, desde el cual se puedan extraer mejores indicadores
3)
a)
b)
c)
d)
e)
f)
g)
h)
i)
Aplicando el framework
Estimación de costo y esfuerzo. Puede estimarse el esfuerzo (en
persona/mes) o el costo en dinero de un proyecto de software una vez
que se ha medido o predicho su tamaño.
Modelos de productividad. De la misma forma, si se ha logrado medir o
predecir el tamaño del software a desarrollar, y se conoce el número
de personas involucradas, se puede medir la productividad.
Modelos de calidad. Se puede estimar la calidad del producto final
midiendo defectos y tamaño total.
Modelos de confiabilidad. Se puede predecir o estimar si se conoce la
probabilidad de fallo.
Modelos de rendimiento. Conociendo el tiempo de respuesta para un
cálculo, o la memoria utilizada, puede ser estimado.
Medidas de complejidad. Midiendo atributos internos y externos puede
estimarse la complejidad.
Estimación de madurez. Se obtiene midiendo la visibilidad de los
procesos y su definición.
Administración mediante indicadores. Muchas empresas establecen
objetivos utilizando valores esperados para indicadores.
Evaluación de nuevas técnicas y herramientas. Utilizando indicadores
de eficiencia y productividad, puede evaluarse la conveniencia de
adoptar nuevas técnicas o adquirir nuevas herramientas.
Descargar