introducción ingeniería del software juan pablo núñez
TRANSCRIPT
IntroducciónIngeniería del software
Juan Pablo Núñez
Agenda
Introducción
Presentación: qué es la ingeniería del software.
El contexto y la problemática.
La ingeniería de sistemas, sistemas, propiedades.
La gestión de proyectos de software.
El proceso de desarrollo de software.
Introducir el concepto dirección de proyectos.
Presentar las principales actividades de gerenciamiento de proyectos.
Presentar proceso y técnicas de gestión de cronograma.
Presentar proceso y técnicas de gestión de riesgos.
Objetivos
¿Qué es un proyecto? Esfuerzo temporal para crear un producto, servicio o resultado único.
Project Management InstituteGuía de fundamentos de la dirección de proyectos [PMBOK] tercera edición, 2004.
¿Qué es el gerenciamiento (dirección) de proyectos? La aplicación de conocimientos, habilidades, herramientas y técnicas a las
actividades de un proyecto para satisfacer los requerimientos.
¿Qué es el gerente de proyectos? El responsable del cumplimiento de los objetivos del proyecto.
¿Qué hace el gerente del proyectos? Identificar requerimientos Establecer objetivos claros y posibles de realizar Equilibrar restricciones de calidad, tiempo, costo [triple restricción] Adaptar las especificaciones, los planes y el enfoque a las inquietudes y
expectativas de los diferentes interesados.
Proyectos
Los interesados en el proyecto En el ámbito de un proyecto
existen distintos interesados respecto al mismo [stakeholders].
Estos participan en forma activa en el proyecto o tienen intereses que pueden ser afectados como consecuencia de la ejecución o conclusión del proyecto.
El equipo de dirección debe identificar todos los interesados, determinar sus requerimientos y expectativas así como gestionar su influencia en el proyecto.
Interesados en el proyecto
Equipo del proyecto
Equipo de dirección del proyecto
Sponsordel proyecto
Gerente del proyecto
Áreas de experiencia requeridas Áreas de experiencia requeridas en el
equipo de dirección.
Habilidades genéricas de dirección: gestión financiera logística contabilidad gestión de compras planificación estratégica planificación
operativa comportamiento organizacional
Comprensión del entorno: entorno cultural y social Entorno político y organizacional
Habilidades interpersonales: comunicación efectiva influencia en la organización liderazgo motivación negociación y resolución de conflictos resolución de problemas
La triple restricción Relación de equilibrio entre factores
claves: recursos [costos] tiempo [cronograma] alcance [funcionalidad]
En caso que uno de estos factores cambie por lo menos otro de los factores se ve afectado.
REC
UR
SOS TIEM
PO
ALCANCE
CALIDAD
Los procesos de dirección de proyectos
Planificar Hacer
RevisarActuar
Demming
Procesos de iniciación
Procesos de cierre
Planificación
Ejecución
Seguimientoy control
Los procesos de dirección de proyectosSponsor del
proyectoFactores
ambientalesActivos de los
procesos
Procesos de planificación
Procesos de ejecución
Procesos de inicio
Enu
nci
ad
o d
e t
rab
ajo
Con
tra
to
Cultura de la organizaciónRecursos humanos
Políticas, procedimientos, normasInformación histórica, lecciones aprendidas
Seguimiento y control
Procesos decierre
Acta de constitución del proyectoEnunciado preliminar de alcance
Plan de gestión del proyecto Productos entregablesCambios solicitadosSolicitudes de cambio implementadasAcciones preventivas implementadasAcciones correctivas implementadasInformación sobre el rendimiento
Solicitudes de cambio aprobadasSolicitudes de cambio rechazadasAcciones correctivas aprobadasAcciones preventivas aprobadasPlan de gestión de proyecto [actualizado]Enunciado de alcance [actualizado]Informes de avanceProyecciones
CLIENTE
Pro
du
cto
Ser
vici
oR
esu
ltad
o fin
al
Activos de la organización [actualizaciones]
Los principales documentos Acta de constitución del proyecto
Enunciado del alcance del proyecto objetivos del proyecto entregables del proyecto requerimientos respecto al proyecto requerimientos respecto al producto criterios de aceptación respecto al producto restricciones, supuestos hitos claves
Plan de gestión del proyecto Establece como se organiza el proyecto para el cumplimiento de los objetivos plan de gestión de recursos humanos, organización inicial del equipo, reclutamiento, capacitación plan de gestión de costos, línea base del presupuesto plan de gestión de cronograma, estructura de desglose de trabajo (WBS) y línea base del cronograma plan de gestión de calidad, plan de mejora de procesos, plan de validación plan de gestión de riesgos, registro inicial de riesgos, mecanismos de reducción propuestos mecanismos acordados para el control de cambios mecanismos acordados para el control de configuración
Las áreas de conocimiento
La gestión del tiempo Aquellos procesos necesarios para asegurar la
conclusión del proyecto a tiempo:1. identificar las actividades, atributos, hitos2. identificar dependencias y definir la secuencia de
actividades3. estimar los recursos necesarios para cada una de
las actividades4. estimar la duración de las actividades 5. desarrollar el cronograma6. control del cronograma [determinar estado actual,
impactar cambios]
La gestión del tiempo Identificar actividades e hitos.
WBS [work breakdown structure]: descomposición jerárquica del trabajo que debe ser ejecutado para cumplir con los objetivos del proyecto y los entregables requeridos.
Actividad: es la unidad básica para estimar, planificar, monitorear y controlar el avance del trabajo en el proyecto.
Hitos: son puntos de control del proyecto que por lo general se materializan en entregables concretos
La gestión del tiempo identificar las dependencias y definir la
secuencia de actividades
Dependencias: Fin a comienzo Fin a fin Comienzo a comienzo Comienzo a fin
Adelantos [leads]: representa situaciones en las que una actividad sucesora puede ser adelantada [testeo y correcciones].
Retrasos [lags]: representa situaciones en las que una actividad sucesora debe ser demorada.
Diagrama de precedencia: grafo dirigido nodos representan actividades flechas representan dependencias
inicio fin
C
DA
B
La gestión del tiempo identificar las dependencias y definir la
secuencia de actividades
Dependencias: Fin a comienzo Fin a fin Comienzo a comienzo Comienzo a fin
Adelantos [leads]: representa situaciones en las que una actividad sucesora puede ser adelantada [testeo y correcciones].
Retrasos [lags]: representa situaciones en las que una actividad sucesora debe ser demorada.
Diagrama de precedencia: grafo dirigido nodos representan actividades flechas representan dependencias
inicio fin
C
DA
B
La gestión del tiempo Desarrollar el cronograma
Método del camino crítico: técnica de análisis calcula fechas tempranas de inicio y fin para cada tarea calcula fechas tardías de inicio y fin para cada tarea no contempla las restricciones de recursos
Camino crítico: la secuencia de actividades que determina el tiempo necesario para ejecutar el proyecto.
Holgura: tiempo disponible para la ejecución de una secuencia de actividades sin afectar el proyecto.
Nivelación de recursos: técnica de análisis del cronograma que permite adaptarlo a cantidad limitada de recursos, la disponibilidad condicionada a ciertos
períodos, o mantener niveles constantes.
La gestión del tiempo
0Early Finish
Late Start SlackLate
Finish
Early Start
INICIO
8Early Finish
Late Start SlackLate
Finish
Early Start
A
3Early Finish
Late Start SlackLate
Finish
Early Start
B
3Early Finish
Late Start SlackLate
Finish
Early Start
C
5Early Finish
Late Start SlackLate
Finish
Early Start
D
1Early Finish
Late Start SlackLate
Finish
Early Start
E
0Early Finish
Late Start SlackLate
Finish
Early Start
FIN
DurationEarly Finish
Late Start SlackLate
Finish
Early Start
Task Name
La gestión del tiempo
La gestión del tiempo
0 0
Late Start SlackLate
Finish
0
INICIO
8 8
Late Start SlackLate
Finish
0
A
3 3
Late Start SlackLate
Finish
0
B
3 11
Late Start SlackLate
Finish
8
C
5 16
Late Start SlackLate
Finish
11
D
1 4
Late Start SlackLate
Finish
3
E
0 16
Late Start SlackLate
Finish
16
FIN
DurationEarly Finish
Late Start SlackLate
Finish
Early Start
Task Name
La gestión del tiempo
0 0
0 Slack 0
0
0
8 8
0 Slack 8
0
A
3 3
8 Slack 11
0
B
3 11
8 Slack 11
8
C
5 16
11 Slack 16
11
D
1 4
15 Slack 16
3
E
0 16
16 Slack 16
16
FIN
DurationEarly Finish
Late Start SlackLate
Finish
Early Start
Task Name
La gestión del tiempo
0 0
0 0 0
0
INICIO
8 8
0 0 8
0
A
3 3
8 8 11
0
B
3 11
8 0 11
8
C
5 16
11 0 16
11
D
1 4
15 12 16
3
E
0 16
16 0 16
16
FIN
DurationEarly Finish
Late Start SlackLate
Finish
Early Start
Task Name
La gestión de riesgos El riesgo es un evento o condición que si se produce tiene un efecto [positivo o
negativo] en los objetivos o factores del proyecto.
Es posible clasificar los riesgos: Riesgos del proyecto [ej.: rotación de personal] Riesgos del producto [ej.: componentes de terceros] Riesgos del negocio [ej.: competencia]
Ejemplos: Rotación de personal Cambio de requerimientos Malas estimaciones Cambios en la tecnología Cambio de prioridades organizacionales No disponibilidad de recursos previstos [hardware, expertos] Retrasos en las especificaciones de componentes
La gestión de riesgos El proceso de gestión de riesgos:1. Identificación de riesgos2. Análisis de riesgos3. Planificación de respuestas4. Monitoreo y control de riesgos
Identificación de riesgos Determinar listado de riesgos potenciales. Identificar indicadores que permitan reconocer cuando el riesgo fue activado. Juicio Experto. Tormenta de ideas. Tomando listas base:
Riesgos de tecnología Riesgos de personal Riesgos organizacionales Riesgos de herramientas Riesgos de requerimientos Riesgos de estimación
La gestión de riesgos El proceso de análisis de riesgos consiste en priorizar los riesgos
identificados en función de su probabilidad e impacto en las restricciones y objetivos del proyecto.
Riesgo Probabilidad Impacto
Es imposible reclutar personal con las habilidades requeridas por el proyecto Alta Muy alto
Los componentes de software que deben ser reutilizados contienen defectos que limitan su funcionalidad Media Alto
Los cambios de requerimientos implican cambiar el dise;o Media Alto
Problemas financieros de la organización obligan a reducir el presupuesto del proyecto Bajo Muy alto
La gestión de riesgos El proceso de planificar respuestas a riesgos consiste en
establecer las estrategias para la gestión de riesgos.
Estrategias: prevención: implica modificar el plan de gestión o eliminar la
amenaza para que el riesgo se reduzca significativamente mitigación: reducir la probabilidad o el impacto asociado a un riesgo
específico contingencia: establecer con anterioridad plan alternativo de
respuesta en caso que un riesgo determinado se active trasnsferencia: trasladar el riesgo a un tercero [seguros]
La gestión de proyectos es esencial para que proyectos de ingeniería de software se logren en tiempo y presupuesto.
El gerente del proyecto es responsable del cumplimiento de los objetivos planteados.
El propósito de la gestión es lograr balancear la triple restricción: alcance, tiempo y recursos.
La gestión de proyectos involucra fundamentalmente la fijación de planes, seguimiento y monitoreo de los mismos.
El gerente de proyecto dedica la mayoría de su tiempo a la comunicación y debe desarrollar intensamente sus capacidades interpersonales.
La gestión de proyectos involucra manejar riesgos que puedan afectar el cumplimiento de los objetivos.
Los procesos de gestión tales como la planificación y manejo de riesgos son procesos iterativos que deben darse a lo largo de todo el proyecto.
Puntos claves