lunes, 9 de abril de 2018

Metricas del software: Uso y ventajas

¿Te gustaría certificarte como experto en medición y estimación de software? Demostrando a tus clientes la elaboración de estimados que puedan cumplirse y logruen las espectativas. Inscribete en el curso de preparación para la certificación en el método COSMIC.


Métricas del software uso y ventajas

En Ingeniería del software, una métrica del software es cualquier medida o conjunto utilizado para conocer o estimar el tamaño de un software o sistema de información. Entre los usos más frecuentes de las métricas del software están el realizar comparaciones costo beneficio y estimaciones de costos en proyectos de software.

Un ejemplo de métrica del software es el punto de función, su uso permite mayor precisión en las estimaciones de costo, posibilidad de comparar funcionalidades del software a desarrollar y tomar decisiones en base al costo beneficio, más información para priorizar trabajo, posibilidad de hacer avaluos de activos de software, entre otros beneficios.

A continuación te contamos cual es el uso que se le da a las métricas de software y cuáles son las ventajas de implementarlas en la organización.

¿Para qué se utilizan las métricas del software?


De la misma forma que en ingeniería de construcción necesitaríamos definir la altura y ancho de una estructura y sus componentes expresados en metros o centímetros, en desarrollo de software podemos valernos de una unidad de medida que nos permitiera conocer el tamaño del reto al que como desarrolladores de software nos enfrentamos.

Una vez conocido el tamaño en unidad de medida, podríamos utilizarla para determinar con precisión cuál es la estimación de tiempo y presupuesto de un proyecto de software, si nuestras especificaciones de requerimientos son ambiguas o falta información, impacto de un cambio de alcance propuesto, medir unidades planificadas vs. Producidas, graficar la cantidad de unidades de medica producidas en el tiempo (para medir la productividad), entre otros usos.

¿Cuáles son los métodos más utilizados para determinar métricas del software?


Existen diversas técnicas de estimación de esfuerzo y costo en proyectos de softeware. Un ejemplo ampliamente usado para realizar mediciones del tamaño de un software es la métrica del punto de función.

Desarrollada originalmente en los años 70, la técnica del análisis de puntos de función permite asignar un tamaño a los requerimientos de software (sus funcionalidades) expresadas en una métrica que se conoce como el punto de función.

Para medir el software utilizando los puntos de función, primero se toman los requerimientos del software (que pueden estar documentados en la especificación de requerimientos o historias de usuario) y se realiza una descomposición funcional en sus componentes.

Realizada la descomposición funcional, se le asigna a cada componente una cantidad de puntos de función que vienen dados por su complejidad, si son movimientos de entrada o salida, solo consulta o transferencia de datos.

El método de más tiempo de uso es el del International Function Points User Group (IFPUG). En la siguiente serie de artículos, te presentamos un ejemplo de cómo medir software utilizando el método IFPUG.

Estimación de proyectos de software por puntos de función: Introducción

Estimación de proyectos de software con puntos de función: Determinar tipo de conteo y componentes funcionales

Estimación de proyectos de software: Cálculo de los puntos de función no ajustados

El IFPUG ofrece un esquema de certificación, que le brinda la oportunidad a profesionales de demostrar sus conocimientos en el método y certificarse para presentarlo ante posibles empleadores y prospectos de cliente.

Desde su introducción inicial, se han desarrollado otros métodos de análisis de puntos de función, como por ejemplo NESMA, MkII, COSMIC y FiSMA.

Por ejemplo, el método COSMIC fue desarrolado para modernizar la técnica de puntos de función y alinearse con el proceso de ingeniería del software. A diferencia del método IFPUG en el cual se asignan los puntos de función según la clasificación y complejidad de las funcionalidades, bajo COSMIC el número de función se asigna en función del número de entradas y salidas que tengan los componentes del software.

Para ver un ejemplo de COSMIC, te recomendamos el siguiente artículo:

Ejemplos de estimación de costos de un proyecto de software

Formación en medición de software



¿Te gustaría certificarte como experto en medición de software con el método COSMIC?

Curso online de preparación para la certificación COSMIC, medición de software en base a su tamaño funcional, aplicable a todos los tipos de software y metodologías de desarrollo de software empleada.


¿Cuáles son las ventajas de implementar métricas del software en la organización?

1.- Mayor facilidad de entendimiento común del alcance de la aplicación


Utilizando métricas de software, puedes presentar al usuario cual es el alcance de la aplicación, ilustrando las funcionalidades a entregar por área funcional y comparar su tamaño utilizando métricas de software.

Con esto se facilita un entendimiento común de cuál es el esfuerzo a realizar, pudiendo comparar cuales funcionalidades son de mayor esfuerzo que otra para establecer el costo beneficio.

2.- Posibilidad de comparar con una métrica el tamaño funcional de un nuevo sistema con uno existente


Si el proyecto de software a desarrollar va a reemplazar un software ya existente en la organización, puedes determinar las métricas de software para el sistema existente y el nuevo sistema y compararlo.

De esta forma podrías determinar si el nuevo sistema incluye más funcionalidad que el actual o si por el contrario se brinda menor funcionalidad. Puedes asignar un valor numérico a esta comparación y tomar decisiones sobre esta información.

3.- Evaluar con precisión el costo del nuevo software y sus componentes


