INTRODUCCION Los proyectos de desarrollo de software se diferencian de los otros proyectos de ingeniera tradicional en la naturaleza lgica del producto de software. Recordemos que el software s desarrollo, no se fabrica en un sentido clsico. En todos los proyectos de ingeniera la buena calidad se adquiere mediante un buen anlisis y diseo, pero en el caso del software, la etapa de construccin incide dbilmente en su calidad, no as en la construccin de hardware o de una obra civil. Otra diferencia es que el software no se estropea, el paso del tiempo o males del entorno no inciden en el aumento de la tasa de fallas. As, no se puede gestionar un proyecto de desarrollo de software como si se tratara de un proyecto de fabricacin. La gestin del proyecto de software es el primer nivel del proceso de ingeniera de software, porque cubre todo el proceso de desarrollo. Para conseguir un proyecto de software fructfero se debe compr ender el mbi t o del t r abaj o a r eal i zar , l os r i esgos en l os que se puede incurrir, los recursos requeridos, las tareas a llevar a cabo, el esfuerzo (costo) a consumir y el plan a seguir La gestin y planificacin de proyectos es una actividad que empieza antes de iniciar cualquier actividad tcnica y contina a lo largo de la definicin, del desarrollo y del mantenimiento del software. La actividad de gestin del proyecto comprende medicin y mtricas, estimacin, anlisis de riesgos, planificacin, seguimiento y control. Gestin de proyectos. Implica la Planificacin, Supervisin y Control del Personal, los Procesos y los Eventos mientras evoluciona el software. El espectro de la gestin La gestin de un proyecto de software se centra en las 4 Ps: Personal: Necesidad de personal para el desarrollo de software Producto: Objetivos y mbito del software Proceso: Estructura que establece un plan detallado para el desarrollo del software Proyecto: Proyectos de software planificados y controlados.
2
PERSONAL Recurso humano que participa y colabora en el proceso del software y su organizacin para el desarrollo de los proyectos software de manera eficaz. CONFORMACION DE LOS EQUIPOS DE TRABAJO Participantes Se clasifican en: 1. Gestores Superiores: se encargan de definir los aspectos del negocio. 2. Gestores tcnicos del proyecto: se encargan de planificar, motivar, organizar y controlar a los profesionales que realizan el trabajo de desarrollo del software. 3. Profesionales: se encargan de proporcionan las capacidades tcnicas necesarias para la ingeniera de un producto o aplicacin. 4. Clientes: especifican los requisitos para la ingeniera del software. 5. Usuarios finales: Se encargan de interactuar con el software.
Jefes de equipo Es el gestor de proyectos de software, el cual: Diagnostica los aspectos tcnicos y de organizacin ms relevantes. Tiene confianza para asumir el control del proyecto y permite que los buenos tcnicos aporten sus ideas. Promueve e incentiva las iniciativas y logros del equipo del
3 proyecto. Hace saber a todos los miembros del equipo que la calidad es importante. Equipo de software Mantei, propone 3 niveles de organizacin de equipos. Descentralizado democrtico Este equipo no tiene un jefe permanente y se nombran coordinadores a corto plazo. Las decisiones se hacen por consenso del grupo. La comunicacin entre los miembros del equipo es horizontal. Descentralizado controlado Este equipo tiene un jefe definido que coordina tareas especficas y jefes secundarios que tienen responsabilidades sobre su tareas. La resolucin de problemas sigue siendo una actividad del grupo, pero la implementacin de soluciones se reparte entre subgrupos por el jefe de equipo. La comunicacin entre subgrupos e individuos es horizontal. Tambin hay comunicacin vertical a lo largo de la jerarqua de control. Centralizado controlado El jefe del equipo se encarga de la resolucin de problemas a alto nivel y la coordinacin interna del equipo. La comunicacin entre jefe y los miembros del equipo es vertical.
Coordinacin y Comunicacin
Se establecen mecanismos de comunicacin para coordinar al equipo de trabajo. Se deben tener: Comunicacin formal: se lleva a cabo por escrito, con reuniones organizadas y otros canales de comunicacin. Incluye documentos de ingeniera de software, memorandos tcnicos, documentacin, informes de seguimiento. Comunicacin informal: es ms personal. Incluye reuniones de grupo para la divulgacin de informacin y para la resolucin de problemas. Comunicacin electrnica: se lleva a cabo por correos electrnicos, boletines, audioconferencias, videoconferencias.
4 PRODUCTO Al inicio de un proyecto, el gestor del proyecto debe examinar el producto y el problema a resolver. Por lo que se debe establecer el mbito del producto delimitarlo.
mbito Se define: Contexto: Cmo encaja el software a construir en un sistema, producto o contexto de negocios mayor y qu limitaciones se imponen como resultado del contexto? Objetivos de informacin: Qu objetos de datos visibles al cliente se obtienen del software? Qu objetos de datos son requeridos de entrada? Funcin y rendimiento:Qu funcin realiza el software para transformar la informacin de entrada en una salida? Hay caractersticas de rendimiento especiales que abordar?
Descomposicin del problema Comprende el anlisis de requisitos del software. La descomposicin se aplica en dos reas principales: (1) la funcionalidad que debe entregarse y (2) el proceso que se emplear para entregarlo. Un problema complejo se parte en problemas ms pequeos que resultan ms manejables.
PROCESO El gestor del proyecto decide qu modelo de proceso es el ms adecuado para: 1. Los clientes que han solicitado el producto y la gente que realizar el trabajo. 2. Las caractersticas del producto. 3. El entorno del proyecto.
5 Maduracin del problema y el proceso Los miembros del equipo de software deben estructurar un conjunto de actividades que le permitan trabajar en cada funcin del problema. Se pueden considerar las siguientes actividades: Comunicacin Se establece comunicacin entre el desarrollador y el cliente, con el propsito de obtener los requisitos del sistema. Planificacin Conjunto de tareas con el propsito de definir los recursos y la planificacin temporal del proyecto. Anlisis del riesgo Tareas requeridas para valorar los riesgos tcnicos y de gestin. Ingeniera Tareas requeridas para construir una o ms representaciones de la aplicacin. Construccin y entrega Tareas requeridas para construir, probar, instalar y proporcionar asistencia al usuario. Evaluacin del cliente Tareas requeridas para que el cliente evale las representaciones de software creadas durante la fase de ingeniera.
El trabajo del gestor del proyecto es estimar los requisitos de recursos, poner fechas de inicio y finalizacin de las tareas y los productos a fabricar. Descomposicin del proceso Las actividades de: comunicacin, planificacin, anlisis de riesgo, ingeniera, construccin, entrega y evaluacin se adaptan al modelo o paradigma de desarrollo de software seleccionado. PROYECTO Se deben gestionar proyectos de software de calidad para que tengan xito. 1. Comprender el problema a solucionar y establecer los objetivos.
6 2. Mantener el equipo de desarrollo y proporcionar incentivos. 3. Realizar seguimiento a las actividades desarrolladas durante el proceso como parte de la calidad del mismo. 4. Tomar decisiones junto con el gestor del proyecto y el equipo de desarrollo de software. 5. Evaluar la planificacin real y la prevista, reunir y analizar mtricas del proyecto de software y realimentar cada uno de los procesos.