1 TEMA 4. ESTIMACIÓN DEL ESFUERZO EN EL DESARROLLO DE SOFTWAREJose Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Universitaria de Informática 2000 4. Estimación del esfuerzo
2 Problemática de la estimación.Averiguar lo que costara de desarrollar una aplicación.(meses-persona, ptas., …) Momento en que se desea conocer el coste (gráfico de Boehm) Siempre se quiere muy pronto (Yourdon) 4. Estimación del esfuerzo
3 Precisión de las estimaciones en función de la fase del proyecto.4. Estimación del esfuerzo
4 Proceso de Estimación propuesto.4. Estimación del esfuerzo
5 Medir lo que quiere el usuario.4. Estimación del esfuerzo
6 Estimar lo que costara Experiencia Individual Experiencia de Empresa4. Estimación del esfuerzo
7 Métodos utilizados para la estimación de proyectos.Basados en la experiencia. Basado exclusivamente en los recursos. Método basado exclusivamente en el mercado. Basado en los componentes del producto o en el proceso de desarrollo. Métodos algorítmicos La estimación de proyectos acompaña a cualquier ingeniería y la informática no es una excepción. Otro tema son los métodos utilizados y su fiabilidad (conformidad con los resultados obtenidos). Dada la juventud de la informática hasta hace poco no se vislumbraban métodos estándar. Esta es una de las razones que hace aconsejable el hacer un pequeño repaso a los métodos utilizados hasta hoy en día. La siguiente clasificación ha sido ampliada en clase 4. Estimación del esfuerzo
8 Métodos basados exclusivamente en la experiencia:Juicio experto Puro, Delphi Analogía Distribución de la utilización de recursos en el ciclo de vida 4. Estimación del esfuerzo
9 Juicio experto: Puro Un experto estudia las especificaciones y haces su estimación. Se basa fundamentalmente en los conocimientos del experto. Si desaparece el experto, la empresa deja de estimar 4. Estimación del esfuerzo
10 Juicio experto: Wideband DelphiUn grupo de personas son informadas y tratan de adivinar lo que costara el desarrollo tanto en esfuerzo, como su duración. Las estimaciones en grupo suelen ser mejores que las individuales. 4. Estimación del esfuerzo
11 Método de trabajo del Wideband DelphiSe dan las especificaciones a un grupo de expertos. Se les reúne para que discutan tanto el producto como la estimación. Remiten sus estimaciones individuales al coordinador. Cada estimador recibe información sobre su estimación, y las ajenas pero de forma anónima. Se reúnen de nuevo para discutir las estimaciones. Cada uno revisa su propia estimación y la envía al coordinador. Se repite el proceso hasta que la estimación converge de forma razonable. 4. Estimación del esfuerzo
12 Método de trabajo del Wideband DelphiJuan * Alicia * José * María * Estimaciones Juan * Alicia * José * María * Estimaciones 4. Estimación del esfuerzo
13 Analogía Consiste en comparar las especificaciones de un proyecto, con las de otros proyectos. 4. Estimación del esfuerzo
14 Analogía, pueden variar los siguientes factores:Tamaño: ¿mayor o menor? Complejidad: ¿Más complejo de lo usual? Usuarios: Si hay más usuarios habrán más complicaciones. Otros factores: Sistema Operativo, entornos (la primera vez más). Hardware, ¿Es la primera vez que se va a utilizar? Personal del proyecto, ¿nuevos en la organización? 4. Estimación del esfuerzo
15 Distribución de la utilización de recursos en el ciclo de vidaUsualmente las organizaciones tienen una estructura de costes similar entre proyectos. Si en un proyecto ya hemos realizado algunas fases, es de esperar que los costes se distribuyan de manera proporciona. Estudio Viabilidad Planificación y Requisitos Diseño General Desarrollo Prueba Diseño Detallado 10% 17% 15% 15% 33% 10% 2 m. ? 4. Estimación del esfuerzo
16 Método basado exclusivamente en los recursos: ParkinsonEn la estimación consiste en ver de cuanto personal y durante cuanto tiempo se dispone de el, haciendo esa estimación. En la realización: “El trabajo se expande hasta consumir todos los recursos disponibles” (Ley de Parkinson) 4. Estimación del esfuerzo
17 Método basado exclusivamente en el mercado: precio para vender.Lo importante es conseguir el contrato. El precio se fija en función de lo que creemos que esta dispuesto a pagar el cliente. Si se usa en conjunción con otros métodos puede ser aceptable, para ajustar la oferta. Peligro si es el único método utilizado. 4. Estimación del esfuerzo
18 Basado en los componentes del producto o proceso de desarrollo:Bottom-up Se descompone el proyecto en las unidades lo menores posibles. Se estima cada unidad y se calcula el coste total. Top-Down Se ve todo el proyecto, se descompone en grandes bloques o fases. Se estima el coste de cada componente. 4. Estimación del esfuerzo
19 Métodos algorítmicos Se basan en la utilización de fórmulas que aplicadas sobre modelos top-down o bottom-up producen una estimación de coste del proyecto u Características v f(x) x Coste ... Aplicación a desarrollar y z 4. Estimación del esfuerzo
20 Putnam Relaciona cantidad de personas-mes y la duración del proyecto.Y=2Kate-at² Y = Personas-mes en cada punto K = Esfuerzo total del proyecto, (Área bajo la curva) a = Cte. asociada a la aceleración de entrada de personas en el proyecto, t = instante del tiempo. 4. Estimación del esfuerzo
21 COCOMO Partimos de conocer el número de líneas que tendrá la futura aplicación. Orgánico, hay otros dos MM-nominal = 3.2 (KLOC)1.5 T.desarrollo= 2.5 (MM)0.38 4. Estimación del esfuerzo
22 COCOMO Determinar los multiplicadores del esfuerzo:Tamaño B.D., experiencia analistas, herramientas, … (15 en total, varían de ) Estimación esfuerzo con las correcciones. Estimación de factores relacionados ($, duración fases,…) 4. Estimación del esfuerzo
23 Métrica de los Puntos de FunciónEs una métrica que se puede aplicar en las primeras fases de desarrollo. Se basa en características fundamentalmente “Externas” de la aplicación a desarrollar. Mide dos tipos de características: Los elementos de función (entradas, salidas, ficheros, etc.) Los factores de Complejidad. 4. Estimación del esfuerzo
24 Estimación del Esfuerzo RequeridoPartimos de los datos históricos de la Organización Esfuerzo = PFA * Promedio ( Lenguaje) 4. Estimación del esfuerzo
25 Estimación del Esfuerzo Requerido