You are on page 1of 42

Gestion de Proyectos

La gestin de proyectos es una parte esencial del


software.
La buena gestin no garantiza el xito del
proyecto.
La mala gestin usualmente lleva al fracaso.
La administracin del proyecto de software es
necesaria debido a que la ingeniera de software
siempre est sujeta a restricciones de tiempo y
presupuesto.
Gestionar un proyecto de software es diferente a
la gestin de otros proyectos debido a que:
1. El producto es intangible
2. No existen procesos del software estndar.
3. Los proyectos grande son nicos.


1. EL ESPECTRO DE LA
GESTIN
La ingeniera de software es una empresa
intensamente humana.
La gestin eficaz de un proyecto de software se
centra en las 4 Ps
1. Personal
2. Producto
3. Proceso
4. Proyecto

2. EL PERSONAL
El factor humano es tan importante que el
Instituto de Ingeniera de Software ha
desarrollado un modelo de madurez de la
capacidad de Gestin del Personal (MMCGP)
Usualmente no se presta atencin al personal.
En muchos casos, los gestores tienen que
establecer un equipo ideal mnimo para el
proyecto debido a:
El presupuesto del proyecto que no cubre la
contratacin
El personal con experiencia apropiada no est
disponible
La organizacin desea desarrollar las habilidades
de sus empleados.

Factores crticos en la gestin del personal
Objetividad. El personal debe ser valorado en
forma equitativa
Respeto. Las personas tienen diferentes
habilidades, todos los miembros del equipo deben
tener una oportunidad para contribuir.
Incorporacin. Todos los puntos de vista incluido
los de los novatos se toman en consideracin.
Honestidad. Con lo que va mal y lo que va bien en
el proyecto, con los que se refiere a su nivel de
conocimiento tcnico.
2.1 Los participantes
Gestores ejecutivos: Definen los aspectos del
negocio que tiene una influencia significativa en el
proyecto.
Gestores del proyecto: Planifican, motivan,
organizan y controlan a los profesionales que realizan
el trabajo de software.
Profesionales: proporcionan las habilidades tcnicas
necesarias para realizar la ingeniera de un producto
o aplicacin
Clientes: Especifican los requisitos para la ingeniera
de software
Usuarios finales: Que interactan con el software
una vez que se libera para su uso

2.2 Lderes del equipo
La gestin de proyectos es una actividad
intensamente humana. Los profesionales
competentes del software a menudo no son buenos
jefes de equipo.
Modelo de Liderazgo (MOT):
Motivacin. Es la habilidad para alentar al
personal.
Organizacin. La habilidad para adecuar los
proceso existentes que permitan que el concepto
inicial sea traducido en un producto final.
Ideas e Innovacin. La habilidad para alentar a
la gente a crear y sentir creativamente.

Otras Caractersticas
Resolucin de Problemas. Un gestor puede
diagnosticar conflictos tcnicos y organizativos.
Dotes de gestin. Un gestor de proyecto debe
encabezar y dirigir.
Incentivos. Un gestor debe recompensar la
iniciativa y los logros
Influencia y fomento de la cultura de equipo. Un
gestor de proyecto debe entender las
necesidades de su equipo y mantener el control
en situaciones de alta tensin.

2.3 El equipo de software
La mejor estructura de equipo depende del estilo
de gestin de una organizacin.
Factores que determinan la estructura del equipo:
La dificultad del problema
El tamao del programa
El tiempo de vida del equipo
Grado de modularidad del problema
La calidad y confiabilidad del sistema
Rigidez de la fecha de entrega
Grado de comunicacin
2.3 El equipo de software
Paradigmas Organizacionales de estructura de
equipos:
Paradigma Cerrado
Jerarqua tradicional de autoridad, pueden trabajar mejor
cuando se produce software muy similar a proyectos
anteriores.
Paradigma Aleatorio
Depende de la Iniciativa, son excelentes cuando se
requiere innovain o adelantos tecnolgicos.
Paradigma Abierto
Toma lo mejor de ambos paradigmas y el trabajo se
desarrolla en colaboracin. Se adecuan bien a la solucin
de problemas complejos.
Paradigma Sincrnico
Organiza a los equipos para trabajar en partes con poca
comunicacin

