Universidad de Ibagué, Coruniversitaria.
Programa Ingeniería de Sistemas

Ingeniería del Software

Inicio

Generalidades

Ejercicios

Talleres

Proyecto

 

 ADMINISTRACIÓN DE PROYECTOS SOFTWARE

 La necesidad de administrar es una distinción importante entre un desarrollo profesional de software y la programación no profesional.

 La administración de proyectos de software es diferente de otro tipo de administración en ingeniería porque: El software es intangible. Los proyectos pueden ser nuevos o innovadores, por lo que no existe un conjunto de experiencias para guiar su administración. El proceso del software no se comprende del todo.


Los administradores de software tienen diversos papeles. Sus actividades más significativas son: Redacción de la propuesta, Estimación, Planificación y calendarización del proyecto, Gestión de riesgos, selección y evaluación del personal...

La primera etapa de un proyecto de software implica redactar una propuesta para realizar ese proyecto. La propuesta describe los objetivos del proyecto y cómo se llevaría a cabo. Por lo general, incluye estimaciones de costo y tiempo y justifica por qué el contrato del proyecto se le debe dar a una organización o a un equipo en particular.  No existen guías para esta tarea; la redacción de propuestas es una habilidad que se adquiere con la práctica y la experiencia.

El proceso de planeación inicia con una valoración de las restricciones que afectan el proyecto (fecha de entrega requerida, personal disponible, presupuesto global, etc.)
El siguiente seudocódigo describe el proceso de planeación del proyecto para el desarrollo de software:

 Establecer las restricciones del proyecto
 Hacer la valoración inicial de los parámetros del proyecto
 Definir los hitos del proyecto y productos a entregar
 mientras el proyecto no se haya completado o cancelado, repetir
      Bosquejar la programación en el tiempo del proyecto
      Iniciar actividades acorde a la programación
      Esperar (por un momento)
      Revisar el progreso del proyecto
      Revisar los estimados de los parámetros del proyecto
      Actualizar la programación del proyecto
      Renegociar las restricciones del proyecto y los productos a entregar
      si (surgen problemas) entonces
           Iniciar la revisión técnica y el posible ajuste
      fin_si
 fin_mientras

 La calendarización de proyectos implica la creación de varias representaciones gráficas de partes del plan del proyecto. Éstas incluyen
redes de actividades que muestran las interrelaciones de las actividades
del proyecto y gráficos de barras que muestran la duración de dichas actividades. En el siguiente sitio se pueden encontrar herramientas software para la gestión de proyectos:

 http://www.navegapolis.net/content/view

 http://www.basecamphq.com/

 Se deben identificar y valorar los riesgos mayores del proyecto para establecer su probabilidad y consecuencias para éste. Para los riesgos más probables y potencialmente serios, se deben hacer planes para anularlos, administrarlos o tratarlos.

 

Ejercicios "amistosos"

  1. Explique por qué los mejores programadores no siempre son los mejores administradores de software.

  2. Explique por qué la intangibilidad de los sistemas de software plantea problemas para la administración de proyectos de software.

  3. ¿Por qué el proceso de planeación de proyectos es iterativo y por qué un plan se debe revisar continuamente durante el proyecto de software?

  4. Su jefe le ha solicitado que entregue un software en un tiempo que sólo puede ser posible cumplir preguntando al equipo del proyecto si desea trabajar horas extras sin pago alguno. Todos los miembros del equipo tienen hijos pequeños. Discuta si es que debería aceptar esta petición de su jefe o si es que debería persuadir al equipo para dar su tiempo a la empresa más que a sus familias. ¿Qué factores podrían ser significativos en la decisión?

  5. Siendo  programador, a usted le ofrecen un ascenso como administrador de proyecto, pero su sensación es que puede tener una contribución más efectiva en un papel técnico que en uno administrativo. ¿Cuándo debería aceptar ese ascenso?

  6. Un avión de pasajeros está compuesto por varios millones de partes individuales y requiere miles de personas para ensamblarlo. Un puente de autopista de cuatro carriles es otro ejemplo de complejidad. La primera versión de Word para Windows, procesador de palabras lanzado por Microsoft en nov. de 1989, requirió 55 años hombre, dando como resultado 249000 líneas de código fuente y fue entregado con 4 años de retraso. Los aviones y los puentes de autopista por lo general se entregan a tiempo y por debajo de su presupuesto, mientras que con el software a menudo no es así. Discuta cuáles son, en su opinión, las diferencias entre el desarrollo de un avión, un puente y un procesador de palabras que pueden causar esta situación.

  7. Se le ha nombrado gestor de proyecto de una pequeña compañía de productos software. Su trabajo consiste en construír un producto innovador que combine hardware de realidad virtual con software innovador. Como la competitividad por el mercado de entretenimiento casero es intensa, hay cierta presión para terminar el trabajo rápidamente. ¿Qué estructura de equipo elegiría y por qué? ¿cuáles serían sus modelos de proceso de software?

  8. Se le ha pedido que desarrolle una pequeña aplicación que analice todos los cursos ofrecidos por la Universidad de Ibagué e informe de las notas medias obtenidas en cada curso (para un período determinado). Escriba una exposición del alcance que abarque este problema. 

  9. ¿Cuál es la diferencia fundamental entre un hito y una entrega?

  10. La tendencia al outsourcing crece día a día en el mundo del software. Si usted es el jefe de sistemas de una empresa, ¿cómo sobreviviría a la subcontratación?


Inicio | Biografía | Cursos | Para pensar... | Para reflexionar... | Para reir | Enlaces

 
Profesor Gustavo Martínez Villalobos
Email: gustavo.martinez@unibague.edu.co
Facultad de Ingeniería de Sistemas, Coruniversitaria
Ibagué, Tolima, COLOMBIA