Date post: | 24-Jun-2015 |
Category: |
Technology |
Upload: | virginia-polcan |
View: | 394 times |
Download: | 3 times |
Paradigmas
• Modelos de ciclo de vida de desarrollo un software
• Asociados a una serie de metodos, herramientas y procedimientos a ser usados a lo largo del proyecto.
Modelo en cascada
Modelo en cascada• Ciclo de vida clasico• Estrictamente secuencial• Requerimientos bien definidos• Requerimietos estables• Minimiza tareas de ciclos iterativos• Permite afrontar complejidad de proyectos grandes en
forma muy ordenada• Alto control → permite equipos de desarrollo de baja
calificacion• Inflexible, retroceder es costoso y dificil• Resultado tangible al final del proyecto
Modelo Prototipo
Verificar requerimientos del usuario
-Prototipo construido y aceptado con diseños de pantalla y listados-Encadenamiento de modulos-Flujo de datos
Modelo Prototipo• El cliente participa activamente en el desarrollo• Aporta resultados tangibles para medir el progreso del
proyecto• Flexibilidad y negociacion del proyecto con el cliente• Cuando los requerimientos son cambiantes• Cuando el cliente no puede definirlos con suficiente
detalle• En proyectos grandes dificil saber cuando se llega al
final y cuantos prototipos intermedios habra• Se tiende a desarrollar en forma anarquica dejando de
lado especificaciones de los requisitos o el analisis.
Modelo de desarrollo en Espiral
Modelo de desarrollo en Espiral
• Orientado a la eliminacion progresiva de riesgos con iteraciones para minimizar riesgos.
• Como minimiza riesgos el nivel de seguridad es alto, los riesgos se eliminan al principio que es cuando mejor se puede reaccionar
• Cliente dispone de prototipos tangibles en cada iteracion
• Complejidad y gran carga en la gestion de este modelo
Modelo de desarrollo en Espiral• Se desarrolla un primer prototipo• El cliente aporta realimentacion• Con ella se desarrolla segunda version• Asi sucesivamente hasta alcanzar una version que
lo satisfaga.• Util cuando el cliente tiene apuro en desarrollar la
aplicación pero no es capaz de definirla con exactitud
• Util cuando se prevee que los requerimientos van a tener una tasa de cambio alta durante el desarrollo del proyecto
Modelo desarrollo orientado a Hitos
Modelo desarrollo orientado a Hitos• Cuando el factor limitante es el tiempo• Asume cierta indefinicion en las funcionalidades
implementadas pero fija claramente un punto final en el tiempo.
• En un desarrollo grande, es util para gestionar el desarrollo de modulos individuales, no criticos, con el fin que no se retrase el proyecto.
• Se trabaja secuencialmente en la base estable del producto que incluye hasta el diseño de la arquitectura, a partir de alli se trabaja en ciclos iterativos sobre el diseño detallado, codificacion y pruebas.
Modelo desarrollo orientado a Hitos
• Optimo ante situacion de fecha limite rigida• En proyectos grandes, permite reducir riesgos si
se gestionan los modulos de menor prioridad con esta tecnica.
• Si se implementan pocas funcionalidades de las previstas, se habra perdido mucho tiempo en especificaciones y diseño de funcionaliades no implementadas. Hay que medir bien la ambicion del trabajo previo a los ciclos iterativos.
Modelo de desarrollo en versiones sucesivas
• Para resolver la tardia aparicion de un modelo funcional del sistema en desarrollo en el modelo en cascada.
• Se realiza una serie de iteraciones sobre el propio modelo en cascada. En la primera iteracion se obtiene la primera version y asi sucesivamente refinando el modelo hasta la version definitiva que satisface los requerimientos del usuario.
Modelo evolutivo
• Se obtienen versiones sucesivas según un plan• Se realiza una implementacion gradual de los
requerimientos, de un esbozo funcional a versiones cada vez mas refinadas y cercanas a las especificaciones.
• Dificil tarea es la de modificar codigo• Parches de una version pasa a ser base en otra
con riesgos de estructuracion defectuosa
Modelo de transformacion• Para resolver dificultad de modificar codigo utiliza la
existencia de sistemas que puedan convertir facilmente los requerimientos en codigo.
• Pasos:– Una especificacion formal del sistema– Transformacion automatica o asistida– Iteraciones sobre el codigo para mejorarlo– Prueba general– Iteraciones para ajustar el resultado a las especificaciones.
• Todavia falta un sistema adecuado para transformar requerimientos en codigo.
• Solo puede usarse en pequeños proyectos y a tareas especificas pero no se puede generalizar su aplicacion
Modelo mixto
• Pueden combinarse cualquiera de los modelos si el perfil del proyecto lo hace aconsejable.
• Los modelos presentados son estrategias de base ante una serie de caracterisitcas de un proyecto.
Ejemplo de modelo mixto: cascada + hitos•
Definicion de las necesidades del sistema
Fase 0: Concepto y Definicion
Fase 1: Diseño detallado del sistema
Fase 2: Construccion y Prueba del sistema
Fase 3: Implementacion
Fase 4: Operación
Hito O: Aprobacion de las definiciones
Hito 4: Aprobacion de la implementacion
Hito 2: Aprobacion del diseño detallado
Hito 3: Aprobacion de la construccion y pruebas
Hito 1: Aprobacion del concepto
PMBOK
• Guia del PMI• Para la gestion de un proyecto:– 9 Areas de conociminto– 5 Procesos
Areas de conocimiento
• Describen el conocimiento y practicas de la gestion de proyectos, en terminos de sus procesos integrados.
• Estos procesos se organizan en las 9 areas de conocimiento.
1. Integracion
• Describe los procesos requeridos para la adecuada coordinacion del proyecto– Desarrollo del plan de proyecto– Ejecucion del plan– Control integrado de cambios
2. Alcance
• Describe procesos requeridos para asegurar que el proyecto incluya todo el trabajo requerido.
– Inicio– Planificacion del alcance– Definicion del alcance– Verificacion del alcance– Control de cambios en el alcance
3. Tiempo
• Describe los procesos requeridos para asegurar el termino a tiempo del proyecto.
– Definicion de tareas– Secuencia de tareas– Estimacion de la duracion de las tareas– Desarrollo del cronograma– Control del cronograma
4. Costos
• Describe los procesos requeridos para asegurar la ejecucion total del proyecto dentro de un presupuesto aprobado.
– Planificacion de los recursos– Estimacion de los costos– Preparacion de presupuesto de costos– Control de costos
5. Calidad
• Describe los procesos requeridos para asegurar que el proyecto satisfacera las necesidades para lo cual fue ejecutado.– Planificacion de la calidad– Aseguramiento de la calidad– Control de calidad
6. Recursos Humanos
• Describe los procesos requeridos para realizar un uso mas eficiente y eficaz de los actores del proyecto.
– Planificacion organizacional– Adquisicion de personal– Desarrollo de equipo
7. Comunicaciones
• Describe los procesos requeridos para asegurar la generacion, recopilacion, distribucion, almacenamiento y disposicion final de la info del proyecto.– Planificacion de las comunicaciones– Distribucion de la info– Informe de desempeño– Cierre administrativo
8. Riesgos
• Describe los procesos que tienen que ver con la identificacion, analisis y respuesta al riesgo del proyecto.– Planificacion de los riesgos– Identificacion de los riesgos– Analisis cualitativo de los riesgos– Analisis cuantitativo de los riesgos– Planificacion de las respuestas a los riesgos– Monitoreo y control de los riesgos
9. Contrataciones/Adquisiciones
• Describe los procesos requeridos para adquirir bienes y servicios desde fuera de la organización ejecutante.– Planificacion de las adquisiciones.– Planificacion del requerimiento– Solicitudes– Selección de proveedores– Administracion del contrato– Cierre o termino del contrato
Fases del proyecto
• Las organizaciones que ejecutan proyectos, los dividen en fases para mejorar la gestion.
• Todas las fases del proyecto forman el ciclo de vida del proyecto.
• Cada fase tiene uno o mas entregables para la fase siguiente
Procesos de los proyectos
• Los proyectos se componen de procesos• Un proceso es una serie de acciones en pro de
un resultado– Procesos de gestion de proyectos– Procesos orientados al producto o tareas del
proyecto
Grupos de Procesos
• 1. Inicializacion: autoriza proyecto o fase• 2. Planificacion: define y refina objetivos del
proyecto en un plan• 3. Ejecucion: coordinar personas y demas
recursos para llevar a cabo el plan.• 4. Control: asegura cumplimiento de los
objetivos del proyecto.• 5. Cierre: formaliza aceptacion del proyecto o
fase.
Grupo de procesos
• Estan vinculados por los resultados que producen
• Resultado de uno se convierte en entrada para el siguiente.
• Los procesos se repiten en cada fase del proyecto.
Interaccion entre grupos de proceso
Comunicación entre procesos
• Dentro de cada grupo de procesos, los procesos individuales estan unidos por sus entradas y salidas
ENTRADA (documento)
SALIDA (documento)
HERRAMIENTAS Y TECNICAS
I.Fase de Inicio
II. Fase de Planificacion
III. Fase de Ejecucion
IV. Fase de control
V. Fase de Cierre
Mapeo de los procesos de gestion de Proyectos
Contexto de la Administracion de proyectos
• Fases (entregables) y ciclo de vida• Actores• Influencia organizacional (estructuras)• Habilidades del Adm general• Influencias socio-economicas
Influencia organizacional
• Aspectos claves:– Sistemas organizacionales• Organizaciones basadas en proyectos.• Organizaciones no basadas en proyectos.
– Cultura y estilo organizacional– Estructura organizacional• Organización funcional• Organización Proyectada• Organización Matricial
Influencia organizacional
Influencia organizacional
Entregables
• Es un producto tangible y verificable del trabajo del proyecto
• Cada tarea tiene un entregable• Cada fin de fase lleva una revision de los
entregables y desempeño del proyecto para:– Si se sigue o no a la proxima fase– Detectar y corregir errores
Entregables usuales
• Estudio de viabilidad– Sistema propuesto– Necesidades del negocio– Equipo de desarrollo y definicion de
responsabilidades– Costos y beneficios
Fases y entregables
• Analisis– Requisitos del sistema– Especificaciones del sistema
• Diseño– Diseño detallado
• Codificacion• Prueba• Instalacion y mantenimiento inicial
Entregable: Requisitos del sistema
• Analisis del sistema actual (si existe)• Requisitos nuevos de los usuarios
– Entrevistas a todos los usuarios propuestos y actuales• Descripcion del sistema propuesto
– Definir el ambito del sistema propuesto– Requisitos nuevos del sistema– Prototipo
• Tomar decision de continuar o no• Producir una estimacion de costos, planificacion, recursos
y responsabilidades para la siguiente fase y resto del proyecto (especificacion del sistema)
Entregable: Especificacion del sistema• Definir el tipo de sistema propuesto: basado en transacciones,
distribuido, centralizado, cantidad de estaciones de trabajo• Esquematizar el sistema propuesto
– Descripcion del sistema (DFDs) de los requerimientos de la fase anterior
– Construir diccionario de datos– Requisitos de telecomunicaciones– Requisitos de Hardware
• Plan de pruebas de integracion• Tomar decision de continuar o no• Producir una estimacion de costos, planificacion, recursos y
responsabilidades para la siguiente fase y resto del proyecto (fase diseño)
Entregable del diseño • Desarrollar un diseño detallado y producir el diseño global
del sistema (por alternativa si hay mas de una)– Programas y modulo reutilizables– Archivos y bases de datos– Transacciones– Diccionario de datos– Procedimientos– Carga del sistema y tiempos de respuesta– Interfases
• Tecnicas de implementacion recomendada:– Codificacion propia, compra de paquetes (localizacion de los
mismos), contratacion externa, etc.• Plan de prueba de programas.
Entregable de diseño
• Identificar las necesidades de entrenamiento y documentacion de los usuarios para definir guias.
• Producir el documento de diseño del sistema• Tomar la decision de continuar o no• Recomendar alternativa (si las hay)• Nivel de compromiso de programadores, si son
contratados y responsabilidades del equipo del proyecto para la siguiente fase.
Entregables de codificacion• Realizar el diseño final del sistema y de cada programa• Codificar el diseño y documentar programas conteniendo
comentarios• Diagramas definitivos del sistema y de los programas• Descripcion detallada de la logica de cada programa• Descripcion de las E/S, archivos, pantallas, listados, etc• Realizar los tests de cada programa y documentar
resultado de las pruebas de cada programa y de la integracion
• Guias para los operadores del sistema y manual de usuario
• Programas de entrenamiento de los operadores
Entregables de codificacion
• Producir una estimacion revisada de costos, planificacion, recursos y responsabilidades para la siguiente fase y para el resto del proyecto.
• Realizar revisiones de programas y codificacion, obtener resultados finales de integracion completa del sistema
Entregables de las pruebas
• Realizar el test del sistema• Plan de pruebas del sistema actualizado, si hubo
modificaciones.• Informe de los resultados de las pruebas: descripcion,
resultado esperado, resultado obtenido y acciones a tomar para corregir desviaciones.
• Revision y aprobacion de las pruebas del sistema• Resultado de pruebas de documentacion• Aprobacion de la documentacion• Planificacion de la instalacion
Entregables de las pruebas
• Esbozar un plan ante caidas• Aprobacion de los planes de contingencia• Aprobacion del plan de instalacion• Finalizacion del sistema completamente
probado• Desarrollar un acuerdo de nivel de servicio
Entregables de la Instalacion
• Instalacion del hardware y software nuevo• Planes detallados de contingencias, explotacion y
caidas del sistema y recuperacion• Establecer los procedimientos de mantenimiento
y versiones• Formar a los usuarios y operadores• Carta de aceptacion del sistema• Establecer calendario para las otras versiones, si
es necesario
Entregables del Mantenimiento
• Listados de fallos del sistema y de mejoras solicitadas para cambiar o para futuras versiones
• Acta de las revisiones regulares del sistema y aceptacion del soporte
• Asegurarse que el sistema continua solucionando las necesidades de los usuarios
Ejecucion del Proyecto
• Puesta en marcha– Organización del equipo de desarrollo y del lugar
de trabajo– Mecanismos de comunicación: divulgacion de los
estandares de trabajo y sistemas de informes.– Asignacion de roles y responsabilidades
Ejecucion del proyecto
• Fase Productiva– Los recursos deben llevar a termino cada una de
las tareas que se les ha asignado en el momento indicado.
– Se toman medidas de desempeño y rendimiento– Mantener reuniones para identificar problemas– En caso de desviaciones, realizar acciones
correcticas– Coordinar las tareas
Cierre del Proyecto
• Se da por finalizado el proyecto– Se entrega el producto al cliente– Aprobacion del documento de aceptacion del
producto– Revisar las desviaciones y documentar las
lecciones aprendidas