2.3 El equipo de software
Para lograr un equipo de alto rendimiento se
requiere:
Los miembros del equipo deben tener mutua
confianza
La distribucin de las habilidades debe ser
adecuada al problema
Los disidentes deben ser excluidos del equipo.

2.3 El equipo de software
Factores que contribuyen a la toxicidad.
Atmsfera de trabajo frentica
Alta frustracin
Proceso de software fragmentado
Definicin poco clara de los papeles
Continuas exposiciones al fracaso
El reconocer las diferencias humanas es el
primer paso para la formacin de equipos que
cuajen
Un equipo cuajado es aquel donde la suma de
las partes es mayor que el todo
2.4 Equipos giles
Competencia individual en conjuncin con la
colaboracin mutua
Auto organizados
La planificacin se mantiene al mnimo
Reuniones de coordinacin diarias

2.5 Seleccin de personal
Muchas veces no se tiene libertad para elegir al
personal ideal.
Existen limitaciones de tiempo, costo, etc.
La seleccin se hace utilizando tres tipos de
informacin
1. La informacin suministrada por los candidatos
sobre su conocimiento y experiencia (Curriculum
Vitae)
2. Informacin obtenida al entrevistar a los
candidatos. Las entrevistas no son mtodos
fiables para juzgar capacidades tcnicas
3. Recomendaciones de otras personas. Slo son
vlidas cuando son realizadas por alguien a quien
se conoce.
CASO DE ESTUDIO
Eligiendo a los miembros del equipo
Alice es un gestor de proyectos software que trabaja en una compaa que desarrolla sistemas de alarma. En esta compaa desea entrar en el creciente mercado de tecnologa de asistencia para ayudar a ancianos y
discapacitados a vivir independientemente. A Alice se le encarg formar un grupo de seis desarrolladores para implementar productos basados en la tecnologa de alarmas de la compaa. Su primera misin era seleccionar
a los miembros del equipo, los cuales podan ya estar dentro de la compaa o fuera de ella.
Para seleccionar al equipo, Alice revis en primer lugar las habilidades que iba a necesitar:
Experiencia con la tecnologa de alarmas existente y su reutilizacin
Experiencia con el diseo ya que los usuarios no van a tener conocimiento y pueden ser discapacitados; de ah que necesiten facilidades como fuentes de tamao variable. Etc.
Idealmente alguien que tenga experiencia en diseo de sistemas en tecnologa de ayuda a discapacitados. Por otro lado, alguien con experiencia en interfaces con unidades de hardware que todos los sistemas que se
comenzaban a desarrollar incluan algo de conocimientos de hardware.
Habilidades generales de desarrollo
La siguiente etapa fue encontrar gente en la compaa con las habilidades necesarias. A pesar de que la compaa se haba extendido significativamente y tena poco personal disponible., lo mejor que Alice pudo negociar fue
la ayuda de un experto en alarmas (Fred) durante dos das a la semana. Por lo tanto, decidi poner un anuncio para captar personal para el nuevo proyecto, donde aparecan los atributos que ella deseaba:
Experiencia de programacin en C++. Ella haba decidido desarrollar todo el software en C++.
Experiencia en diseo de interfaz de usuario. Un diseador de interfaz de usuario es esencial, pero podra no ser necesario a tiempo completo.
Experiencia en interfaces hardware en lenguaje C++ y utilizando sistemas de desarrollo remoto. Todos los dispositivos tienen interfaces complejos.
Personalidad comprensiva ya que tena que relacionarse y trabajar con personas ancianas las cuales iban a proveer los requerimientos y a probar el sistema.
Alice obtuvo 30 respuestas de anuncio, y de los aspirantes fue posible identificar candidatos adecuados con conocimientos de interfaz con hardware (Dorothy) y experiencia con interfaces de Usuario (Ed). Decidi contratar
a dos recin titulados (Brien y Bob) que tenan experiencia de programacin en C, pero que tendran que ser formados en la compaa.
Lo nico que quedaba era designar a un programador senior para unirse al equipo de desarrollo y Alice tena dos opciones. Carol contaba con varios aos de experiencia en C++ y recientemente haba tenido una parada en
su carrera para tener un nio. Dave posea una experiencia similar en programacin y era un entusiasta de la programacin. Gastaba mucho de su tiempo trabajando en proyectos OpenSource y tena conocimiento de C y
C++ y otros lenguajes.
Despus de entrevistar a ambos, Alice decidi ofrecer el trabajo a Carol a pesar de que Dave tena profundos conocimientos de programacin.

