CC51A – Ingeniería de Software

1 CC51A – Ingeniería de SoftwareIntroducción a la Gestión...
Author: Eugenia Ortíz Salas
0 downloads 0 Views

1 CC51A – Ingeniería de SoftwareIntroducción a la Gestión de Proyectos de Software Sergio Ochoa D. Parte de este material ha sido cedido por el Prof. Jaime Navón, PhD. (www.ing.puc.cl/~jnavon) Clase 5, Parte b - Version 3

2 Estructura de la PresentaciónPrincipios Básicos Planificación de Proyectos Administración de Proyectos Malas Noticias Síntomas Comunes Deficiencias Comunes Conclusiones.

3 Principios Básicos de la Adm. de Proyectos“Cualquier comandante que acepta llevar a cabo un plan que él considera defectuoso es culpable; él debe exponer sus razones, e insistir en los cambios necesarios y finalmente ofrecer su dimisión antes de ser el instrumento de la derrota de su ejército”. Napoleón Si no estamos convencidos con el plan,.... no podremos administrar nada. La administración (o gestión) requiere: planificación y control. La planificación del proyecto consiste en distribuir la estimación del esfuerzo a lo largo del proyecto asignando.

4 Principios Básicos de la Adm. de Proyectos (cont...)La planificación consiste en establecer los hitos, actividades, y recursos necesarios para lograr una meta. La planificación involucra también las actividades para chequear el avance del proyecto. La planificación del proyecto involucra también el redefinir la planificación sobre la marcha, aportando medidas para palear los desfasajes respecto a la planificación inicial. El control (o seguimiento) del proyecto consiste en ejecutar las actividades de revisión previstas en la etapa de planificación, y comparar los resultados contra lo planificado. Para hacer esto hay que seguir una serie de Principios Básicos...

5 Principios Básicos de la Adm. de Proyectos (cont...)Segmentación - el proyecto debe ser separado en un número manejable de actividades y tareas. Interdependencia – la planificación debe reflejar la segmentación de tareas, y la relaciones entre ellas. Algunas tareas ocurren en secuencia, otras en paralelo, algunas son requisito de otras, etc. Asignación de recursos - a cada tarea se le debe asignar un cierto número de recursos: Tiempo Gente Recursos tecnológicos y físicos Fechas de inicio y término.

6 Principios Básicos de la Adm. de Proyectos (cont...)Validación del esfuerzo – se debe verificar que: La gente afectada a una tarea esté disponible. La cantidad no esté sobredimensionada. Sea suficiente. Definición de responsabilidades - cada tarea debe tener un responsable. Salida definida - cada tarea debe tener una salida o producto bien definido. Por ejemplo: diseño de un módulo, plan de pruebas, etc. Definición de metas - cada grupo de tareas debe estar asociado con una meta.

7 Planificación de TareasSe pueden usar cosas como PERT o CPM Cualquiera de estos métodos provee mecanismos para: determinar la ruta crítica (secuencia de tareas que define la duración del proyecto) establecer estimaciones probables para tareas individuales calcular tiempos límites que definen ventanas de tiempo para las distintas actividades lo más temprano que una actividad puede empezar si todas las precedentes se completan en el mínimo tiempo lo más tarde que puede comenzar una tarea sin aumentar el tiempo mínimo del proyecto existen herramientas de software para ello.

8 Planificación de Tareas (cont...)

9 Control de Tareas Hay que contrastar la realidad contra lo planificado, ... y generar planes de contingencia, en caso de ser necesario. Hay que monitorear (controlar) todo, así me aseguraré de tener “las riendas el proyecto”. Monitorear es un medio.... No un fin....

10 Control de Tareas (cont...)Formas de monitoreo: Informal: Llevar a cabo reuniones periódicas en las cuales los participantes informan del estado de las tareas, el progreso o los problemas encontrados. Formal: Determinar si las metas están siendo cumplidas de acuerdo a lo programado, usando checkpoints. Formal: Comparar los recursos planeados contra los realmente gastados, para las distintas tareas. Emitir alertas en caso de ser necesario (por ej. Para disparar un plan de contingencia).

