|
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"
-
Explique por qué los mejores programadores no siempre
son los mejores administradores de software.
-
Explique por qué la intangibilidad de los sistemas de
software plantea problemas para la administración de proyectos de
software.
-
¿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?
-
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?
-
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?
-
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.
-
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?
-
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.
-
¿Cuál es la diferencia fundamental entre un hito y una
entrega?
-
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?
 |