Escolar Documentos
Profissional Documentos
Cultura Documentos
ESTIMACION DE PROYECTOS SW
(Master en TI)
ALUMNOS:
SANTIAGO GALLEGO Expediente: 522
CESAR GONZALES Matrcula:350
RICARDO INSIO BRAVO Expediente: A00494
JOSE MIGUEL ALONSO Matrcula: A00369
EJERCICIO:
METODOLOGIA AGILE COCOMO II
PROFESOR:
ANA. M MORENO
Enero 2010
1(32)
NDICE
1
Introduccin........................................................................................................
2
2.1
2.2
Metodologas Agiles...........................................................................................
Historia.................................................................................................................
Valorar ms a los individuos y su interaccin que a los procesos y
las herramientas...................................................................................................
Valorar ms el software que funciona que la documentacin
exhaustiva............................................................................................................
Valorar ms la colaboracin con el cliente que la negociacin
contractual............................................................................................................
Valorar ms la respuesta al cambio que el seguimiento de un plan
.............................................................................................................................
2.3
2.4
2.5
3
3.1
3.2
3.3
3.4
3.5
3.6
4
4.1
4.2
4.3
4.3.1
4.3.2
4.3.3
4.3.4
4.3.5
4.3.6
5
5.1
6
6.1
6.2
6.3
6.4
6.5
6.6
6.7
Conclusiones....................................................................................................
Referencias.......................................................................................................
2(32)
1 Introduccin
2 Metodologas Agiles
Se entiende como desarrollo gil de software a un paradigma de desarrollo de
software basado en procesos giles. Los procesos giles de desarrollo de software,
conocidos anteriormente como metodologas livianas, intentan evitar los tortuosos y
burocrticos caminos de las metodologas tradicionales.
Es un marco de trabajo conceptual de la ingeniera de software que promueve
iteraciones en el desarrollo a lo largo de todo el ciclo de vida del proyecto. Existen
muchos mtodos de desarrollo gil; la mayora minimiza riesgos desarrollando
software en cortos lapsos de tiempo. El software desarrollado en una unidad de tiempo
es llamado una iteracin. Cada iteracin del ciclo de vida incluye: planificacin, anlisis
de requerimientos, diseo, codificacin, revisin y documentacin. Una iteracin no
debe agregar demasiada funcionalidad debiendo tener un prototipo al final de cada
iteracin. Al final de cada iteracin el equipo vuelve a evaluar las prioridades del
proyecto.
3(32)
Los mtodos giles enfatizan la comunicacin personal entre los agentes del proyecto
en vez de la documentacin. Combinado con la preferencia por las comunicaciones
personales cara a cara, generalmente los mtodos giles son criticados y tratados
como "indisciplinados" por la falta de documentacin tcnica.
Frente a la tcnica Agile COCOMO, utilizamos en la anterior prctica la tcnica de
Puntos de Funcin, la cual mide el software cualificando la funcionalidad que
proporciona externamente, basndose en el diseo lgico del sistema.
2.1
Historia
2.2
Este es posiblemente el principio ms importante del manifiesto. Por supuesto que los
procesos ayudan al trabajo. Son una gua de operacin. Las herramientas mejoran la
eficiencia, pero sin personas con conocimiento tcnico y actitud adecuada, no
producen resultados.
4(32)
2.3
2.4
2.5
La habilidad de responder a los cambios que puedan surgir a los largo del proyecto
(cambios en los requisitos, en la tecnologa, en el equipo, etc.) determina tambin el
xito o fracaso del mismo. Por lo tanto, la planificacin no debe ser estricta sino
flexible y abierta.
Para un modelo de desarrollo que surge de entornos inestables, que tienen como
factor inherente al cambio y la evolucin rpida y continua, resulta mucho ms valiosa
la capacidad de respuesta que la de seguimiento y aseguramiento de planes preestablecidos. Los principales valores de la gestin gil son la anticipacin y la
adaptacin; diferentes a los de la gestin de proyectos ortodoxa: planificacin y control
para evitar desviaciones sobre el plan.
5(32)
3
3.1
3.2
SCRUM5
Desarrollada por Ken Schwaber, Jeff Sutherland y Mike Beedle. Define un marco para
la gestin de proyectos, que se ha utilizado con xito durante los ltimos 10 aos. Est
especialmente indicada para proyectos con un rpido cambio de requisitos. Sus
principales caractersticas se pueden resumir en dos. El desarrollo de software se
realiza mediante iteraciones, denominadas sprints, con una duracin de 30 das,
siendo el resultado de cada sprint un incremento ejecutable que se muestra al cliente.
La segunda caracterstica importante son las reuniones a lo largo proyecto, entre ellas
destaca la reunin diaria de 15 minutos del equipo de desarrollo para coordinacin e
integracin.
3.3
Crystal Methodologies
3.4
6(32)
3.5
3.6
Define un proceso iterativo que consta de 5 pasos. Las iteraciones son cortas (hasta 2
semanas). Se centra en las fases de diseo e implementacin del sistema partiendo
de una lista de caractersticas que debe reunir el software. Sus impulsores son Jeff De
Luca y Peter Coad.
Metodologas Agiles
Metodologas Tradicionales
Ms roles
La arquitectura del software es
esencial y se expresa mediante
modelos
7(32)
4.1
8(32)
4.2
4.3
Primera Fase.
En esta primera fase vamos a desarrollar las actividades relacionadas con los Ficheros
de Proveedores y Ficheros de clientes. Estas actividades proporcionarn al usuario
funcionalidad par realizar el Alta de Proveedores, Baja de proveedores, Modificacin
de Proveedores y en relacin a clientes: Alta de Clientes, Baja de Clientes y
modificacin de clientes.
4.3.2
Segunda Fase
9(32)
Tercera Fase
En esta tercera fase nos enfocaremos en trabajar con todas las cuestiones
relacionadas con la Gestin de Compras y Gestin de Proveedores. Trabajaremos
con tres tipos de ficheros que sern Pedidos Proveedores, Detalle Pedidos
Proveedores y Proveedores, proporcionando funcionalidad para poder realizar el Alta
de Pedidos de Proveedores, Baja de Pedidos de Proveedores y modificacin de
Pedidos de Proveedores.
4.3.4
Cuarta Fase
Quinta Fase
En la quinta fase el principal enfoque ser toda la gestin relacionada con el Montaje y
Fabricacin de los PCs. Para ello tendremos que trabajar con tres tipos de ficheros
que sern Componentes, PCs y Almacn, proporcionando informacin y funcionalidad
relativa al las existencias de PCs y de componentes que hay en el almacn segn el
proceso de fabricacin y Montaje avanza. Esta funcionalidad es quizs de las ms
complicadas, no slo por el nmero de ficheros con el que trabajaremos, sino tambin
por la cantidad de informacin de cada fichero extrada.
4.3.6
Sexta Fase
10(32)
5 AGILE COCOMO II
Agile COCOMO II incorpora todos los parmetros de COCOMO y usa una estimacin
basadas en analogas para generar resultados ptimos y lo ms exacto posible para
un nuevo proyecto. Su analoga se basa en proyectos similares terminados es decir
yesterdays weather approach to predict what the weather would be like today y
algunos cambios en los parmetros de COCOMO, siendo muy fcil de usar y
aprender.
La primera versin de AgileCOCOMO II fue desarrollado en 2002 por los estudiantes
Cyrus Fakharzadeh y Gunjan Sharman bajo la supervisin del Dr. Barry Boehm cuyo
objetivo fue mejorar algunos puntos en el uso de COCOMOII:
11(32)
Como hemos visto hasta el momento Agile COCOMO II realiza una estimacin con
aproximacin iterativa, es decir por ciclo.
Por cada ciclo debemos seguir los 3 pasos indicados anteriormente es decir:
1. Seleccionar un analogy parameter e indicar un baseline value para este
parmetro.
2. Seleccionar un cost driver and/or scale factor para diferenciar nuevos
proyectos con los antiguos proyectos
3. Proveer valores para cada cost driver and/or scale factor seleccionado en
el paso 2
12(32)
5.1
Ver el reporte.
Cambiar un cost driver/scale factor independiente del anterior.
Cambiar un cost driver/scale factor segn los resultados del anterior.
Regresar a una estimacin inicial (Reset Project)
Estimar otro proyecto
COCOMO II
COCOMO II fue desarrollado para que sea compatible con el futuro mercado del
software, permitiendo ajustar las entradas y salidas de los submodelos de COCOMO II
dependiendo de la informacin disponible para realizar la estimacin, cada submodelo
est enfocada a las estrategias de procesos particulares de cada proyecto, teniendo
en cuenta las necesidades de cada sector. Estos submodelos ofrecen mayor fidelidad
a medida que uno avanza en la planificacin del proyecto y en el proceso del diseo,
estos submodelos son:
RELY Fiabilidad
DATA Tamao de la Base de Datos
CPLX Complejidad
RUSE Reutilizacin requerida
DOCU Documentacin
13(32)
Pero es necesario identificar los factores que cambiaran y cuanto. Esto determinara
los resultados de la estimacin de los costos o la estimacin del esfuerzo del nuevo
proyecto.
Lnea Base
Ser el valor de un especfico parmetro de analoga del proyecto anterior que sirve de
entrada para el clculo de AGILE COCOMO II. La obtencin de la lnea base difiere en
cada parmetro de analoga. A continuacin se describe con ejemplos el uso de los
parmetros de analoga.
Aplicacin de los parmetros de analoga
Para obtener la lnea base de algunos parmetros es necesaria un clculo donde
puede intervenir la cantidad de puntos de funcin o la cantidad de lneas de cdigo,
14(32)
valores obtenidos del proyecto anterior. Consideramos para este ejemplo los
siguientes valores:
Parmetros proyecto anterior
Puntos de funcin
Lneas de cdigo
Valor
160
6032
Lnea
base
90000
Razonamiento
15(32)
total
de
ideal-personasemanas / iteracin
Otros datos relevantes para la medicin, correspondientes del proyecto actual:
- Salario actual:
$5000
- Lneas de cdigo: 7000
- Puntos de funcin 171
Con estos datos estamos preparados para usar el software de AGILE COCOMO II,
para realizar la estimacin del esfuerzo y del costo. A continuacin los detalles de las
estimaciones usando los parmetros de analoga
6.1
Figura 1
16(32)
Figura 2
Con una lnea base de $90000.00 para un proyecto con una cantidad estimada de 7
KSLOC y un salario mensual por analista de $5000.00 con caractersticas similares al
anterior proyecto y donde cuatro factores de medicin de COCOMO cambiaron de
acuerdo a lo que indica la figura obtenemos una estimacin del costo de $74404.08 y
una estimacin del esfuerzo de 14.88 persona-meses.
Estos datos pueden resultar ambiguos al tener como lnea base solo el costo total del
proyecto anterior por lo que analizaremos los otros parmetros.
6.2
Figura 3
17(32)
Figura 4
Notamos que al usar el parmetro Esfuerzo total en persona-meses obtenemos los
mismos resultados. Tambin se observa que el software redondea al entero ms
prximo si ingresamos valores con parte decimal.
6.3
Figura 5
18(32)
Figura 6
Al usar el parmetro productividad en dlares por puntos de funcin notamos que los
resultados de la medicin han aumentado, una de las razones es el redondeo de los
valores ingresados para convertirlos a enteros. Adems, necesita de entrada los
puntos de funcin estimados en el proyecto actual y el lenguaje que se va usar para el
desarrollo, con estos dos valores calcula un KSLOC que es incluido en la estimacin.
6.4
Figura 7
19(32)
Figura 8
Para el parmetro productividad en dlares por lnea de cdigo notamos que el
resultado es an mayor, esto ocurre en primer lugar porque estamos dividiendo el
costo total de proyecto anterior por su cantidad de lneas de cdigo, luego el sistema
usa el redondeo del valor perdiendo exactitud en su clculo.
6.5
20(32)
Figura 9
Figura 10
Igualmente, los resultados son distintos por que los datos ingresados son redondeados
originando un clculo que no es exacto.
6.6
21(32)
Figura 11
Figura 12
Las lneas de cdigo por ser un nmero demasiado grande y al dividirlo y redondearlo
tambin pierde exactitud como dato de entrada.
6.7
22(32)
Figura 13
Lo que podramos hacer es tomar los 17,856 personas-meses y dividirlos en cuantas
iteraciones se necesitaron para terminar el proyecto, por ejemplo 3.
Esfuerzo por Iteracin = 17,856 / 3 = 5,952
Al resultado debemos multiplicar 152 para obtener las horas totales trabajadas:
Horas totales = 5,952 * 152 = 904,704
Al resultado se le debe dividir entre 38 horas que es lo que el modelo COCOMO II
considera una semana de trabajo. As obtenemos el esfuerzo en hombre-semanas:
Hombre-semanas / iteracin = 904,704 / 38 = 23,808
Este valor es el que servir como lnea base:
23(32)
Figura 14
Figura 15
24(32)
Define
analogy
parameter
and its
baseline
value
Start
cycle
Specify size
to relate
productivity
and effort
Create
report
25(32)
La estimacin inicial es de unos $25k para esta primera etapa del proyecto,
sin realizar ningn ajuste. Ahora bien, si tenemos en cuenta que el
desarrollo en esta etapa se realizar teniendo en cuenta la reusabilidad,
para que el mdulo desarrollado aqu sea portable a otras lneas de
producto, mientras que en el proyecto que se toma como referencia no se
tuvo en cuenta la reusabilidad, podemos introducir este parmetro como
uno de los que modificar el coste de este proyecto:
26(32)
Esto nos da una nueva estimacin, en este caso menor que la anterior
debida a la menor rotacin del personal esperada para este proyecto:
Adems, debido a que estas primeras etapas del proyecto PCGeek son muy
similares entre s, e involucran la gestin de distintos tipos de datos
(proveedores, clientes, almacn, componentes, compras) la similitud con
proyectos anteriores ser mayor que la del proyecto tomado como
referencia. Esto se hace notar con el factor de escala de nivel de
precedencia del proyecto:
27(32)
28(32)
29(32)
Conclusiones
30(32)
31(32)
Referencias
http://csse.usc.edu/csse/research/COCOMOII/cocomo_main.html
http://csse.usc.edu/csse/research/AgileCOCOMO/
32(32)