11 Control de Tareas (cont...)

12 Control de Tareas (cont...)Al detectar problemas con la planificación: Asignar más recursos al área afectada. Readecuar el personal en general. Cambiar la programación de tareas del proyecto. Usar técnicas de “time-box”. Básicamente, es una estrategia de tipo incremental. Se define la entrega del primer incremento, y luego se reajustan todas las tareas de acuerdo a este incremento. Al llegar al límite de tiempo de una tarea para ese incremento, esa tarea se detiene y comienza la siguiente. Aunque una tarea no esté completa, muchas veces es posible postergar la última parte para el siguiente incremento.

13 Máximas.... “la mayoría de las veces el administrador del proyecto marca la diferencia entre el éxito o el fracaso de un proyecto”. “la gestión es tan importante como la parte técnica....”. “... es difícil encontrar un buen administrador de proyectos”. “La administración de proyectos es una disciplina que se debe aprender....”. “ En un equipo de trabajo, el adm. de proyectos es quien peor la pasa”.

14 Estilos de administraciónExisten clasificaciones para el estilo de adm. de proyectos, tales como la propuesta por el Project Mangement Institute (PMI): FORMAL: (legitimado) con autoridad basada en la posición. ESTIMULANTE: entregando reconocimiento o incentivo. COERCITIVO: con capacidad punitiva. EXPERTO: con habilidad técnica. RESPALDADO: basado en la referencia de la autoridad de alguien en posición superior.

15 Estilos de administraciónEl PMI establece que los mejores estilos son el EXPERTO y el ESTIMULANTE y el peor es el COERCITIVO. Steve Jobs Bill Gates Sadam Hussein Nuestras características personales, influencian nuestro estilo para planificar y administrar los proyectos.

16 ¿Cuál es su estilo personal de planificación/administración?Ejercicio ¿Cuál es su estilo personal de planificación/administración? Por muchas razones no todas las personas realizan una actividad de la misma manera, inclusive si han tenido la misma formación y entrenamiento. Ahora vamos a identificar cuál es su estilo para planificar o administrar un proyecto. Para ello responda el siguiente test, eligiendo la frase de cada línea que mejor lo describe a usted y al modo en que usted realiza su trabajo.

17 Ejercicio Columna 1 Columna 2 1 Paso a paso Todo de una vez 2Sección A Columna 1 Columna 2 1 Paso a paso Todo de una vez 2 Calma bajo presión Emoción bajo presión 3 Lento pero estable Rápido y tenso 4 Sensación de urgencia promedio Sensación de urgencia alta 5 Paciencia Impaciencia 6 Concentrarse en uno Hacer muchas cosas a la vez 7 Ansioso por cambios inesperados No se afecta por cambios inesperados 8 Impulsado por los hechos Impulsado por las emociones 9 Preciso Exaltado 10 Usa planificación diaria detallada Usa notas en ‘Post-It’ Total Columna 1: Total Columna 2:

18 Ejercicio Columna 3 Columna 4 1 Orientado al detalleOrientado al cuadro general 2 Basado en los hechos Basado en la lógica 3 Comparación con el pasado Evita comparaciones con el pasado 4 Investiga mucho Hace lo que le parece adecuado 5 Se respalda en teorías Decide basado en experiencia 6 Toma algún tiempo para decidir Toma decisiones rápidas 7 Implementador Emprendedor 8 Defensivo Obstinado 9 Autocrítico Seguro 10 Perfeccionista Omite algunos detalles Total Columna 3: Total Columna 4: Sección B

19 Ejercicio Cuente las marcas que hizo en cada columna, y coloquer el resultado en el siguiente recuadro. Resultado Total 1 Total 2 Total 3 Total 4

