Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ivn Snchez Ronald Senz Gissellor Karen Navarro Muoz Andrea Estrella Katichula Megan Fox
El Comienzo
En el principio se pidieron los proyectos de Software. Los proyectos estaban desordenados y vacos, y las tinieblas estaban sobre la haz del abismo, y el Espritu de Dios se mova sobre este mar de Caos. Y dijo Dios: Sea la Planificacin: y fue la Planificacin. Y vio Dios que la Planificacin era buena: y apart Dios la Planificacin del desorden
Introduccin
Antes de comenzar se debe estimar
Esfuerzo, tiempo, personal y dems recursos..
Objetivos
Resolver problemas corriente arriba a bajo costo. La experiencia dice que el proyecto promedio gasta 80 por ciento de su tiempo en reelaboracin: corrigiendo errores que se cometieron en etapas tempranas del proyecto.
Objetivos
Proporcionar un Marco de Trabajo que permita al gestor estimar razonablemente los recursos, costo y programa de trabajo. Adaptar y actualizar el plan conforme se avance en el proyecto.
Actividades
La planificacin del proyecto del software abarca 5 grandes actividades: Estimacin Programa de Trabajo Anlisis de Riesgos Planificacin de la Gestin de Calidad Planificacin de la Gestin del Cambio
La Estimacin
No necesita realizarse en una forma improvisada. La experiencia es una gran ayuda. La estimacin implica riesgo inherente, y este conduce a la incertidumbre. El riesgo de la estimacin se mide por el grado de incertidumbre en las estimaciones cuantitativas para recursos, costos y programa de trabajo.
La Estimacin
Variabilidad en requisitos = inestabilidad Un gestor no debe obsesionarse con las estimaciones.
Factibilidad
Cuatro elementos esenciales: Tecnologa Finanzas Tiempo Recursos
Recursos
Divididos en Tres Grandes Categoras: Personal Componentes de Software Reutilizables Entorno
La Trinidad
Personal
Proyecto
Software Reutilizable Entorno
Recursos Humanos
El planificador debe especificar:
Habilidades Requeridas Posicin Organizacional Especialidad
Estimacin
Un gran error en la estimacin puede hacer la diferencia entre Ganancia o Perdida.
Mala Estimacin
Estimacin
Nunca es exacta Mientras mas se conozca menos errores serios se cometern. Implica muchas variables
Humanas Tcnicas Ambientales Polticas etc
Descomposicin Simple
Estimacin
Usar Datos Histricos
Tcnicas de Descomposicin
El problema a resolver es muy complejo para considerarlo una sola pieza Descomponer el problema en problemas mas pequeos Hacer el problema mas MANEJABLE
Estimacin
Mas Probable Valor Esperado
Optimista
Pesimista
Ejemplo
Estimacin basada en PF
Los datos requeridos para estimar los Puntos de Funcin son ms macroscpicos que en LDC. Nivel de descomposicin considerablemente menos detallado que en LDC. PF se determina indirectamente mediante la estimacin del nmero de entradas, salidas, archivos de datos, peticiones e interfaces externas, entre otras.
Ejemplo
LDC o PF Esperados
A partir de los datos histricos o (cuando todo lo dems falla) usando su intuicin, el planificador estima los valores optimista, ms probable y pesimista de LDC o de PF para cada funcin. Cuando lo que se especifica es un rango de valores, implcitamente se proporciona una indicacin del grado de incertidumbre. Entonces, se calcula el valor esperado de LDC o de PF. El valor esperado para la variable de estimacin, E, se obtiene como una medida ponderada de las estimaciones LDC o PF ptima (a), ms probable (m) y pesimista (b).
Ejemplo
Los expertos recomiendan no usar mas de 10 casos de Uso con no mas de 30 escenarios
Reconciliacin de Estimaciones
La estimacion por LDC, PF y basadas en el proceso se realizan independientemente. Cuando se tienen algunas estimaciones de costo y esfuerzo se pueden comparar y armonizar. Si tienen un buen grado de concordancia son confiables las estimaciones. Si son poco concordantes los resultados de las estimaciones, entonces se debe investigar y analizar mejor
Tcnicas Delfi
Desarrolladas con el fin de obtener el consenso de un grupo de expertos sin contar con los efectos negativos de las reuniones de grupos. La tcnica puede adaptarse a la estimacin de costos de la siguiente manera: Un coordinador proporciona a cada experto la documentacin con la definicin del sistema y una papeleta para que escriba su estimacin. Cada experto estudia la definicin y determina su estimacin en forma annima; los expertos pueden consultar con el coordinador, pero no entre ellos. El coordinador prepara y distribuye un resumen de las estimaciones efectuadas, incluyendo cualquier razonamiento extrao efectuado por alguno de los expertos. Los expertos realizan una segunda ronda de estimaciones, otra vez annimamente, utilizando los resultados de la estimacin anterior. En los casos que una estimacin difiera mucho de las dems, se podr solicitar que tambin en forma annima el experto justifique su estimacin. El proceso se repite varias veces como se juzgue necesario, impidiendo una discusin grupal durante el proceso.
Observaciones
Se nota claramente que cada uno de los modelos (ecuaciones) producira un resultado diferente para los mismos valores de LDC o PF. Los modelos deben CALIBRARSE para las necesidades locales
Cocomo
El Modelo Constructivo de Costos (COnstructive COst Model) es una jerarqua de modelos de estimacin para el software. Las ecuaciones del modelo COCOMO bsico tienen la siguiente forma: E = ab (KLDC) exp (bb) D = cb (E) exp (db) donde E es el esfuerzo aplicado en personas-mes, D es el tiempo de desarrollo en meses cronolgicos y KLDC es el nmero estimado de Lneas de Cdigo distribudas (en miles) para el proyecto. Las ecuaciones del modelo COCOMO intermedio toma la forma: E = ai (KLDC) exp (bi) x FAE donde E es el esfuerzo aplicado en personas-mes, KLDC es el nmero estimado de Lneas de Cdigo distribudas para el proyecto.
Jerarquas de Cocomo
El modelo COCOMO bsico es un modelo univariable esttico que calcula el esfuerzo (y el costo) del desarrollo de software en funcin del tamao del programa expresando en lneas de cdigo (LDC) estimadas. El modelo COCOMO intermedio calcula el esfuerzo del desarrollo de software en funcin del tamao del programa y de un conjunto de conductores de costo, que incluyen la evaluacin subjetiva del producto, del hardware, del personal y de los atributos del proyecto. El modelo COCOMO avanzado incorpora todas las caractersticas de la versin intermedia y lleva a cabo una evaluacin de impacto de los conductores de costo en cada fase (anlisis, diseo, etc.) del proceso de ingeniera de software.
Cocomo Ejemplo
El chino lo pondra en esta diapo
COCOMO II
Es una Evolucin del COCOMO original propuesto por Boehm Aborda las siguientes reas:
Modelo de composicin de la aplicacin Modelo de la etapa de diseo temprano Modelo de etapa posterior a la arquitectura
Puntos Objeto
Son una manera indirecta de calcular el tamao del software por medio de conteo de:
Pantallas de interfaz de usuario Reportes Componente requeridos para las construccin de la aplicacin.
Las ponderaciones se basan en una tabla Se determina el numero de PO y se multiplica por la ponderacion Se suman todos los resultados para obtener una cuenta total de PO.
Puntos Objeto
Estimando el % de reutilizacion se ajusta la cuenta de PO
NPO = (PO) * [(100- %reut)/100]
Tipo de Interfaz Sin GUI Interfaz basada en texto GUI GUI Compleja
DESARROLLAR O COMPRAR?
rbol de Decisin
La organizacin tiene estas opciones: 1. Construir el Sistema desde 0 2. Reutilizar Componentes existentes de experiencia parcial 3. Comprar un Producto disponible y modificarlo. 4. Contratar una empresa externa para el desarrollo.
rbol de Decisin
Simple (0.30)
Construir
Difcil (0.70) Cambios Menores (0.40) Reutilizar Cambios Mayores (0.6) Sistema X Cambios Menores (0.70) Comprar Cambios Mayores (0.30) Sin Cambios (0.60) Contratar Con Cambios (0.40) Complejo (0.8)
$ 310000 $ 490000
Subcontratacin
Es extremadamente simple. Las actividades de ingeniera del software se contratan con una tercera parte que realiza el trabajo a un costo mas bajo Efecto negativo que la compaa pierde cierto control sobre el software Corre el riesgo de poner el destino de su competitividad en manos de una tercera parte
A qu se refiere Parnas?
PRCTICAS EN PLANIFICACIN GESTIN DE PROYECTOS Automated estimation tools (1973) Evolutionary delivery (1988) Measurement (1977) Productivity environments (1984) Risk management planning (1981) PRCTICAS EN INGENIERA DE REQUISITOS Change board (1979) Throwaway user interface prototyping (1975) JAD sessions (1985) Requirements (1989)
CALENDARIZACIN
Por qu es importante?
Construccin de un sistema complejo Tareas de ingeniera ocurren en paralelo Resultado de trabajo realizado durante una tarea pude tener un profundo efecto en el trabajo llevado a cabo en otra tarea. Interdependencia difciles de entender sin calendarizacin
Calendarizacin Adecuada
Requiere: Que todas las tareas aparezcan en la red Esfuerzo y tiempo asignados inteligentemente por tarea Interdependencias entre tareas indicadas adecuadamente Recursos asignados para el trabajo Hitos espaciados de modo cercano para poder seguir el progreso
Adoro las Fechas limite. Me gusta cuando pasan como una exhalacin cuando se alejan.
Douglas Adams
Generalidades
Objetivo del gestor
Definir tareas Construir la red de tareas Bosquejar las interdependencias entre las tareas Identificar las tareas cruciales y darles seguimiento
La calendarizacin evoluciona a lo largo del tiempo. Una calendarizacin Macroscpica se realiza durante las primeras etapas de la planificacin
Generalidades
Cientos de tareas deben realizarse para completar la meta mayor Algunas tareas se pueden completar sin preocuparse de su impacto sobre la fecha de terminacin del proyecto
Interdependencia
Algunas tareas deben ocurrir en secuencia Otras pueden ocurrir en paralelo Algunas tareas no pueden comenzar mientras el producto de trabajo producido por otras tareas no este disponible
Asignacin de Tiempo
A cada tarea se debe asignar cierto numero de unidades de trabajo (personas das de esfuerzo) Asignar fecha de inicio y terminacin en funcin de las interdependencias
Esto implica que la demora en la entrega puede reducir los costos significativamente
Conclusiones de PNR
Se pueden obtener beneficios al emplear menos personal durante un periodo un poco mas largo para lograr el mismo objetivo
PLANIFICACIN
Estimaciones Precisas
Las expectativas Injustificadas o no realistas son la mayor causa de los problemas El estado del arte es dramticamente mejor que el estado de la prctica
Efecto de la Estimacin
Estimacin Precisa
La estimacin es una habilidad tcnica especializada Tratar la estimacin como un mini proyecto Tener un plan de reestimacin peridica
Ajuste en la Planificacin
Tiempo
Enfoque en la Calidad
Gestin de Riesgos
El Factor Humano
Seguir Desarrollando
Por qu Planificar?
Boehm, 1975: 45% de los errores tienen su origen en los requisitos y en el diseo preliminar. DeMarco, 1984: 56% de los errores que tienen lugar en un proyecto software se deben a una mala especificacin de requisitos. Chaos Report, 1995: Los factores principales que conducen al fracaso en los proyectos software son: Falta de comunicacin con los usuarios. Requisitos incompletos. Cambios a los requisitos.
Es lo Mismo?