Preguntas de discusin:
Es relevante el apoyo conseguido de Fred?
Alice hizo bien en contratar a Brien y Bob?Debi buscar a gente con ms experiencia?
2.5.1 Factores que determinan la
seleccin del personal
Cualidad
Experiencia en el
dominio de la
aplicacin
Algunos miembros del equipo deben conocer el
domino del problema
Experiencia en la
plataforma
Es significante si la programacin a bajo nivel es
necesaria
Experiencia en el
lenguaje de
programacin
Es relevante en proyectos de corta duracin.
Utilizar libreras y componentes de un lenguaje
puede ser lento de aprender.
Habilidad para
resolver problemas
Se tienen que resolver constantemente problemas
tcnicos, pero es difcil de juzgar sin conocer el
trabajo de los candidatos
Soporte educativo No es tan relevante, ms importante es la
experiencia
Habilidad de
comunicacin
Importante, debido a que debe comunicarse
oralmente y por escrito con otros ingenieros,
administradores y clientes.
Adaptabilidad Indica la habilidad de aprender
Actitud Actitud positiva y deseo de aprender.
Personalidad Deben ser razonablemente compatibles con el
equipo.
2.5.2 Motivacin
Necesidades
de
autorealizacin
Necesidades de
estima
Necesidades sociales
Necesidades fisiolgicas
Satisfacer las necesidades sociales:
Tiempo para conocer a sus compaeros de grupo, el
teletrabajo plantea nuevos retos.
Las comunicaciones electrnicas no satisfacen
plenamente las necesidades sociales.
Se deben organizar encuentros peridicos.
Satisfacer las necesidades de estima
Mostrar a la gente que es de gran valor para la
organizacin
Reconocimiento pblico de los logros
Remuneracin adecuada
Satisfacer las necesidades de autorrealizacin
Exigencia
Capacitacin

