Ing. Marvin Molina Administración de Proyectos de Informática.

39
Modelos de Estimación de Costos de Proyectos Informáticos Ing. Marvin Molina Administración de Proyectos de Informática

Transcript of Ing. Marvin Molina Administración de Proyectos de Informática.

  • Diapositiva 1
  • Ing. Marvin Molina Administracin de Proyectos de Informtica
  • Diapositiva 2
  • La estimacin efectiva de la duracin (o el costo) de proyecto es una de las tareas ms dificultosas y desafiantes durante las actividades de planificacin, y es una de las principales causas de problemas en todos los proyectos. Realmente es muy difcil efectuar estimaciones dado que no es una ciencia exacta, depende fuertemente de la experiencia obtenida en proyectos anteriores similares, expertos en el tema o la utilizacin de tcnicas de estimacin que no dejan de ser simplemente aproximaciones, una probabilidad de acertar con el valor, un juicio u opinin respecto del esfuerzo o duracin. ESTIMACIN DE COSTOS Estimacin de Costos2
  • Diapositiva 3
  • Las estimaciones estn siempre basadas en asunciones y muy fuertemente impactadas por la calidad y cantidad de recursos y los riesgos, de ah que siempre es necesario prever en todos los proyectos las contingencias necesarias. ESTIMACIN DE COSTOS Estimacin de Costos3
  • Diapositiva 4
  • Una mtrica es, pues, una asignacin de valor a un atributo de una entidad propia del software, ya sea un producto o un proceso. Mtrica Estimacin de Costos4
  • Diapositiva 5
  • Cuando hablamos de un atributo nos referimos a una determinada caracterstica que pretendemos medir y cuantificar. Cuando hablamos de un producto nos referimos, por ejemplo, a un cdigo, un diseo, una especificacin, etc. Cuando se habla de un proceso se hace referencia a una etapa de la construccin del software y a la manera de llevarlo a cabo: un diseo, unas pruebas, etc. Mtrica Estimacin de Costos5
  • Diapositiva 6
  • En general, se puede decir que las diferentes mtricas intentan evaluar tres grandes magnitudes generales: La calidad y el tamao (a menudo del producto) y la productividad (frecuentemente del proceso de construccin del producto), aunque lo hacen desde muchos puntos de vista diferentes. Mtrica Estimacin de Costos6
  • Diapositiva 7
  • Las mtricas del producto, que miden diferentes aspectos del software obtenido, a menudo a partir de cdigo fuente expresado en un lenguaje informtico determinado. Las mtricas del proceso, que intentan medir determinados atributos que hacen referencia al entorno de desarrollo del software y tienen en cuenta la manera de construirlo. Mtricas del producto y del proceso Estimacin de Costos7
  • Diapositiva 8
  • La calidad de un producto, segn la definicin del estndar ISO 8402, es el conjunto de funcionalidades y caractersticas de un producto o servicio que se centran en su capacidad de satisfacer las necesidades, ya sea implcitas o bien explcitas claramente, de un cliente o usuario. Mtricas de calidad y de productividad Estimacin de Costos8
  • Diapositiva 9
  • Las mtricas de calidad se asocian a unos determinados atributos medibles, no siempre evidentes, para reconocer la presencia o ausencia de calidad. Las mtricas de productividad recogen la eficiencia del proceso de produccin de software y relacionan el software que se ha construido con el esfuerzo que ha costado elaborarlo. Mtricas de calidad y de productividad Estimacin de Costos9
  • Diapositiva 10
  • A menudo las diferentes unidades de medida se combinan en indicadores resumidos, como ejemplos podemos encontrar, entre otros, los siguientes: Lneas de cdigo por persona y da (indicador de productividad). Horas para implementar un punto de funcin (indicador de productividad). Nmero de errores por cada mil lneas de cdigo (indicador de calidad). Importe monetario por cada millar de lneas de cdigo (indicador de coste). Pginas de documentacin por cada mil lneas de cdigo (indicador de documentacin). Mtricas de calidad y de productividad Estimacin de Costos10
  • Diapositiva 11
  • La medida habitual del costo es, evidentemente, la cantidad de dinero que cuesta producir un software determinado; mientras que las medidas habituales del esfuerzo se reducen siempre al trabajo que lleva a cabo un profesional en una determinada unidad de tiempo: un da (persona- da), un mes (persona-mes) o un ao (persona-ao). El esfuerzo y la medida de la productividad Estimacin de Costos11
  • Diapositiva 12
  • En primer lugar, se habl de hombre-mes como la tarea que llevaba a cabo un hombre durante un mes de trabajo. sta es la denominacin habitual, que se puede encontrar a menudo abreviada con la sigla MM, proveniente de la de nominacin inglesa man-month. Problemas terminolgicos del hombre-mes Estimacin de Costos12
  • Diapositiva 13
  • Ms adelante, pareci que la denominacin era claramente sexista y se buscaron otros nombres como stos: Persona-mes: un mes de trabajo de una persona del equipo con independencia del gnero. Staff-month: un mes de trabajo de una persona del equipo de proyecto. Engineering-month: un mes de trabajo en la actividad de ingeniera del software, que incluye, como ya sabemos, el anlisis, el diseo, la programacin y las pruebas para producir una determinada aplicacin o un sistema de informacin. Problemas terminolgicos del hombre-mes Estimacin de Costos13
  • Diapositiva 14
  • Con el objetivo de medir la productividad del proceso de construccin de software de aplicacin, debe darse la posibilidad de determinar las salidas que sean tiles para relacionarlas despus con el volumen del trabajo o el esfuerzo que representa desarrollar un producto de software determinado Mtricas orientadas al tamao y a la funcin Estimacin de Costos14
  • Diapositiva 15
  • se han propuesto tambin otras unidades de medida que, en lugar del tamao, intentan tener en cuenta la dificultad intrnseca de construir un software determinado; es decir, mtricas que se refieren no al tamao del producto final obtenido, sino a las funcionalidades que ste incorpora. Mtricas orientadas al tamao y a la funcin Estimacin de Costos15
  • Diapositiva 16
  • La medida ms utilizada para determinar el tamao de un proyecto informtico ha sido, durante mucho tiempo, la de las lneas de cdigo del software final obtenido. Algunas definiciones: LOC: lneas de cdigo. Es la ms habitual y antigua. KLOC: miles de lneas de cdigo. DSI: instrucciones de cdigo fuente realmente entregadas, y su mltiplo KDSI. Las lneas de cdigo Estimacin de Costos16
  • Diapositiva 17
  • La medida ms utilizada para determinar el tamao de un proyecto informtico ha sido, durante mucho tiempo, la de las lneas de cdigo del software final obtenido. Algunas definiciones: NCSS: lneas de cdigo fuente sin tener en cuenta los comentarios, y su mltiplo KNCSS NSLOC: nuevas lneas de cdigo fuente, tal como se realiza en el modelo COCOMO 2 para que se tenga en cuenta que slo deben contarse las lneas de cdigo nuevas sin contar las que incorpore automticamente el entorno de programacin Las lneas de cdigo Estimacin de Costos17
  • Diapositiva 18
  • Las ratios de productividad tambin proceden de los aos setenta y ochenta (de la informtica y de los lenguajes que existan entonces). Estas ratios, que actan como estndares de la profesin y que han sido mencionadas de paso, son las siguientes: a) 10 LOC por da y persona ocupada en el proyecto, segn Barry W. Boehm a principios de los aos ochenta. b) 350 NCSS por persona y mes, segn datos de comienzos de los aos noventa en los proyectos de la empresa Hewlett Packard recogidos por Robert O. Grady. Lneas de cdigo, productividad y lenguajes de programacin Estimacin de Costos18
  • Diapositiva 19
  • Ing. Marvin Molina Administracin de Proyectos de Informtica
  • Diapositiva 20
  • La nica manera segura de poder tener unos estndares de productividad buenos y dignos de ser utilizados es no depender de lo que dicen libros y artculos (con datos obtenidos en condiciones a menudo bien diferentes) y disponer de los datos de productividad propios, datos que pueden haber sido obtenidos en proyectos anteriores del mismo tipo (en cuanto a aplicacin y tecnologa) y con equipos de desarrollo de calificaciones y caractersticas personales conocidos. Estimacin de costos Estimacin de Costos20
  • Diapositiva 21
  • 1. Cunto esfuerzo se requiere para completar una actividad. 2. Cunto tiempo de calendario se necesita para completar una actividad. 3. Cul es el costo total de una actividad Los administradores de proyectos deben estimar las respuestas a las siguientes preguntas Estimacin de Costos21
  • Diapositiva 22
  • 1. Los costos de hardware y software, incluyendo el mantenimiento. 2. Los costos de viajes y capacitacin. 3. Los costos de esfuerzo (los costos de pago a los ingenieros de software). Para muchos proyectos, el costo dominante es el costo de esfuerzo. Existen tres parmetros involucrados en el clculo del costo total de un proyecto de desarrollo de software Estimacin de Costos22
  • Diapositiva 23
  • 1. Proveer, calentar e iluminar las oficinas. 2. Personal de apoyo como contadores, secretarias, ordenanzas y tcnicos. 3. Redes y comunicaciones. 4. Bibliotecas y recursos recreativos. 5. Seguridad social y de beneficios de empleados (AFP, ISSS). Costos totales para hacer funcionar la organizacin Estimacin de Costos23
  • Diapositiva 24
  • OPORTUNIDAD DE MERCADO: una organizacin de desarrollo podra cotizar un bajo precio debido a que desea moverse a un nuevo mercado de software. Aceptar un bajo beneficio en un proyecto podra darle la oportunidad de obtener ms beneficios posteriormente. La experiencia obtenida le permite desarrollar nuevos productos. FACTORES QUE AFECTAN LA ASIGNACIN DE PRECIOS AL SOFTWARE Estimacin de Costos24
  • Diapositiva 25
  • La productividad en un sistema de manufactura se mide contando el nmero de unidades que se producen y dividiendo ste entre el nmero de personas-hora requerido para producirlas. Sin embargo, para cualquier problema de software, existen muchas soluciones diferentes con distintos atributos. PRODUCTIVIDAD Estimacin de Costos25
  • Diapositiva 26
  • INCERTIDUMBRE EN LA ESTIMACIN DE COSTOS: si una organizacin est segura de su costo estimado, por alguna contingencia puede incrementar su precio por encima del beneficio normal. TRMINOS CONTRACTUALES: un cliente puede estar dispuesto a permitir que el desarrollador retenga la propiedad del cdigo fuente y que reutilice dicho cdigo en otros proyectos. FACTORES QUE AFECTAN LA ASIGNACIN DE PRECIOS AL SOFTWARE Estimacin de Costos26
  • Diapositiva 27
  • VOLATILIDAD DE LOS REQUERIMIENTOS: Si es probable que los requerimientos cambien, una organizacin puede reducir los precios para ganar un contrato. Despus que el contrato se asigna, se cargan precios altos a los cambios en los requerimientos. SALUD FINANCIERA: Los desarrolladores en dificultades financieras podran bajar sus precios para obtener un contrato. Es mejor tener beneficios ms bajos que los normales o incluso quebrar antes que quedar fuera de los negocios. FACTORES QUE AFECTAN LA ASIGNACIN DE PRECIOS AL SOFTWARE Estimacin de Costos27
  • Diapositiva 28
  • La gestin de un proyecto informtico empieza con la calificacin del proyecto, que pretende, en primer lugar, obtener una idea del volumen de trabajo que costar construir la aplicacin (estimacin) y, en segundo lugar, planificar en el tiempo las diferentes actividades que es necesario llevar a cabo (planificacin). Estimacin de costos Estimacin de Costos28
  • Diapositiva 29
  • La primera de estas etapas se conoce tambin con el nombre de estimacin de costos de un proyecto informtico, ya que a partir del esfuerzo de trabajo estimado se obtendr el presupuesto. Del mismo modo, despus de la planificacin y el reparto en el calendario de las tareas que se deben a realizar, se obtienen los plazos, etapa que tambin se conoce con el nombre de tiempo de desarrollo del proyecto. Estimacin de costos Estimacin de Costos29
  • Diapositiva 30
  • La mayor parte del costo del software se encuentra hoy en el costo de las horas de anlisis, diseo, programacin y prueba que se deben utilizar para obtenerlo. Por ello, cuando aqu se habla de estimacin de costos se hace referencia, exclusivamente, al esfuerzo humano que ha sido necesario, es decir, a las horas de trabajo requeridas para construir el software. Estimacin de costos Estimacin de Costos30
  • Diapositiva 31
  • En palabras de de Marco: No hay modelos de costo transportables. Si esperas que alguien en otro lugar desarrolle un conjunto de frmulas que puedas utilizar para prever el coste en tu propia instalacin, probablemente tendrs que esperar para siempre. T. de Marco (1982, pg. 155). Estimacin de costos Estimacin de Costos31
  • Diapositiva 32
  • De Marco propone dos definiciones sucesivas muy realistas de lo que es una estimacin: Definicin implcita de estimacin: una estimacin es la prediccin ms optimista que tiene una probabilidad no nula de llegar a ser cierta. Definicin propuesta por de Marco: una estimacin es una prediccin que tiene la misma probabilidad de estar por encima que de estar por debajo del resultado real. Estimacin de costos Estimacin de Costos32
  • Diapositiva 33
  • En resumidas cuentas, estimar la carga de trabajo que es necesario llevar a cabo para la construccin de software de aplicacin es una tarea que normalmente fracasa. Estimacin de costos Estimacin de Costos33
  • Diapositiva 34
  • Modelos de estimacin La idea de los modelos de estimacin es la de proporcionar sistemas y mtodos generales para proceder a realizar la estimacin de costos en la construccin de software de aplicacin. Estimacin de Costos34
  • Diapositiva 35
  • Modelos de estimacin Los diferentes modelos de estimacin de costes y/o esfuerzos en la construccin de software se pueden dividir en cuatro grupos principales: 1. Modelos con base histrica. 2. Modelos con base estadstica. 3. Tericos. 4. Compuestos. Estimacin de Costos35
  • Diapositiva 36
  • Modelos de estimacin Modelos con base histrica. Los modelos de base histrica son los ms antiguos y, en cierta manera, primitivos. A menudo se basan en la analoga con otros proyectos parecidos y se fundamentan casi exclusivamente en la experiencia profesional (la historia) de los que efectan la estimacin. Estimacin de Costos36
  • Diapositiva 37
  • Modelos de estimacin Modelos con base estadstica. A partir del estudio estadstico de los datos reales disponibles tomados de un conjunto ms o menos numeroso de proyectos ya acabados, obtienen frmulas que relacionan las diferentes unidades de medida del software, a menudo las lneas de cdigo (LOC) y el esfuerzo (generalmente medido en hombre-mes). Estimacin de Costos37
  • Diapositiva 38
  • Modelos de estimacin Tericos. Estos modelos, ms que basarse en datos estadsticos disponibles, lo que hacen es partir de una serie de ideas generales sobre el proceso de construccin de software y, sobre esta teora, elaboran frmulas que relacionan diferentes mtricas de software. Estimacin de Costos38
  • Diapositiva 39
  • Modelos de estimacin Compuestos. Estos modelos intentan obtener las ventajas de los dos sistemas anteriores: estadsticos y tericos. Es decir, se parte de una serie de planteamientos tericos y se complementan o corrigen con datos estadsticos obtenidos de proyectos reales ya acabados. Estimacin de Costos39