Gestin del proyecto de Software


Anuncios


El patrn de trabajo de cualquier compaa informtica relacionado con el desarrollo software se puede dividir en dos partes:

  • Creacin Software
  • Gestin del proyecto Software

Un proyecto es una tarea bien definida, que constituye uan coleccin de muchas operaciones realizadas con tal de lograr un objetivo concreto (Por ejemplo, desarrollo software y entrega). Un proyecto se puede caracterizar como:

  • Cada proyecto debe tener un objetivo nico y distintivo.
  • Proyecto no significa actividad rutinaria o operaciones diarias.
  • El proyecto viene con un tiempo inicial y un tiempo final.
  • El proyecto termina cuando se logra el objetivo deseado, por tanto, es una fase temporal de la organizacin.
  • El proyecto necesita recursos adecuados en lo que se refiere al tiempo, mano de obra, finanzas, material, etc.

Proyecto Software

Un proyecto software es todo el procedimiento del desarrollo de software, desde la recogida de requisitos, pasando por las pruebas y el mantenimiento, y llevado a cabo en acorde a las metodologas de ejecucin, en un momento concreto en el tiempo para lograr el producto software deseado.

Necesidad de la gestin del proyecto software

Se dice que el software es un producto no tangible. El desarrollo Software contiene aspectos de todas las corrientes del mundo de los negocios pero tiene poca experiencia en construir productos software. La mayor parte de los productos software se disean para satisfacer las necesidades de los clientes. Lo ms importante es que la tecnologa subyacente cambia y avanza tan frecuente y rpidamente que la experiencia de un producto quiz no se pueda aplicar a otro. Todo este tipo de negocios y limitaciones del entorno traen con ellos riesgo en el desarrollo del software, por eso es esencial gestionar los proyectos software de manera eficiente.

Time_Cost_Quality

La imagen de arriba muestra las limitaciones triples para los proyectos software. Es una parte esencial de la organizacin del software entregar un producto de calidad, manteniendo el coste dentro de las limitaciones del presupuesto del cliente y entregar el proyecto a tiempo. Hay muchos factores, internos y externos, que pueden causar un impacto en este tringulo de triples limitaciones. Cada uno de los 3 factores puede causar un impacto en los otros dos de forma grave.

Por tanto, la gestin del proyecto software debe incorporar los requisitos del usuario junto con el presupuesto y las limitaciones de temporales.

Gestin del proyecto Software

El directivo de un proyecto software es la persona que se responsabiliza de la ejecucin del proyecto software. Debe estar al tanto y seguir todas las fases del SDLC por las que el software pasar. Puede que no se implique de forma directa en la produccin del producto final, pero si que controla y dirige las actividades incluidas en esta fase.

El Director del proyecto sigue de cerca el proceso de desarrollo, prepara y ejecuta varios planes, organiza los recursos adecuados y necesarios, se mantiene comunicado con todos los miembros del equipo con tal de dirigir asuntos de costes, presupuesto, recursos, tiempo, calidad, y satisfaccin del cliente.

Veamos algunas de las responsabilidades que el Director de un proyecto asume.-

Gestin de personas

  • Actuar como lder del proyecto
  • Intermediar con accionistas
  • Gestionar los recursos humanos
  • Armar informes de jerarqua, etc.

Gestin del Proyecto

  • Definir y armar el alcance del proyecto
  • Gestionar las actividades de gestin del proyecto
  • Seguimiento de la actuacin y del progreso
  • Anlisis de riesgos en cada fase
  • Tomar la iniciativa para evitar o salir de problemas
  • Actuar como representante del proyecto

Actividades de la gestin de Software

La gestin del proyecto Software comprende un gran nmero de actividades, que contienen la planificacin del proyecto, decidir el alcance del producto software, estimar el coste respecto a la temporalizacin de tareas y eventos, y la gestin de los recursos. La actividades de gestin del proyecto pueden incluir:

  • Planificacin del proyecto
  • Gestin del alcance
  • Estimacin del proyecto

Planificacin del proyecto

La planificacin del proyecto Software es una tarea que se realiza antes de la produccin del software empiece. Est ah para la produccin de software pero no implica una actividad concreta que tenga una conexin directa con la produccin de software; ms bien es un conjunto de procesos, que facilitan la produccin de software. La planificacin del proyecto puede incluir:

Gestin del alcance

Define el alcance de un proyecto; esto incluye todas las actividades y procesos que se requieren para crear un producto software distribuible. La gestin del alcance es esencial porque crea condiciones del proyecto por medio de la definicin de lo que se debe realizar en el proyecto y lo que no. Esto hace que el proyecto contenga tareas limitadas y cuantificables, con lo que puede ser documentado fcilmente y por tanto evitar costes y tiempo excedidos.