Multiplicando el tamaño funcional de un sistema medido en puntos de función, por el costo de producir cada punto de función, quienes toman las decisiones en la organización pueden realizar cálculos rápidos sobre cuál es el costo de reemplazar un sistema existente.

Inclusive, puedes realizar comparaciones del costo de desarrollar el sistema in-house (según sus puntos de función) con el costo de adquirir un sistema externo, el cual podrías obtener de proveedores que te presenten propuestas de venta de licencias y consultoría de implementación.

Sígue el siguiente enlace y te compartimos un ejemplo para elaborar el presupuesto de un software usando los puntos de función como métrica:

> Ejemplo de presupuesto de un proyecto de software

4.- Facilita las negociaciones de alcance entre desarrollador y cliente (área funcional)


En los proyectos de software, los costos reales suelen exceder los planificados, por lo que un curso de acción que la organización pudiera considerar, es negociar con el área funcional o cliente para limitar el alcance del lanzamiento inicial y así mantenerse en tiempo y presupuesto.

El contar con una descomposición funcional en la que cada componente está medido, por medio de métricas de software, presenta una base ideal para esta negociación, al tener visibilidad de los ahorros que se pueden lograr al desincorporar funcionalidad.

5.- Mejor información para mantener el alcance bajo control


Las métricas de software le proporcionan a la gerencia de proyectos los medios para hacer seguimiento al tamaño del proyecto y tomar decisiones al respecto.

En la medida que transcurre el tiempo y se agregan más funcionalidades al proyecto, se pueden usar los puntos de función para graficar si el tamaño está aumentando o disminuyendo. Al superar un umbral definido, se pueden tomar decisiones para controlar el alcance y evitar la extensión indefinida del tiempo y costos del proyecto.

6.- Más información para priorizar solicitudes de cambio o retrabajo


El Gerente de proyectos que usa métricas de software, puede contar con información precisa y cuantificable del impacto de las solicitudes de cambio de alcance. De esta forma puede tomar decisiones sobre si ejecutarlas o no, así como priorizarlas.

7.- Planificación y presupuesto del soporte técnico de aplicaciones


El personal que se necesita para implantar una infraestructura de un software está íntimamente relacionada con el tamaño de este.

Con las métricas de software y el análisis de puntos de función permite a la gerencia estimar el presupuesto para el soporte técnico.

Por ejemplo, si conocemos el tamaño actual del software y establecemos una métrica de software para un nuevo módulo podríamos anticipar cuanto personal adicional de soporte técnico tendríamos que incorporar.

8.- Benchmarking


Las métricas de software y en particular los puntos de función se pueden utilizar como una medida de la productividad de una organización, determinando cual es el costo, tiempo o cantidad de personal necesaria para producir cierta cantidad de puntos de función.

Conociendo una medida de productividad, se pueden establecer comparaciones con otros equipos de desarrollo de software, unidades funcionales de la organización e inclusive comparar con indicadores de otras empresas y de la industria por medio del Benchmarking.

9.- Posibilidad de hacer avalúos de activos de software


¿Te has preguntado cuánto vale un software desarrollado por tu organización? ¿Cómo asignarías un valor a un activo intangible como el software.

El contar con métricas de software y análisis del tamaño funcional del software por medio de puntos de función podría ser un punto de partida.

Un método que se usa cada vez más para hacer avalúos de software, es estimar el costo que tomaría reemplazarlo en el entorno técnico actual, más que el costo original de su desarrollo.

Dado que el análisis de puntos de función establece la posibilidad de medir el software con precisión, se pueden establecer provisiones y presupuestos, basados en el tamaño funcional del software y la productividad (tasa de puntos de función por costo) que tenga la organización.

10.- Mayor transparencia al establecer contratos de Outsourcing


Conociendo el tamaño funcional del software, se pueden establecer un presupuesto más realista para contratar servicios de gestión de ciclo de vida de aplicaciones (ALM), así como establecer cláusulas contractuales más precisas, mayor transparencia entre las partes y menos espacio para interpretaciones divergentes.

Asimismo, cuando un tercero está involucrado en la producción de nuevo software y modificaciones a los existentes, se pueden usar las métricas de software para establecer acuerdos de nivel de servicio basados en metas de productividad.


¿Problemas para determinar las jornadas / horas para desarrollar requerimientos de software?



Técnicas para medir y estimar el tamaño del software a partir de la complejidad de sus funcionalidades.




¿Y qué opinas tú?


¿Qué opinas de las métricas del software? ¿Has implementando métodos de medición y estimación de software en tu organización? ¿Cuál ha sido tu experiencia? Déjanos tus comentarios al final del artículo.

¿Buscas más información de gerencia informática?


¿Quieres obtener completamente gratis y directamente en tu correo electrónico plantillas, artículos y otros recursos de gerencia informática?, entonces presiona "suscríbete" a continuación.

Suscríbete a la lista de correo electrónico:


Vía FeedBurner, se abrirá una nueva ventana

También puedes seguirnos vía Twitter, Facebook o Linkedin:

  

Referencia

Totalmetrics. Uses and Benefits of Function Points

Artículos relacionados


No hay comentarios :

Publicar un comentario

Pmoinformatica.com," La Oficina de Proyectos de Informática ", es un participante en el Programa de Servicios de Amazon Associates LLC, un programa de publicidad de afiliación diseñado para proporcionar un medio para que sitios web puedan ganar honorarios por la publicidad y enlaces a amazon.com y amazon.es.