GESTIÓN DE PROYECTOS
GESTIÓN La Gestión de un Proyecto implica la planificación, supervisión, control del personal, del proceso y de los eventos que ocurren mientras evoluciona el desarrollo del software, desde el inicio del proyecto hasta la finalización del mismo. Se concentra en las 4P: 1. Personal 2. Producto 3. Proceso 4. Proyecto
1. PERSONAL Los participantes son: Gestores técnicos del proyecto (planifican, motivan, organizan y controlan) Profesionales (Proporcionan las capacidades técnicas para hacer un producto) Clientes (Especifican los requisitos del producto) Usuarios finales (Harán uso del producto entregado)
1. PERSONAL PARADIGMAS Y ORGANIZACIÓN DE EQUIPOS DE DESARROLLO Harlan Mills Mantei Paradigmas Constantine
ORGANIZACIÓN DE EQUIPOS DE DESARROLLO Jerárquico - Harlan Mills Equipo programador jefe Se basa en: Programador o ingeniero en jefe. Planifica y coordina las actividades técnicas del equipo de desarrollo. Personal técnico. Llevan a cabo las actividades de análisis y desarrollo. Ingeniero de apoyo. Ayuda al ingeniero en jefe. También hay otros técnicos que ayudan al ingeniero en jefe. Ej.: Bases de datos, comunicaciones, etc.
ORGANIZACIÓN DE EQUIPOS DE DESARROLLO Según Mantei Descentralizado democrático (DD) Descentralizado controlado (DC) Centralizado controlado (CC) Descentralizado democrático (DD). No tiene un jefe permanente. Se nombran coordinadores de tareas a corto plazo y se sustituyen por otros para diferentes tareas. Las decisiones y los enfoques se hacen por consenso. La comunicación entre los miembros del equipo es horizontal.
ORGANIZACIÓN DE EQUIPOS DE DESARROLLO Según Mantei Descentralizado controlado (DC). Tiene un jefe que coordina tareas específicas y jefes secundarios que tienen responsabilidades sobre subtareas. La solución de problemas es una actividad del grupo, pero la implementación de soluciones se reparte entre los subgrupos por el jefe de equipo. La comunicación entre subgrupos e individuos es horizontal. También hay comunicación vertical a lo largo de la jerarquía de control. Centralizado controlado (CC). El jefe de equipo se encarga de la solución de problemas a alto nivel y la coordinación interna del equipo. La comunicación entre el jefe y los miembros del equipo es vertical.
PARADIGMAS DE ORGANIZACIÓN DE EQUIPOS Según Constantine Paradigma cerrado. Tiene jerarquía tradicional de autoridad similar al equipo Centralizado controlado. Trabajan bien cuando producen software similar a otros anteriores, pero son menos innovadores. Paradigma aleatorio. El equipo se estructura libremente y depende de la iniciativa individual de los miembros. Son buenos cuando se requiere innovación o avances tecnológicos. Tienen problemas cuando se requiere un rendimiento ordenado.
PARADIGMAS DE ORGANIZACIÓN DE EQUIPOS Según Constantine Paradigma abierto. Estructura el equipo de forma que consiga algunos de los controles asociados con el paradigma cerrado y mucha de la innovación del paradigma aleatorio. El trabajo se desarrolla en colaboración, con mucha comunicación y toma de decisiones consensuadas. Son adecuados para resolver problemas complejos, pero pueden no ser tan eficientes como otros equipos. Paradigma sincronizado. Se basa en la partición natural de un problema y organiza los miembros del equipo para trabajar en partes del problema con poca comunicación activa entre ellos.
EXISTEN 7 FACTORES DE UN PROYECTO QUE DEBEN CONSIDERARSE AL PLANIFICAR EL ORGANIGRAMA DE EQUIPOS. 1. Dificultad del problema. 2. Tamaño del programa en líneas de código o puntos de función. 3. Tiempo de vida del equipo. 4. Grado en que el problema puede ser modularizado. 5. Calidad requerida y fiabilidad del sistema que se va a construir. 6. Rigidez de la fecha de entrega. 7. Grado de comunicación requerido para el proyecto.
ACTIVIDADES DEL EQUIPO DE DESARROLLO Comunicación con el cliente. Planeación. Análisis de riesgos. Ingeniería. Construcción y liberación. Evaluación del cliente.
TOXICIDAD DE UN EQUIPO 1. Atmósfera de trabajo frenética. Se gasta mucha energía y se descentran los objetivos 2. Alta frustración por motivos tecnológicos o personales 3. Procedimientos coordinados pobremente 4. Definición confusa de los roles 5. Continua y repetida exposición al fallo
2. PRODUCTO Ámbito del software Contexto. Cómo encaja el software en el sistema? Objetivos. Qué datos son visibles al cliente? Qué objetos de entrada son requeridos? Función y rendimiento. Cómo transforma los datos de entrada en salida? Qué más hay que saber? Descomposición del problema Divide y triunfarás
3. PROCESO Modelos de Desarrollo del Software: Cascada puro Cascada c/retroalimentación Espiral Incremental Prototipo
MADURACIÓN DEL PROCESO Comunicación con el cliente Planificación Análisis de riesgo Ingeniería Construcción y entrega Construir Probar Instalar Asistencia (Documentación y Formación) Evaluación del cliente
4. PROYECTO Para gestionar un proyecto de software con éxito, debemos comprender que puede ir mal y cómo hacerlo bien. Diez señales de peligro (7 indican fallo) 1. La gente del software no comprende las necesidades del cliente 2. El ámbito del producto está definido pobremente 3. Los cambios están mal realizados 4. La tecnología elegida cambia 5. Las necesidades del negocio cambian 6. Las fechas de entrega no son realistas 7. Los usuarios se resisten 8. Se pierden los patrocinadores 9. No hay personal con las habilidades necesarias 10. Los gestores evitan prácticas y sabias lecciones
ACTIVIDADES DE GESTIÓN PLANIFICACIÓN: Predeterminación de un curso de acción para alcanzar los objetivos organizacionales. ORGANIZACIÓN: Arreglo de las relaciones entre las unidades de trabajo para el cumplimiento de objetivos y el otorgamiento de responsabilidad y autoridad para obtener esos objetivos. STAFFING: Selección y entrenamiento de personas para puestos en la organización. DIRECCIÓN: Creación de una atmósfera que apoye y motive a la gente para alcanzar los resultados finales deseados. CONTROL: Establecimiento, medición y evaluación del desempeño de las actividades a través de los objetivos planeados.
HABILIDADES DE GESTIÓN HABILIDADES TÉCNICAS. Conocimiento y pericia en actividades que involucran métodos, procesos y procedimientos. Esto implica trabajar con herramientas y técnicas específicas. HABILIDADES HUMANAS. Habilidad para trabajar con gente, del esfuerzo cooperativo, del trabajo en equipo, de la creación de un ambiente donde la gente se sienta segura y libre de expresar sus opiniones. HABILIDADES CONCEPTUALES. Habilidad para ver la Imagen Completa, para reconocer los elementos relevantes de una situación, y para entender las relaciones entre los elementos. HABILIDADES DE DISEÑO. Habilidad para resolver problemas de manera que beneficie a la empresa. Para ser efectivos, particularmente en los niveles organizacionales altos, los gerentes deben ser capaces de más que sólo ver un problema. Si los gerentes solamente ven los problemas y se transforman en observadores de problemas, fallarán. Deben tener, además, la habilidad de un buen ingeniero de diseño para generar una solución práctica a un problema.
BIBLIOGRAFÍA PRESSMAN R. (2010). Ingeniería de Software, un enfoque práctico. México: Editorial Mc Graw Hill. 19