Es necesario conocer el tipo de personalidad
con el que se cuenta:
1. Orientada a las tareas: motivados por el trabajo
y el reto intelectual del desarrollo de software
2. Orientados a s mismos: motivados por el xito
y reconocimiento personal, el desarrollo de
software es un medio para conseguir sus
propsitos.
3. Orientados a la interaccin: motivados por las
presencia y acciones de los compaeros.
Estos tipos pueden cambiar segn las
circunstancias y objetivos de la persona.
Caso de estudio 2
El proyecto de tecnologa de asistencia de Alice empieza bien. Existen buenas relaciones entre los
miembros del equipo y se desarrollan ideas nuevas y creativas. La compaa decide desarrollar un sistema
de mensajes peer-to-peer usando televisores digitales enlazados a la red de alarmas. Sin embargo, unos
meses ms tarde, Alice nota que Dorothy, la experta en diseo de hardware, empieza a llegar tarde al
trabajo, la calidad de su trabajo se deteriora y cada vez ms parece que no se est comunicando con los
miembros del equipo.
Alice habla del problema informalmente con otros miembros del equipo para tratar de descubrir si las
circunstancias personales de Dorothy han cambiado y si es posible que esto la est afectando en el
trabajo. Ellos no saben nada, y Alice decide hablar con Dorothy para tratar de comprender sus problemas.
Despus de negar inicialmente que hay un problema, Dorothy admite que ha perdido inters en su
trabajo. Ella esperaba poder utilizar y desarrollar sus habilidades en iterfaces hardware. Sin embargo la
direccin que haba tomado el producto le dejaba pocas oportunidades para eso. Bsicamente, ella
trabajaba como programadora en C++ con otros miembros del equipo. Mientras admite que el trabajo
est cambiando, le preocupa que no est desarrollando sus habilidades en interfaces hardware. Est
preocupada por que encontrar un trabajo donde se trabaje con interfaces hardware ser difcil despus
de este proyecto. Como no quiere disgustar al equipo revelando que est pensando en el siguiente
proyecto, ha decidido que lo mejor es reducir al mnimo las conversaciones con ellos.
Qu acciones debera tomar Alice?
2,5,3 Gestionando Grupos
El software profesional es desarrollado por
equipos que pueden tener desde 2 hasta varios
cientos de personas.
Los equipos se suelen dividir en varios grupos
responsables cada uno de un subproyecto.
En los grupos pequeos los problemas de
comunicacin se reducen.
Es importante que un grupo tenga el equilibrio
correcto de habilidad y experiencia, tcnicas y
personalidades.
Factores que influyen en el trabajo de grupo:
La composicin del grupo: Existe equilibrio de
habilidades, experiencia y personalidad?
La cohesin del grupo: piensa el grupo en si
mismo como un equipo ms que como una
coleccin de individuos?
La comunicacin del grupo: se comunican los
miembros del grupo de forma efectiva?
La organizacin del grupo: Est organizado el
equipo de tal forma que cada uno se siente
valorado y satisfecho con su papel en grupo?
La composicin del grupo:
Un grupo con personalidades complementarias
puede trabajar mejor que un grupo seleccionado
por sus habilidades tcnicas.
El lder designado para el grupo puede no ser
realmente el lder en la realidad.
Las personas competentes tcnicamente no
siempre son los mejores administradores. Y
viceversa.
Imponer un lder que el grupo no desea causa
tensiones.
Algunas personas con experiencia pueden sentirse
mal con la imposicin de un lder joven con nuevas
ideas.
Cohesion
En un grupo cohesivo los miembros piensan que es
ms importante el grupo que los individuos.
Las ventajas de un grupo cohesivo son:
Puede crearse un grupo que utilice estndar de calidad
acordados.
Los miembros del grupo trabajan juntos.
La programacin sin ego puede ser practicada.
Programacin sin ego:
Los diseos, programas y documentos son considerados
como propiedad comn
Es ms fcil la inspeccin y mejora de los programas.
La cohesin se promueve asegurando que los
miembros del equipo sean tratados como responsables
y confiables y se les de acceso a toda la informacin.
Los grupos altamente cohesivos tambin pueden
presentar problemas como:
Resistencia irracional al cambio de liderazgo
Pensamiento de grupo.
Caso de estudio 3
Alice es una gestora de proyectos experimentada, entiende la importancia de crear un grupo cohesivo.
Como el desarrollo del producto es nuevo, aprovecha la oportunidad de involucrar a todos los miembros
del grupo en la especificacin y el diseo, obteniendo opiniones sobre la posible tecnologa a aplicar con
los miembros mayores de sus familias y trayendo a miembros de su familia al almuerzo semanal del grupo.
El almuerzo del grupo es una oportunidad para que todos los miembros del equipo se renan
informalmente, hablen de sus problemas y se conozcan unos a otros.
En el almuerzo Alice dice a los miembros del grupo lo que sabe sobre noticias organizacionales, polticas,
estrategias, etc. Cada miembro del equipo entonces resume lo que haba estado haciendo y el grupo habla
acerca de temas generales como las nuevas ideas de producto para sus parientes mayores.
Cada pocos meses, Alice organiza un da de visitantes para el grupo, donde el equipo dedica dos das a
actualizar tecnologa. Cada miembro del equipo prepara una actualizacin sobre una tecnologa relevante
y la presenta al grupo. Esta es una reunin fuera del lugar de trabajo, en un buen hotel, el tiempo est
programado para el dilogo y la interaccin social.
Qu resultados obtendr Alice de estas actividades?
Las comunicaciones del grupo
Factores que influyen en la efectividad de las
comunicaciones son:
El tamao del grupo. En un grupo grande es ms difcil
asegurar que todos los miembros se comuniquen. A veces
la comunicacin es en una sola direccin
La estructura del grupo. Las personas en grupos
estructurados informalemente se comunican mejor que en
los grupos jerrquicos.
La composicin del grupo. Si existen demasiadas
personas en el grupo que tienen la misma personalidad las
comunicaciones se inhiben. La comunicacin funciona
mejor en grupos de ambos sexos.
El entorno de trabajo fsico del grupo
Entornos de trabajo:
El tamao de la habitacin, el mobiliario, el equipo,
la temperatura, la humedad, la luminosidad y la
calidad de la luz influyen en el comportamiento.
Factores ms importantes de diseo:
Privacidad: los programadores necesitan un rea donde se
puedan concentrar sin interrupciones.
Repercusin del exterior: las personas prefieren trabajar
con luz natural y con vista del entorno.
Personalizacin: la habilidad para arreglar el lugar de
trabajo
Caso de Estudio 4
Organizacin de la oficina
Alice entiende la importancia de los entornos de trabajo pero su compaa tiene un edificio de los aos
70 que no puede ser adaptado a una estructura ideal. Le han asignado tres oficinas para su equipo una
pequea, individual y separada, y dos grandes y juntas, con capacidad cada una para cuatro mesas -. Dos
miembros del equipos (Carol y Brian) frecuentemente trabajan desde casa y Fred, el experto en alarmas,
solo trabaja con el equipo dos das por semana. El equipo puede utilizar una sala de reuniones compartida
con el resto de los grupos y cada planta del edificio tiene una zona de caf para reuniones informales.
En lugar de utilizar la oficina pequea para su oficina personal, Alice decide que debe ser una zona
tranquila donde el miembro del equipo que lo necesite pueda trabajar sin distracciones. Ella designa una
oficina para desarrollo con mesas para el hardware y para los papeles de los prototipos de las interfaces
de usuario. Adems, esta habitacin tiene un escritorio que normalmente usa Fred cuando esta
trabajando con el equipo, pero tambin es compartida por Carol y Brian cuando van a trabajar a la oficina.
Alice comparte la oficina con Bob, Dorothy y Ed. El edificio tiene un red wireless y todos los miembros
tienen computadores porttiles.
Qu ventajas le da a Alice la configuracin elegida?
Qu dificultades podran presentarse?
2,5,4 El modelo de madurez de
capacidad de personal
El software Engineering Institute (SEI) propuso el
CMM para el proceso de software
Para soportar este modelo tambin propusieron el
Modelo de Madurez de Capacidad del Personal (P-
CMM) que es un marco de trabajo para mejorar la
forma en que la organizacin administra sus recursos
humanos.
Niveles
1. Inicial AdHoc
2. Repetible
3. Definido
4. Administrado
5. Optimizado

