¿Cuándo usar aproximación de tamaño funcional COSMIC?

¿Cuándo es apropiado y necesario utilizar aproximación de tamaño funcional COSMIC?  

¿Qué consideraciones se deben considerar?

¿Qué métodos de aproximación existen?

Recordemos que COSMIC (ISO 19761) y su equivalente en Norma Mexicana (NMX-I-19761-NYCE-2017), es un método de medición del tamaño funcional del software; es decir, es un método estándar para dimensionar el tamaño del software y poder cuantificar numéricamente la magnitud de la funcionalidad (tamaño del software), sin embargo para poder dimensionar cuantitativamente usando el método es indispensable disponer de los artefactos con el grado de granularidad adecuado que permitan identificar de manera clara y precisa:

  1. Procesos funcionales
  2. Movimientos de datos (subprocesos)
  3. Grupos de datos

Lo anterior supone necesariamente que el proyecto está en un punto tal donde ya se han elaborado los documentos que especifican detalladamente las funcionalidades requeridas pudiendo ser estos artefactos documentos de casos de uso, historias de usuario o cualquier documentación que permita identificar A, B y C. Si pensáramos en un ciclo de desarrollo tipo cascada seguramente se tendrán hasta la fase de elaboración. Sin embargo, todo proyecto de desarrollo de software supone la necesidad de realizar una estimación del costo del desarrollo en etapas tempranas cuando no existe ese detalle en la documentación.

Entonces surge la interrogante de como disponer de un tamaño funcional COSMIC para poder hacer una estimación formal del proyecto de software. La respuesta a esta interrogante es usar los métodos de aproximación avalados por COSMIC.

COSMIC plantea la necesidad de usar un método de aproximación de tamaño funcional bajo los siguientes tres posibles supuestos [1]:

  1. Al principio de la vida de un proyecto, antes de que se hayan especificado los Requisitos Funcionales del Usuario (FUR) hasta el nivel de detalle donde es posible la medición precisa del tamaño;
  2. Cuando no hay suficiente tiempo o recursos para medir utilizando el método estándar y un tamaño aproximado rápido será aceptable;
  3. Cuando la calidad de la documentación de los requisitos reales no es lo suficientemente buena para la medición precisa.

Si miramos detenidamente los supuestos anteriores nos damos cuenta que es muy común que en fases tempranas de un proyecto de software, cuando cobra especial importancia la estimación, para poder costear y planificar un proyecto, no disponemos de la información detallada ni del tiempo suficiente por lo cual se cumplen los supuestos 1 y 2 y n consecuencia es indispensable utilizar un método de aproximación para obtener el tamaño funcional COSMIC y poder proseguir con una estimación formal utilizando modelos de estimación.

De esta manera lo que estamos haciendo es una medición temprana o rápida del tamaño funcional COSMIC utilizando técnicas de aproximación avaladas por COSMIC como se detalla en la guía “Early Software Sizing with COSMIC: Experts Guide” [1]

Todas las técnicas de aproximación de tamaño funcional nos proporcionarán un acercamiento al tamaño funcional de la pieza de software en función de la propia técnica y de los insumos que se reciban.

El tamaño del software se puede determinar bajo tres niveles o enfoques como lo describió Steve McConnell [2]

  • Recuento: Si hay información detallada disponible, la forma más precisa de determinar el tamaño es contar, es decir el método COSMIC estándar en el nivel de proceso funcional de la documentación y contarlos movimientos de datos.
  • Calcular: Si no hay suficiente información disponible en el nivel de detalle deseado, cuente algo que esté disponible y, a continuación, calcule la respuesta utilizando datos de calibración usando bases de datos de proyectos terminados. La gran mayoría de los métodos de aproximación trabajan a este nivel y por tanto el método requiere ser calibrado a la realidad de los proyectos de la institución que desee utilizar el método, lo cual implica una desventaja significativa.
  • Juzgar: Los expertos pueden dar una aproximación del tamaño, basado en un modelo mental establecido en la experiencia. Este juicio pericial es el medio menos preciso de aproximación porque no es repetible ni verificable, por lo cual no es recomendable.
  • Calcular y juzgar: Combina los dos enfoques anteriores con la diferencia que la parte de juzgar se formaliza matemáticamente para poder contextualizar la incertidumbre.

En [1] se describen 15 métodos de aproximación avalados por COSMIC, entre los que se encuentran:

  • Promedio de procesos funcionales
  • Promedio de casos de uso
  • Clasificación por tamaño fijo
  • Bandas de igual tamaño
  • Patrones de medición
  • Analogía iceberg de software
  • Aproximación temprana y rápida
  • Aproximación mediante lógica difusa (EPCU)

Una consideración importante es que en [1] se menciona claramente que para utilizar los métodos se debe de realizar una calibración, para lo cual se necesita tener datos, algo que nadie hace y genera información errónea. El único método que no requiere calibración es el de Aproximación mediante lógica difusa (EPCU), este método fue desarrollado en México y ha sido aceptado por COSMIC, actualmente la información de referencia existente en la base de datos de la Asociación Mexicana de Métricas de Software (www.amms.org.mx) se basa en este método, y los resultados se han validado contra los datos de la base de datos internacional.

En conclusión, los métodos de aproximación de tamaño funcional son esenciales en etapas tempranas del desarrollo de software donde solo es posible obtener una aproximación del tamaño funcional y partir de ahí usarlo como input de los modelos formales de estimación.

En siguientes oportunidades hablaremos específicamente de cada uno de los métodos de aproximación citados anteriormente.

Es importante señalar, que el único método de aproximación de tamaño funcional que no requiere calibración local (Aproximación mediante lógica difusa (EPCU)) está soportado por la plataforma tecnológica MENSURA® desarrollada por SPINGERE; para más información consultar https://mensura.com.mx/

SPINGERE ofrece servicios y productos que facilitan estas tareas de aproximación de tamaño funcional en etapas tempranas del desarrollo de software (www.spingere.com.mx).

[1] COSMIC Subject Matter Experts, “Early Software Sizing with COSMIC: Experts Guide”. Second Edition, February 2020.

[2] S. McConnell, “Estimación de software, desmistificar el arte negro”, Microsoft Press, 2006.

Leave A Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *