6 técnicas de estimación para el esfuerzo o costes en proyectos


La estimación de costos y esfuerzos sigue siendo una de las tareas más difíciles en la gestión de un proyecto de software. En la actualidad existen técnicas que permiten realizar esta labor aunque, lamentablemente, aún no hay técnicas maduras específicas para enfoques de desarrollo como la orientación a objetos o como los sistemas muy específicos. A este problema se suma la escasa información proporcionada por las técnicas de estimación existentes para su aplicación a ciclos de vida de desarrollo de software diferente al de cascada, como, por ejemplo, los ciclos de vida iterativo-incrementales o en espiral.

Estas técnicas pueden ser:

  • Técnicas descendentes (de arriba hacia abajo): Las técnicas descendentes incluyen información histórica, analogía y proporción. En general las estimaciones que confían más en la división del trabajo detallada son conocidas como ascendentes (o de abajo hacia arriba).
  • Técnicas descendentes (de abajo hacia arriba): Son típicamente más rápidas y fáciles de integrar ya que estamos estimando a nivel de todo el proyecto. También resultan menos precisas, con excepción de las estimaciones que se basan en información histórica o bien en la analogía de proyectos similares.

Por supuesto, todas tienen sus pros y sus contras y habría que estudiar más en profundidad cada una de ellas, y de ser posible, se deben usar diversas técnicas de estimación para un proyecto, específicamente si se está confiando en un rápido estimado de alto nivel (de arriba hacia abajo).

Ahora veamos algunas de las técnicas más usadas para estimar:

  • El Juicio de Expertos: En algunos casos, se puede recurrir a un experto interno o externo para solicitar ayuda en la estimación del trabajo. Por ejemplo, si esta es la primera vez que se usa nueva tecnología, se puede necesitar la ayuda de expertos basadas en las experiencias de otras empresas o de algún experto interno. Puede que tú te enfrentes por primera vez a este tipo de trabajo, pero alguien ya lo haya hecho antes.
  • Delphi: Basada en el juicio de expertos, se trata de aplicar la misma técnica pero esta vez teniendo varias estimaciones de expertos y en base a ellas poder llegar a un consenso. En el caso de ser unos números parecidos, está claro que tenemos una buena estimación, precisa y fiable. En caso contrario, hay varias opciones posibles, como por ejemplo, que vuelvan a intentar la estimación, pero esta vez, teniendo más información, informando de riesgos, etc. para ver si los números se acercan. Otra opción es decantarnos por la peor estimación.
  • Top-down: También llamada estimación por analogía, trata de cuestionar el coste desde lo más general a lo más específico. Es utilizada cuando se cuenta con experiencia en proyectos anteriores, análogos o similares, que pueden servir de referencia. Es una técnica menos costosa y más rápida pero tiene como desventaja que es menos exacta y que se necesita de experiencia y documentación.
  • Bottom-up: También llamada estimación ascendente, y en contraposición a la analógica, iremos subiendo desde el detalle de cada elemento identificado en el trabajo hacia lo general del objetivo del proyecto. Hay que dedicar tiempo para ejecutarla porque está basada en los detalles del alcance del proyecto, esto origina como ventaja que los resultados sean en principio más exactos.
  • Cocomo: Es una técnica matemática basada en el número de líneas de código. Tiene tres niveles:
    1. Modelo básico: Una técnica rápida de estimación teniendo en cuenta únicamente las líneas de código.
    2. Modelo intermedio: Añade 15 modificadores al modelo básico.
    3. Modelo avanzado: Además tiene en cuenta en la fase en la que se está estimando y además establece 3 niveles de producto en función de su variabilidad.

    Además de ello, estos tres modelos se subdividen a su vez cada uno en 3 modos:

    • Modo orgánico: El equipo es experimentado y además es de un tamaño relativamente pequeño, al igual que el producto).
    • Modo semilibre o semiencajado: Es un esquema intermedio en el que hay una mezcla del equipo entre experimentado y no experimentado.
    • Modo rígido o empotrado: El proyecto tiene fuertes restricciones que pueden ser técnicas o funcionales, es difícil y no puede basarse en experiencias anteriores.
  • Puntos de Función: Consiste en asignar una cantidad de “puntos” a una aplicación informática según la complejidad de los datos que maneja y de los procesos que realiza sobre ellos. Siempre tratando de considerarlo desde el punto de vista del usuario. Una vez teniendo este recuento, teniendo en cuenta 14 características generales del sistema (que tienen que ver con la arquitectura de la aplicación, sus requisitos de carga y rendimiento, complejidad de cálculos, etc.) valorados de 0 a 5 en función de su grado de influencia, se calcula un factor de ajuste al recuento. Aplicando este factor de ajuste, se obtiene el recuento final.

Además de ello, para cualquier técnica que decidamos usar hay que tener en cuenta que algunos de los principales factores que afectan el costo del software, lo cuales son principalmente:

  • La capacidad del equipo o programador(es).
  • La complejidad del producto.
  • El tamaño del proyecto.
  • El tiempo disponible para ejecutar el proyecto.
  • La calidad que se requiere.
  • Nivel tecnológico (normalmente viene dado por el lenguaje a utilizar).

Todos estos factores pueden hacer que se aumente o disminuya el margen de la estimación teniendo en cuenta los riesgos que se quieran o puedan asumir.

Fuentes:
Obs-Edu
Proyectum

Dejar un Comentario