3. EL PRODUCTO
Se debe examinar el producto y el problema que
se intenta resolver
3.1 El mbito del software
Contexto: Como encaja el software a construir en un
sistema?
Objetivos de Informacin: Que objetos de datos
visibles al cliente se obtienen del software?
Funcin y desempeo: Que funcin realiza el software
para transformar la informar de entrada en una salida?

Se deben acotar el mbito:
Datos cuantitativos como nmero de usuarios, tiempos de
respuesta mximos, etc.
Restricciones o limitaciones como tamao de la memoria,
Factores que reducen riesgos como el conocimiento de los
algoritmos, etc.
3.2 Descomposicin del
problema
Un problema se dividen en problemas menores
que son mas manejables.
Ejm.
Proyecto desarrollo de un procesador de textos
Funciones que deben integrarse
Comprobacin Ortogrfica
Comprobacin Gramatical
Comprobacin de Referencias
Validacin de Secciones y Captulos
4. EL PROCESO
El gestor del proyecto debe decidir cual modelo
del proceso es el ms adecuado segn:
Los clientes que han solicitado el producto y el
personal que har el trabajo
Las caractersticas del producto mismo.
El ambiente del proyecto en el que trabaja el equipo
de software.
Una vez que se ha seleccionado un modelo del
proceso se define el plan de proyecto preliminar
con base en las actividades.
4,1 Combinacin del producto y el
proceso
ACTIVIDADES COMUNES
DEL MARCO DE TRABAJO
DEL PROCESO
C
o
m
u
n
i
c
a
c
i