20 Ejercicio Interpretación Si marcó 6 o más en Columna 1, Ud. tiene estilo PERFECCIONISTA. Si marcó 6 o más en Columna 2, Ud. tiene estilo CAÓTICO. Si marcó 6 o más en Columna 3, Ud. tiene estilo DOCUMENTADO. Si marcó 6 o más en Columna 4, Ud. tiene estilo de MARCADOR DE TENDENCIAS. Observación: El marcar más de 6 frases en una columna no indica que Ud. no tenga características de las columnas en que marcó 4 o menos frases. De hecho, Ud. puede tener tendencias de comportamientos de todos los tipos. Sin embargo, la tendencia dominante será la de la columna en que realizó más marcas.

21 Ejercicio Perfeccionista Caótico Documentado Marca TendenciaCaracterísticas Perfeccionista Caótico Documentado Marca Tendencia Fortalezas Metódico. Bueno como organizador. Prefiere 1 proyecto a la vez. Trabajo preciso y de calidad. Dinámico. Participa en proyectos simultáneos. Gran sentido de urgencia y energía ilimitada. Trabajo persuasivo e interesante. Detallista. Tiende a ver las cosas desde lo ‘micro’ quedándose atrás. Prefiere evaluar u obtener aprobación antes de decidir. Trabajo exacto y metódico. Innovador. Genera muchas ideas durante brainstorming de alternativas al plan. Confiado y con capacidad de decidir. Trabajo visionario y sin burocracia. Potenciales debilidades Dificultad para afrontar cambios en el trabajo. Frustración cuando debe manejar más de 1 proyecto a la vez. Problemas de foco. Se aburre o pierde la atención fácilmente. Las ramas no le dejan ver el bosque. El plan puede atrasarse por detenerse en el análisis de opciones. Está a la defensiva cuando otros critican sus planes. Problemas para aceptar las ideas de otros. Puede decidir sin observar todos los ángulos. Frustración cuando debe mantener el status quo del proyecto. Tips para el desarrollo Entrénese en adm. del cambio. Desarrolle el modo de manejar múltiples tareas simultáneas metódicamente. Asegúrese de tener línea de comunicación abierta con su supervisor. Entrénese en adm. del tiempo. Desarrolle su paciencia. Minimice las distracciones al trabajar en tareas prioritarias. Entrénese en adm. del riesgo. Mantenga a la vista los grandes objetivos del plan. Trate de aceptar los comentarios positivamente y no esté a la defensiva. Entrénese en adm. de proyectos. Desarrolle la atención a los detalles. Permita a otros hacer sugerencias antes de decidir.

22 Ejercicio PERFECCIONISTA y DOCUMENTADOAlgunas combinaciones PERFECCIONISTA y DOCUMENTADO Probablemente es percibido como un implantador con falta de “garra”. Tip: Concéntrese en el bosque en vez de las ramas y en el manejo del cambio. CAOTICO y MARCADOR DE TENDENCIA Probablemente es percibido como un emprendedor encantador y persuasivo, un apasionado de los nuevos modos y cosas. Tip: Concéntrese en el manejo de los detalles, en aprender a ser paciente y perseverante.

23 Administración del ProyectoEl Administrador del Proyecto debe definir: Protocolo de coordinación para los miembros del equipo. Definir los niveles de opinión dentro del equipo. Canales/Jerarquías (normales) de distribución de información. Mecanismos de monitoreo y control. Nivel de autoridad que tienen los miembros del equipo, frente a terceros. Nivel de protección que brindará al grupo, frente a perturbaciones externas.

24 ¿Cómo Mejorar la Adm. de Proyectos de Software ?Requiere saber ¿dónde estamos hoy?. Con exactitud !!! ¿qué tan bien o mal lo estamos hacendo? Requiere revisar/rediseñar: El proceso de administración de proyectos actuales. La ingeniería de requisitos. La planificación de proyectos. El seguimiento y control de proyectos. El aseguramiento de la calidad. La administración de la configuración.

