2. 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.
4. •
•
•
•
•
•
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
6. 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.
8. 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
9. 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
11. 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.
12. 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.
13. 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.
14. 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
15. 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
16. 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.
17. Ejemplo de modelo mixto: cascada + hitos
•
Definicion de las necesidades del sistema
Fase 0: Concepto y Definicion
Fase 1: Diseño detallado del sistema
Hito O: Aprobacion de las
definiciones
Hito 1: Aprobacion del
concepto
Hito 2: Aprobacion del diseño
detallado
Fase 2: Construccion y Prueba del sistema
Hito 3: Aprobacion de la
construccion y pruebas
Fase 3: Implementacion
Fase 4: Operación
Hito 4: Aprobacion de la
implementacion
18. PMBOK
• Guia del PMI
• Para la gestion de un proyecto:
– 9 Areas de conociminto
– 5 Procesos
19. 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.
20. 1. Integracion
• Describe los procesos requeridos para la
adecuada coordinacion del proyecto
– Desarrollo del plan de proyecto
– Ejecucion del plan
– Control integrado de cambios
21. 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
22. 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
23. 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
24. 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
25. 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
26. 7. Comunicaciones
• Describe los procesos requeridos para
asegurar la
generacion, recopilacion, distribucion, almace
namiento y disposicion final de la info del
proyecto.
– Planificacion de las comunicaciones
– Distribucion de la info
– Informe de desempeño
– Cierre administrativo
27. 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
28. 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
29. 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
30. 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
31. 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.
32. 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.
34. Comunicación entre procesos
• Dentro de cada grupo de procesos, los
procesos individuales estan unidos por sus
entradas y salidas
ENTRADA
(documento)
HERRAMIENTAS
Y TECNICAS
SALIDA
(documento)
41. Contexto de la Administracion de
proyectos
•
•
•
•
•
Fases (entregables) y ciclo de vida
Actores
Influencia organizacional (estructuras)
Habilidades del Adm general
Influencias socio-economicas
42. 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
46. 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
47. Entregables usuales
• Estudio de viabilidad
– Sistema propuesto
– Necesidades del negocio
– Equipo de desarrollo y definicion de
responsabilidades
– Costos y beneficios
48. Fases y entregables
• Analisis
– Requisitos del sistema
– Especificaciones del sistema
• Diseño
– Diseño detallado
• Codificacion
• Prueba
• Instalacion y mantenimiento inicial
49. 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)
50. 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)
51. 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.
52. 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.
53. 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
54. 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
55. 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
56. 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
57. 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
58. 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
59. 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
60. 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
61. 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