Durante la gestin del alcance del proyecto, es necesario -

  • Definir el alcance
  • Decidir su verificacin y control
  • Dividir el proyecto en pequeas partes para facilitar su gestin.
  • Verificar el alcance
  • Controlar el alcance incorporando cambios a ste

Estimacin del proyecto

Para una gestin efectiva, es necesario que se realice una estimacin acurada de varias medidas. Los Directores pueden gestionar y controlar el proyecto de forma ms eficiente y efectiva haciendo estimaciones correctas.

La estimacin del proyecto puede incluir los siguientes aspectos:

  • Estimacin del tamao del Software

    El tamao del Software se puede estimar en KLOC (Kilo Lnea de cdigo) o calculando el nmero de puntos de funcin en el software. La lneas de cdigo dependen de las prcticas de codificacin y los puntos de funcin, que cambian segn el usuario o los requisitos del software.

  • Estimacin del esfuerzo

    Los directores estiman los esfuerzos en trminos de requisitos de personal y las horas de trabajo requeridas para producir el software. Para la estimacin de esfuerzos se debe conocer el tamao del software. Esto lo pueden aportar la experiencia misma de los directores, los datos histricos de la organizacin, o el tamao del software se puede convertir en esfuerzos usando alguna formulacin estndar.

  • Estimacin del tiempo

    Una vez el tamao y los esfuerzos se han estimado, podemos proceder a estimar el tiempo que requeriremos para producir el software. Los esfuerzos requeridos se dividen en categoras segn los requisitos del sistema y la interdependencia de varios componentes del software. Las tareas del Software se dividen en pequeas tareas, actividades o eventos por la 'Work Breakthrough Structure(WBS)' en espaol 'Estructura de descomposicin del trabajo'. Las tareas se temporalizan diariamente o en los meses del calendario.

    La suma del tiempo requerido para completar todas las tareas en horas o das es el tiempo total que se invierte para terminar el proyecto.

  • Estimacin del coste

    Este debe de ser considerado como el ms difcil de todos porque depende de ms elementos que los anteriormente mencionados. Para estimar el coste de un proyecto, se requiere considerar -

    • El tamao del software
    • La calidad del Software
    • El Hardware
    • Herramientas o software adicional, licencias, etc.
    • Personal formado para tareas concretas
    • Implicaciones de viaje
    • Communicacin
    • Formacin y soporte

Tcnicas de estimacin del proyecto

Ya hemos hablado de los parmetros en la estimacin del proyecto, como el tamao, esfuerzo, tiempo y costes.

El director puede estimar los factores mencionados usando 2 tcnicas ampliamente reconocidas

Tcnica de descomposicin

Esta tcnica toma el software como un producto de varias composiciones.

Hay dos modelos fundamentales -

  • Lnea de cdigo La estimacin se realiza en representacin al nmero de lnea de cdigos en el producto software.
  • Puntos de funcin La estimacin se realiza en representacin al nmero de puntos de funcin que hay en el producto software.

Tcnica de estimacin emprica

Esta tcnica usa frmulas empricamente derivadas para hacer estimaciones. Estas frmulas se basan en LOC (lnea de control) o FPs (lenguajes de programacin).

  • Modelo Putnam

    Este modelo hecho por Lawrence H. Putnam, que se basa en la distribucin de frecuencia de Norden ('Rayleigh curve'). El modelo Putnam dibuja el mapa de esfuerzos y tiempo que se requiere para el tamao del software.

  • COCOMO

    COCOMO significa 'COnstructive COst MOdel' (Modelo de coste constructivo), desarrollado por Barry W. Boehm. Divide el producto software en 3 categoras de software: orgnica, semi-independiente y incrustado.

Temporalizacin del proyecto

La Temporalizacin del proyecto se refiere al mapa de actividades a realizar en un orden concreto y con un tiempo adjudicado para cada una de ellas. Los jefes del proyecto tienden a definir varias tareas, y proyectos 'milestones' para luego organizar y mantener varios factores en mente. Buscan tareas que van por un camino crtico en la temporalizacin, y que necesitan completarse de una forma determinada (a cause de la interdependencia de tareas) y estrictamente en el tiempo adjudicado. La organizacin de tareas, la cual se mantiene fuera de un camino crtico tienen menos posibilidades de causar un impacto sobre toda la temporalizacin del proyecto.

Para temporalizar un proyecto, es necesario -

  • Partir el proyecto en tareas pequeas, dirigibles desde
  • buscar varias tareas y relacionarlas entre ellas
  • Estimar el marco requerido para cada tarea
  • Dividir el tiempo en unidades de trabajo
  • Asignar un adecuado nmero de unidades de trabajo a cada tarea
  • Calcular el tiempo total requerido des del inicio hasta el final del proyecto

Gestin de recursos