25 Malas Noticias La expansión de los sistemas de software en tamaño, complejidad, distribución e importancia empuja los límites de lo que se requiere para desarrollarlos. Tratar de avanzar más allá de los sistemas legados, hacia tecnologías más modernas, trae su propio conjunto de problemas técnicos y organizacionales. Los imprevistos nunca faltan…(rotación de personal, apuro por razones de mercado, etc.) La administración de proyectos de software se hace cada vez más difícil...

26 Malas Noticias (cont...) La competencia obliga a las empresas de desarrollo a mejorar su productividad, manteniendo o mejorando la calidad de sus productos, realizando además desarrollos más rápidos y económicos. Adicionalmente, la velocidad de preparación de personal de desarrollo calificado, es menor que la requerida. Además, actualmente el personal requiere competencias adicionales a las tradicionales (por ej. diseño gráfico, diseño de procesos de negocio, etc).

27 Malas Noticias (cont...) La construcción y mantención de software es una tarea difícil y será aún más difícil. Construir software de una cierta calidad, en forma repetible, es una tarea aún más compleja. Todo esto se refleja en la Administración de Proyectos.... Este es el por qué? de las máximas antes mencionadas.

28 Algunos Síntomas Comunes…Imprecisión en el entendimiento de las necesidades del usuario final. Nadie sabe exactamente cuál es el estado de avance del proyecto. Falta de habilidad/resistencia para manejar requisitos cambiantes. Módulos que no calzan.... Evitamos mostrarle las cosas al cliente/usuario. Software que es difícil de mantener o extender.

29 Algunos Síntomas Comunes (cont...)Descubrimiento tardío de fallas serias. No sabemos cómo manejar los problemas ajenos, como por ejemplo el Y2K. Miembros del equipo en muchas cosas, o ausentes, haciendo imposible reconstruir historia de cambios. Falta (o problemas) de comunicación entre los miembros del equipo. Los tiempos nos están asfixiando ……

30 Deficiencias Comunes Administración de requisitos ad-hoc.Se planifica, pero no se re-planifica. Comunicación ambigua e imprecisa dentro y fuera del equipo de desarrollo. Responsabilidades y roles difusos. Arquitecturas “escabrosas”. Complejidad y/o tamaño de los proyectos es muy grande. Falta de segmentación del problema. Inconsistencias no detectadas en requisitos, diseño e implementación. Control insuficiente.

31 Deficiencias Comunes (cont...)Testeo insuficiente. Evaluación subjetiva del estado del proyecto. Incapacidad de los miembros para trabajar en grupo. Fallas para analizar y atacar los riesgos. Propagación de cambios no controlada. Automatización insuficiente o falta de herramientas.

32 Buenas Prácticas de SoftwarePara construir buen software no basta con ser buen programador. Para ello, hay que conocer, planificar y controlar las actividades y recursos asignados a un proyecto. Existe una nueva ola en ingeniería de software, basada en dichos principios, que permite visualizar el futuro en forma más optimista.

33 Conclusiones La planificación del proyecto provee una definición de cada macro-tarea, junto con estimaciones de tiempos y recursos requeridos. La planificación del proyecto provee además un marco de referencia para monitoreo y control de estas tareas. La planificación del proyecto se desarrolla al comienzo pero es continuamente refinada a medida que el trabajo progresa. Salvo raras excepciones, los recursos y tiempos estimados inicialmente, difícilmente son alcanzados.

34 Conclusiones (cont...) Hay que controlar (monitorear) todo... pero el monitoreo es un medio, no un fin. Si el trabajo no coincide con los tiempos y recursos asignados, debe recortarse la tarea, o aumentarse los tiempos y/o recursos asignados. Sin embargo,…. Cita clásica: “si se incorpora más gente a un proyecto que ya está atrasado, éste se atrasará aún más” (Brooks, 1975) Es necesario ir comparando las estimaciones iniciales, con las reales, tan pronto como se pueda. Hay que reaccionar rápido ante los riesgos...