n

P
l
a
n
i
f
i
c
a
c
i

n

M
o
d
e
l
a
d
o

C
o
n
s
t
r
u
c
c
i

n

D
e
s
p
l
i
e
g
u
e

Tareas de IS
Funciones del producto 1
Entrada de Texto 3
Edicin y Formateado
Edicin automtica de copia
Capacidad de planilla de
pginas
ndices y Tablas de contenido
Gestin de archivos
Productos de documento
NTP ISO/IEC 12207
Seleccionar el modelo de proceso de software
adecuado
El marco del trabajo se adapta al modelo

5. EL PROYECTO
Gestionar un proyecto exitoso requiere entender lo
que puede salir mal.
Que puede salir mal?
El personal de software no entiende las necesidades de
sus clientes
El mbito del producto est mal definido
Los cambios se gestionan mal
La tecnologa elegida cambia
Las necesidades comerciales cambian
Los plazos de entrega no son realistas
Los usuarios se resisten
Se pierde el patrocinio
El equipo carece de personas con habilidades
apropiadas
Los gestores evitan las buenas prcticas
5. EL PROYECTO
Para evitar los problemas sealados
Comenzar con el pie derecho. Entendiendo el
problema y estableciendo los objetivos
Mantener el mpetu. Proporcionando incentivos.
Seguimiento del progreso. Revisiones peridicas
Tomar decisiones inteligentes. Mantener el proyecto
simple, de preferencia usar soluciones existentes.
Anlisis de resultados. Registre los resultados y
analice las mtricas del software.


Casos:
Para cada caso responder como gestor de proyecto
Qu estructura de equipo elegira?Que modelo de
proceso de software?
1. Usted ha sido nombrado gestor de proyecto de una
pequea compaa de productos de software. Su
labor es construir un producto de avanzada que
combine hardware de realidad virtual con software del
ltima generacin. Debido a la competencia en el
mercado del entretenimiento casero es intensa, existe
presin para concluir pronto el trabajo
2. Usted ha sido nombrado gestor de proyecto de una
gran compaa de productos de software. Su labor es
gestionar el desarrollo de la versin de siguiente
generacin de su software de procesamiento de
textos ampliamente utilizado. Puesto que se deben
generar nuevos ingresos, se ha establecido y
anunciado fechas lmite precisas.

6. Actividades de Gestin
Redaccin de la propuesta
Describe los objetivos
Incluye estimaciones de coste y tiempo
No existen guias para hacerlo, es una habilidad de
que se aprende con la experiencia
Planificacin y calendarizacin del proyecto
Identificacin de Actividades
Identificacin de hitos y entregas
Es un bosquejo de plan para guiar las actividades
hacia las metas
Estimacin de costes del proyecto.
Estimacin de recursos disponibles


Supervisin y revisin del proyecto.
Es una actividad continua
Ayuda a conocer el avance del proyecto y comparar lo
actual con lo planificado
Algunas organizaciones tienen mecanismos formales
para supervisar
Las entrevistas diarias podran revelar un problema con
el software
Las revisiones pueden dar lugar a cancelaciones del
proyecto
Seleccin y evaluacin del personal.
Se establece un equipo ideal mnimo
El presupuesto no cubre la contratacin de personal con
sueldos altos
El personal con experiencia no est disponible
La organizacin desea desarrollar las habilidades de sus
empleados
Redaccin y presentacin de informes.

You might also like