Todos los elementos usados para desarrollar el producto software se pueden tomar como recursos para ese proyecto. Esto puede incluir recursos humanos, herramientas productivas y bibliotecas software.

Los recursos estn disponibles en cantidades limitadas y se quedan en la organizacin como una piscina de ponederaciones. La falta de recursos obstaculiza el desarrollo del proyecto y puede demorar la temporalizacin prevista. Distribuir recursos adicionales aumenta el desarrollo del coste al final. Por esose hace necesario estimar y distribuir los recursos adecuados para el proyecto.

La gestin de los recursos incluye -

  • Definir la organizacin del proyecto satisfactoriamente creando un equipo de proyecto y distribuyendo las responsabilidades a cada uno de los miembros de ste.

  • Determinar los recursos requeridos para cada fase concreta y su disponibilidad

  • Gestionar recursos generando recursos cuando se requieren y retirarlos cuando ya no son necesarios.

Gestin de riesgo del proyecto

La gestin del riesgo incluye todas las actividades pertenecientes a la identificacin, analizando y haciendo provisiones para riesgos predecibles o no predecibles en el proyecto. El riesgo puede incluir lo siguiente:

  • El personal con experiencia que deja el proyecto y el nuevo persoanl que entra.
  • Cambio en la gestin organizativa.
  • Cambios requeridos o requisitos mal interpretados.
  • Estimacin baja de tiempo y recursos requeridos.
  • Cambios tecnolgicos y de entorno, y competicin empresarial.

Proceso de gestin de riesgos

Hay varias actividades en el proceso de gestin de riesgos:

  • Identificacin - Anota todos los riesgos posibles, que pueden ocurrir en el proyecto.

  • Categorizar - Categorizar riesgos ya conocidos en riesgo de intensidad alta, media y baja, segn el posible impacto que puedan tener en el proyecto.

  • Gestionar - Analizar la probabilidad de ocurrencia de riesgos en las distintas fasese. Planificar para evitar o tener que afrontar riesgos. Intentar minimizar sus efectos secundarios.

  • Monitorear - Hacer un seguimiento de cerca de los riesgos potenciales y de sus sntomas iniciales. Tambin monitorear los efectos de los pasos que se han seguido para mitigarlos o evitarlos.

Ejecucin del proyecto & Monitoreo

En esta fase, las tareas descritas en los planes el proyecto se ejecutan de acuerdo con su temporalizacin correspondiente.

La ejecucin necesita monitoreo con tal de evaluar si todo est yendo de acuerdo con el plan. Monitorizar es observar y evaluar la probabilidad de riesgo, y tomar medidas para redirigir el riesgo o informar del estatus de varias tareas.

Estas medidas incluyen -

  • Actividades de monitoreo - Todas las actividades programadas en una tarea se pueden monitorear a diario. Cuando todas las actividades de una tarea se completan, se considera completo.

  • Informes de estatus - Los informes contienen estatus de actividades y tareas completadas en un marco temporal, generalmente en una semana. El estatus puede marcarse como finalizado, pendiente, en progreso, etc.

  • Lista de verificacin 'Milestones' - Cada proyecto se divide en varias fases donde la mayora de las tareas se performan (milestones) en base a las fases del SDLC. Esta lista de verificacin milestone se prepara un par de veces al mes aproimadamente y se emite el estatus de milestones.

Gestn comunicativa del proyecto

Una comunicacin efectiva juega un rol vital en el proceso de un proyecto. Crea vacos en las conexiones entre el cliente y la organizacin, entre los miembros del equipo as como con los proveedores de hardware, etc.

La comunicacin puede ser oral o por escrito. La gestin comunicativa puede contener los siguientes pasos procedimentales:

  • Planificacin - Este paso incluye la identificacin de los accionistas, y la forma en que se van a comunicar entre ellos. Tambin considera si se requiere alguna facilidad comunicativa adicional.

  • Compartir - Despus de determinar varios aspectos de la planificacin, el director se centra en compartir informacin correcta con la persona correcta y en el momento correcto en el tiempo. Esto mantiene a todos los miembros del proyecto al da del progreso y del estatus del proceso.

  • Retroalimentacin - Los jefes del proyecto usan varias medidas y mecanismos de retroalimentacin y crean informes de estatus y de accin. Este mecanismo asegura que la entrada desde varios accionistas llega al jefe del proyecto como su retroalimentacin.

  • Cierre - Al final de cada evento mayor, de cada fase del SDLC o del proyecto mismo, se anuncia el cierre administrativo para actualizar a cada accionista via email, o distribuyendo una copia por escrito del documento o a travs de otro medio de comunicacin efectivo.

Despus del cierre, el equipo pasa a la siguiente fase o proyecto.

Gestin de la configuracin

La gestin de la configuracin es un proceso de seguimiento y control de cambios en el software en trminos de requisitos, diseo, funciones y desarrollo del producto.

El IEEE la define como un proceso de identificacin y definicin d los elementos del sistema, controlando los cambios en stos a travs de su ciclo vital, grabando e informando del estatus de cada uno de ellos, de sus peticiones de cambio, y verificando si estn completos y correctos.

Generalmente, una vez que el SRS(especificacin de requisitos de software) se termina, hay menos posibilidades de que cambien los requisitos del usuario. Si ocurren, los cambios son dirigidos con aprovacin previa a los altos directivos, ya que puede haber una posible demora en costes y tiempo.

Lnea de Base

Una fase del SDLC se considera completa si se hace la lnea base de este, esto es, la lnea de base es una medida que define el fin de una fase. La fase se completa cuando todas las actividades pertenecientes a sta se han terminado y documentado satisfactoriamnte. S no fuera la fase final, su resultado o output se usara en la siguiente fase.

La gestin de la configuracin es una disciplina de organizacin administrativa, que se ocupa de la ocurrencia de cualquier cambio (proceso, requisito, technolgico, estratgico, etc.) cuando la fase ya se ha 'baselined'. La gestin de la configuracin evala los cambios realizados en el software.

Control de cambios

El control de cambios e suna funcin de gestin de la configuracin, la cual asegura que todos los cambios realizados al sistema software son consistentes y se han hecho siguiendo regulaciones y normas de organizacin.

Un cambio en la configuracin del producto pasa por los siguientes pasos -

  • Identificacin - La solicutud de un cambio llega desde fuentes internas o externas. Cuando la solicitud de cambio se identifica de manera formal, est documentada correctamente.

  • Validacin - La validez de la solicitud de cambio es evaluada y su procedimiento para llevarla a cabo se confirma.

  • Anlisis - El impacto de una solicitud de cambio se analiza en trminos de temporalizacin, costes, y esfuerzos requeridos. El impacto general de los posibles futuros cambios en el sistema es analizado.

  • Control - Si los cambios esperados crean un impacto en demasiadas entidades del sistema o son inevitables, es obligatorio tener la aprovacin de altas autoridades antes que el cambio se incorpore en el sistema. Se decide si vale la pena incorporar el cambio o no. Si es que no, la solicitud de cambio se rechaza formalmente.

  • Ejecucin - Si la fase previa determina ejecutar la solicitud de cambio, esta fase toma las acciones apropiadas para ejecutar los cambios, y hace una revisin general si fuera necesario.

  • Cierre de la solicitud - El cambio es verificado por su corecta implementacin y combinacin con el resto del sistema. El nuevo cambio incorporado en el software se documenta y luego se cierra formalmente la solicitud.

Herramientas de gestin del proyecto

El riesgo y la incertidumbre crecen de forma mltiple en respecto al tamao del proyecto, An y cuando el proyecto se dearrolla segn el conjunto de metodologas.

Hay herramientas disponibles, que contribuyen a al gestin efectiva del proyecto. Algunas son descritas a continuacin -

Grfico Gantt

Los grficos Gantt fueron concebidos por Henry Gantt(1917). Representan la temporalizacin del proyecto respecto a los periodos de tiempo. Es un grfico de barras horizontal que representa las actividades y la temporalizacin para stas en el proyecto.

Diagrama de Gantt

Grfico PERT

El diagrama PERT (Tcnicas de Revisin y & Evaluacin de Proyectos) es una herramienta que representa el proyecto como un diagrama de red. Es capaz de representar de forma grfica eventos principales del proyecto de forma paralela y consecutiva. Los eventos, que se dan uno tras otro, muestran dependencia con el evento ms reciente por encima del previo.

Diagrama PERT

Los eventos se muestran en nmero de ndulos. Se conectan con flechas etiquetadas representando la secuencia de tareas en el proyecto.

Histograma de recursos

Es una herramienta grfica que contiene un esquema representando el nmero de recursos (normalmente personal formado) requeridos conforme avanza el tiempo para el evento de un proyecto o fase. El histograma de recursos es uan herremienta efectiva para el personal de planificacin y de coordinacin.

Tabla histogramas Histogramas Grfico

Anlisis de la ruta crtica o del camino crtico

Esta herramienta es til para reconocer tareas interdependientes en el proyecto. Tambin contribuye a encontrar el camino ms corto para completar el proyecto con xito. Como los diagramas PERT, a cada evento se le adjudica un marco temporal. Esta herramienta muestra dependencia de evento asumiendo que un evento puede proceder al siguiente solamente si el previo a ste se ha completado.

Los eventos se organizan en acorde segn el tiempo de inicio ms temprano posible. El camino entre en inicio y el ndulo es el camino crtico, el cual no puede reducirse en un futuro en todos los eventos, necesita ser ejecutado en el mismo orden.