Está en la página 1de 15

ndice

Conceptos sobre Gestin de Proyectos 1



El espectro de la Gestin. Las 4 Ps. 2

Personal
Participantes
Jefes de equipo 3
Equipo de Software 4
Organigramas de equipo genricos
Paradigmas de organizacin 5
Toxicidad de equipo 6
Aspectos sobre la coordinacin y la comunicacin
Tcnicas de coordinacin de proyectos 7

Producto
mbito del software
Descomposicin del problema 8

Proceso
Modelo de Procesos
Maduracin del producto y del proceso 9
Descomposicin del proceso 10

Proyecto 11
El principio de W5HH 12
Prcticas Crticas 13
Gestin de Proyectos de Software es 14






1

Conceptos sobre Gestin de Proyectos

En el prefacio de su libro sobre gestin de proyectos de software, Meiler Page-
Jones dice una frase que pueden corroborar muchos asesores de ingeniera del software:
He visitado docenas de empresas, buenas y malas, y he observado a muchos
administradores de proceso de datos, tambin buenos y malos. Frecuentemente, he visto
con horror cmo estos administradores luchaban intilmente contra proyectos de
pesadilla, sufriendo por fechas lmite imposibles de cumplir, o que entregaban sistemas
que decepcionaban a sus usuarios y que devoraban ingentes cantidades de horas de
mantenimiento.

Lo que describe Page-Jones son sntomas que resultan de una serie de problemas
tcnicos y de gestin. Sin embargo, si se hiciera una autopsia de cada proyecto, es muy
probable que se encontrara un denominador comn constante: una dbil gestin.

En este captulo consideraremos los conceptos clave que llevan a una gestin
efectiva de proyectos de software.


Qu es?
La gestin de proyecto implica la planificacin, supervisin y control del
personal, del proceso y de los eventos que ocurren mientras evoluciona el software
desde la fase preliminar a la implementacin operacional.

Quin lo hace?
Los gestores del proyecto planifican, supervisan y controlan el trabajo de un
equipo de ingenieros de software

Por qu es importante?
La construccin de software de computadoras es una empresa compleja,
particularmente si participa mucha gente, trabajando durante un periodo de tiempo
relativamente largo.

Cules son los pasos?
Comprender las cuatro Ps (personal, producto, proceso y proyecto). El personal
debe estar organizado para desarrollar el trabajo del software con efectividad. Debe
seleccionarse el proceso adecuado para el personal y el producto. El proyecto debe
planificarse estimando el esfuerzo y el tiempo para cumplir las tareas; estableciendo
puntos de control de calidad y estableciendo mecanismos para controlar y supervisar el
trabajo definido en la planificacin.

Cmo puedo estar seguro de que lo he hecho correctamente?
Nunca estas completamente seguro de que el plan de proyecto es correcto hasta
que no has entregado un producto de alta calidad dentro del tiempo y del presupuesto.
Sin embargo, un gestor de proyectos hace lo correcto cuando estimula al personal para
trabajar juntos como un equipo efectivo, centrando su atencin en las necesidades del
cliente y en la calidad del producto.





2

El espectro de la Gestin. Las 4 Ps.

La gestin eficaz de un proyecto de software se centra en las 4 Ps: personal,
producto, proceso y proyecto. Un gestor que no fomenta una minuciosa comunicacin
con el cliente al principio de la evolucin del proyecto se arriesga a construir una
elegante solucin para un problema equivocado. El administrador que presta poca
atencin al proceso corre el arriesgo de arrojar mtodos tcnicos y herramientas eficaces
al vaco. El gestor que emprende un proyecto sin un plan solido arriesga el xito del
producto.

Personal: el factor humano es tan importante que el instituto de ingeniera del
software ha desarrollado un modelo de madurez de la capacidad de gestin del personal.
Este modelo define las siguientes reas clave para el personal que desarrolle software:
reclutamiento, seleccin, gestin de rendimiento, entrenamiento, retribucin, desarrollo
de la carrera, diseo de la organizacin del trabajo, desarrollo cultural y espritu de
equipo.

Producto: antes de poder planificar un proyecto, se deberan establecer los
objetivos y el mbito del producto, se deberan considerar soluciones alternativas a
identificar las dificultades tcnicas y de gestin. Sin esta informacin, es imposible
definir unas estimaciones razonables del coste; una valoracin efectiva del riesgo, una
subdivisin realista de las tareas del proyecto o una planificacin del proyecto que
proporcione una indicacin fiable del progreso.
El desarrollador del software y el cliente deben reunirse para definir los objetivos
del producto y su mbito. Los objetivos identifican las metas generales del proyecto. El
mbito identifica los datos primarios, funciones y comportamientos que caracterizan al
producto. Una vez que se han entendido los objetivos y el mbito del producto, se
consideran soluciones alternativas.

Proceso: proporciona la estructura desde la que se puede establecer un detallado
plan para el desarrollo del software. Un pequeo nmero de actividades estructurales se
puede aplicar a todos los proyectos de software, sin tener en cuenta su tamao o
complejidad. Diferentes conjuntos de tareas permiten a las actividades estructurales
adaptarse a las caractersticas del proyecto de software y a los requisitos del equipo del
proyecto.

Proyecto: Para evitar el fracaso del proyecto, el gestor y los ingenieros de
software que construyeron el producto deben eludir un conjunto de seales de peligro
comunes; comprender los factores del xito crticos que conducen a la gestin correcta
del proyecto y desarrollar un enfoque de sentido comn para planificar, supervisar y
controlar el proyecto.



3

Definicin bien detallada de cada concepto:
PERSONAL

Los participantes.
El proceso del software lo componen participantes que pueden clasificarse en una
de estas cinco categoras:
Gestores superiores, que definen los aspectos de negocios que a menudo tienen
una significativa influencia en el proyecto.
Gestores (tcnicos) del proyecto, que deben planificar, motivar, organizar y
controlar a los profesionales que realizan el trabajo de software.
Profesionales, que proporcionan las capacidades tcnicas necesarias para la
ingeniera de un producto o aplicacin.
Clientes, que especifican los requisitos para la ingeniera del software y otros
elementos que tienen menor influencia en el resultado.
Usuarios finales, que interaccionan con el software una vez que se ha entregado
para la produccin.

Los jefes de equipo.
La gestin de un proyecto es una actividad intensamente humana, y por esta razn,
los profesionales competentes del software a menudo no son buenos jefes de equipo.
Simplemente no tienen la mezcla adecuada de capacidades del personal.

En qu nos fijamos cuando seleccionamos a alguien para conducir un proyecto de
software?
Por una parte se sugiere seguir el modelo MOI.
Motivacin. La habilidad para motivar al personal tcnico para que produzca
conforme a sus mejores capacidades.
Organizacin. La habilidad para amoldar procesos existentes que permita al
concepto inicial transformarse en un producto final.
Ideas o innovacin. La habilidad para motivar al personal para crear y sentirse
creativos incluso cuando deban de trabajar dentro de los lmites establecidos para un
producto o aplicacin de software particular.
El xito de los gestores de proyecto se basa en aplicar un estilo de gestin en la
resolucin de problemas. Es decir, un gestor de proyectos de software debera
concentrarse en entender el problema que hay que resolver, gestionando el flujo de ideas
y, al mismo tiempo, haciendo saber a todos los miembros del equipo que la calidad es
importante y que no debe verse comprometida.

Otro punto de vista resalta cuatro puntos clave.
Resolucin del problema. Un gestor eficiente de un proyecto de software puede
diagnosticar los aspectos tcnicos y de organizacin ms relevantes, estructurar una
solucin sistemticamente o motivar apropiadamente a otros profesionales para que
desarrollen la solucin, aplicar las lecciones aprendidas de anteriores proyectos a las
nuevas situaciones, mantenerse lo suficientemente flexible para cambiar la gestin si los
intentos iniciales de resolver el problema no dan resultado.
Dotes de gestin. Un buen gestor de proyectos debe tomar las riendas. Debe tener
confianza para asumir el control cuando sea necesario y la garanta para permitir que los
buenos tcnicos sigan sus instintos.


4

Incentivos por logros. Para optimizar la productividad de un equipo de proyecto,
un gestor debe recompensar la iniciativa y los logros, y demostrar a travs de sus
propias acciones que no se penalizar si se corren riesgos controlados.
Influencia y construccin de espritu de equipo. Un gestor de proyecto eficiente
debe ser capaz de leer a la gente; debe ser capaz de entender seales verbales y no
verbales y reaccionar ante las necesidades de las personas que mandan esas seales. El
gestor debe mantener el control en situaciones de gran estrs.


El equipo de software
Las siguientes opciones pueden aplicarse a los recursos humanos de un proyecto
que requiere n personas trabajando durante k aos:
1- n individuos son asignados a m diferentes tareas funcionales, la coordinacin es
responsabilidad del gestor del software que puede que tenga otros seis proyectos
de los que preocuparse.
2- y individuos son asignados a m diferentes tareas funcionales (m<n) de manera
que se establecen equipos informales; se puede nombrar un lder al efecto; la
coordinacin entre los equipos es responsabilidad de un gestor del software.
3- n individuos se organizan en t equipos; a cada equipo se le asignan una o ms
tareas funcionales; cada equipo tiene una estructura especfica que se define para
todos los equipos que trabajan en el proyecto; la coordinacin es controlada por
el equipo y por el gestor del proyecto de software.

Cmo debera estar organizado un equipo de software?
Mantei sugiere tres organigramas de equipo genricos:
Descentralizado democrtico (DD). Este equipo de ingeniera del software no
tiene un jefe permanente. Ms bien, (se nombran coordinadores de tareas a corto plazo y
se sustituyen por otros para diferentes tareas) las decisiones sobre problemas y los
enfoques se hacen por consenso del grupo. La comunicacin entre los miembros del
equipo es horizontal.
Descentralizado controlado (DC). Este equipo de ingeniera del software tiene un
jefe definido que coordina tareas especficas y jefes secundarios que tienen
responsabilidades sobre subtareas. 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 (CC). El jefe del equipo se encarga de la resolucin de
problemas a alto nivel y la coordinacin interna del equipo. La comunicacin entre el
jefe y los miembros del equipo es vertical.

Qu factores deberamos considerar cuando estructuramos un equipo de
software?
Mantei describe siete factores de un proyecto que deberan considerarse cuando
se planifica el organigrama de equipos:
1- la dificultad del problema que hay que resolver
2- el tamao del programa resultante en lneas de cdigo o puntos de funcin.
3- el tiempo que el equipo estar junto.
4- el grado en que el problema puede ser modularizado.
5- la calidad requerida y fiabilidad del sistema que se va a construir.
6- la rigidez de la fecha de entrega.


5

7- el grado de sociabilidad requerido para el proyecto.

Debido a que una estructura centralizada realiza las tareas ms rpidamente, es
la ms adecuada para manejar problemas sencillos. Los equipos descentralizados
generan ms y mejores soluciones que los individuales. Por tanto, estos equipos tienen
ms probabilidades de xito en la resolucin de problemas complejos. Puesto que el
equipo DC es centralizado para la resolucin de problemas, tanto el organigrama de
equipo DC como el de CC pueden aplicarse con xito para problemas sencillos. La
estructura DD es la mejor para problemas difciles.
Como el rendimiento de un equipo es inversamente proporcional a la cantidad de
comunicacin que se debe entablar, los proyectos muy grandes son mejor dirigidos por
equipos con estructura CC o DC, donde se pueden formar fcilmente subgrupos.
El tiempo que los miembros del equipo vayan a vivir juntos afecta a la moral
del equipo. Se ha descubierto que los organigramas de equipo tipo DD producen una
moral ms alta y ms satisfaccin por el trabajo y son, por tanto, buenos para equipos
que permanecern juntos durante mucho tiempo.
El organigrama de equipo DD se aplica mejor a problemas con modularidad
relativamente baja, debido a la gran cantidad de comunicacin que se necesita. Los
organigramas CC o DC funcionan bien cuando es posible una modularidad alta (y la
gente puede hacer cada uno lo suyo).
Los equipos CC y DC producen menos defectos que los equipos DD, pero estos
datos tienen mucho que ver con las actividades especficas de garanta de calidad que
aplica el equipo. Los equipos descentralizados requieren generalmente ms tiempo
para completar un proyecto que un organigrama centralizado y al mismo tiempo son
mejores cuando se precisa una gran cantidad de comunicacin.


Constantine sugiere cuatro paradigmas de organizacin para equipos de
ingeniera del software:
1- Un paradigma cerrado estructura a un equipo con una jerarqua tradicional de
autoridad. Estos equipos trabajan bien cuando producen software similar a otros
anteriores.
2- El paradigma aleatorio estructura al equipo libremente y depende de la iniciativa
individual de los miembros del equipo. Cuando se requiere innovacin o avances
tecnolgicos, los equipos de paradigma aleatorio son excelentes.
3- El paradigma abierto el trabajo se desarrolla en colaboracin, con mucha
comunicacin y toma de decisiones consensuadas. Estos equipos son adecuados
para la resolucin de problemas complejos, pero pueden no tener un rendimiento
tan eficiente como otros equipos.
4- El paradigma sincronizado se basa en la compartimentacin natural de un
problema y organiza los miembros del equipo para trabajar en partes del problema
con poca comunicacin activa entre ellos.

Para conseguir un equipo de alto rendimiento.
Los miembros del equipo deben confiar unos en otros.
La distribucin de habilidades debe adecuarse al problema.
Para mantener la unin del equipo, los inconformistas tienen que ser excluidos del
mismo.



6

Cualquiera que sea la organizacin del equipo, el objetivo para todos los gestores de
proyecto es colaborar a crear un equipo que presente cohesin.

Tendemos a usar la palabra equipo demasiado libremente en el mundo de los
negocios, denominando equipo a cualquier grupo de gente asignado para trabajar
junta. Pero muchos de estos grupos no parecen equipos. No tienen una definicin
comn de xito o un espritu de equipo identificable. Lo que falta es un fenmeno que
denominamos cuajar.

Un equipo cuajado es un grupo de gente tejido fuertemente. Una vez que el equipo
empieza a cuajar, la probabilidad de xito empieza a subir. El equipo puede convertirse
en imparable, no necesitan ser dirigidos de una manera tradicional y no necesitan que
se les motive. Estn en su gran momento.
Los miembros de equipos cuajados son significativamente ms productivos y estn ms
motivados que la media. Comparten una meta comn, una cultura comn.

Por otra parte muchos equipos sufren lo que se llama toxicidad de equipo se
definen cinco factores que fomentan un entorno de equipo txico potencial:
1- una atmsfera de trabajo frentica en la que los miembros del equipo gastan
energa y se descentran de los objetivos del trabajo a desarrollar.
2- alta frustracin causada por factores tecnolgicos, del negocio, o personales
que provocan friccin entre los miembros del equipo.
3- procedimientos coordinados pobremente o fragmentados, o una definicin pobre
o impropiamente elegida del modelo de procesos que se convierte en un
obstculo a saltar.
4- definicin confusa de los papeles a desempear produciendo una falta de
responsabilidad y la acusacin correspondiente.
5- continua y repetida exposicin al fallo que conduce a una prdida de confianza y
a una cada de la moral.

Existen varios antitxicos que tratan los problemas comunes destacados
anteriormente.
Para evitar un entorno de trabajo frentico, el gestor de proyectos debera estar
seguro de que el equipo tiene acceso a toda la informacin requerida para hacer el
trabajo y que los objetivos y metas principales, no deberan modificarse a menos que
fuese absolutamente necesario. Adems, las malas noticias no deberan guardarse en
secreto, sino entregarse al equipo tan pronto como fuese posible.
Aunque la frustracin tiene muchas causas, los desarrolladores de software a
menudo la sienten cuando pierden la autoridad para controlar la situacin. Un equipo de
software puede evitar la frustracin si recibe tanta responsabilidad para la toma de
decisiones como sea posible. Cuanto ms control se le d al equipo para tomar
decisiones tcnicas y del proceso, menos frustracin sentirn los miembros del equipo.
Una eleccin inapropiada del proceso del software puede ser evitada de dos
formas: (1) Estando seguros de que las caractersticas del software a construir se ajustan
al rigor del proceso elegido, y (2) permitiendo al equipo seleccionar el proceso.
El gestor de proyectos de software debera refinar claramente los roles y las
responsabilidades antes del comienzo del proyecto.
El gestor de proyectos de software debera refinar los roles y las
responsabilidades antes del comienzo del proyecto. El equipo debera establecer su


7

propio mecanismo para la responsabilidad y definir una serie de enfoques correctivos
cuando un miembro del equipo falla en el desarrollo.
Todo equipo de software experimenta pequeos fallos. La clave para eliminar una
atmsfera de fallos ser establecer tcnicas basadas en el equipo para retroalimentar y
solucionar el problema. Adems, cualquier fallo de un miembro del equipo debe ser
considerado como un fallo del equipo.

Aspectos sobre la coordinacin y la comunicacin
El equipo de ingeniera del software debe establecer mtodos efectivos para
coordinar a la gente que realiza el trabajo.
Para lograr esto se deben establecer mecanismos de comunicacin formal e
informal entre los miembros del equipo y entre mltiples equipos. La comunicacin
formal se lleva a cabo por escrito, con reuniones organizadas y otros canales de
comunicacin relativamente no interactivos e impersonales. La comunicacin informal
es ms personal.

Tcnicas de coordinacin de proyectos que se categorizan de la siguiente manera:
Formal, enfoque impersonal. Incluyen documentos de ingeniera del software y
entregas, memorandos tcnicos, hitos del proyecto, planificaciones del programa y
herramientas de control del proyecto, peticiones de cambios y documentacin relativa,
informes de seguimiento de errores e informacin almacenada.
Formal, procedimientos interpersonales. Se centra en las actividades de garanta
de calidad aplicada a productos de ingeniera del software. Estos incluyen reuniones de
revisin de estado e inspecciones de diseo y de cdigo.
Informal, procedimientos interpersonales. Incluyen reuniones de grupo para la
divulgacin de informacin y resolucin de problemas as como definicin de
requisitos y del personal de desarrollo.
Comunicacin electrnica. Comprende correo electrnico, boletines de noticias
electrnicos y sistemas de videoconferencia.
Red interpersonal. Discusiones informales con los miembros del equipo y con
personas que no estn en el proyecto pero que pueden tener experiencia o una profunda
visin que puede ayudar a los miembros del equipo.

Es interesante resaltar que las redes interpersonales fueron catalogadas como las
tcnicas de mayor valor de coordinacin y de comunicacin.



8

PRODUCTO
Debemos examinar el producto y el problema a resolver justo al inicio del
proyecto. Por lo menos se debe establecer el mbito del producto y delimitarlo.

mbito del software
La primera actividad de gestin de un proyecto de software es determinar el
mbito del software. El mbito se define respondiendo a las siguientes cuestiones:
Contexto. Cmo encaja el software a construir en un sistema, producto o
contexto de negocios mayor y qu limitaciones se imponen como resulta do 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?
El mbito de un proyecto de software debe ser unvoco y entendible a niveles de
gestin y tcnico. Los enunciados del mbito del software deben estar delimitados.
Es decir, los datos cuantitativos (por ejemplo: nmero de usuarios simultneos,
tamao de la lista de correo, mximo tiempo de respuesta permitido) se establecen
explcitamente; se anotan las limitaciones (por ejemplo: el coste del producto limita el
tamao de la memoria) y se describen los factores de reduccin de riesgos.

Si no puede delimitar una caracterstica del software que se intenta construir considere
la caracterstica como un riesgo principal del proyecto.

Descomposicin del problema
La descomposicin del problema es una actividad que se asienta en el ncleo del
anlisis de requisitos del software. Durante la actividad de exposicin del mbito no se
intenta descomponer el problema totalmente. Ms bien, la descomposicin se aplica en
dos reas principales: (1) la funcionalidad que debe entregarse y (2) el proceso que se
emplear para entregarlo.

Los seres humanos tienden a aplicar la estrategia de divide y vencers cuando se
enfrentan a problemas complejos. Dicho de manera sencilla, un problema complejo se
parte en problemas ms pequeos que resultan ms manejables. sta es la estrategia que
se aplica al inicio de la planificacin del proyecto.

Para desarrollar un plan de proyecto razonable, tiene que descomponer funcionalmente
el problema a resolver

Las funciones del software, descritas en la exposicin del mbito, se evalan y
refinan para proporcionar ms detalle antes del comienzo de la estimacin. Puesto que
ambos, el coste y las estimaciones de la planificacin temporal, estn orientados
funcionalmente, un pequeo grado de descomposicin suele ser til.

A medida que evoluciona la exposicin del mbito, un primer nivel de particin ocurre
de forma natural.



9

PROCESO

Modelo de proceso
Las fases genricas que caracterizan el proceso de software definicin, desarrollo
y soporte son aplicables a todo software. El problema es seleccionar el modelo de
proceso apropiado para la ingeniera del software que debe aplicar el equipo del
proyecto. Existe gran gama de paradigmas de ingeniera del software:
- El modelo secuencia1 lineal
- el modelo de prototipo
- el modelo DRA
- el modelo incremental
- el modelo en espiral
- el modelo en espiral WINWIN
- el modelo de desarrollo basado
(ensamblaje) en componentes
- el modelo de desarrollo
concurrente
- el modelo de mtodos formales
- el modelo de tcnicas de cuarta
generacin
Uno vez elegido el modelo de proceso, acompelo con el mnimo conjunto de toreos de
trabajo y productos que desembocaron en un producto de alta calidad evite la
capacidad de destruccin del proceso.

El gestor del proyecto debe decidir 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 en s, y (3) el entorno del proyecto en el que trabaja el
equipo de software. Cuando se selecciona un modelo de proceso, el equipo define
entonces un plan de proyecto preliminar basado en un conjunto de actividades
estructurales. Una vez establecido el plan preliminar, empieza la descomposicin del
proceso. Es decir, se debe crear un plan completo reflejando las tareas requeridas a las
personas para cubrir las actividades estructurales.

Maduracin del producto y del proceso
La planificacin de un proyecto empieza con la maduracin del producto y del
proceso. Todas las funciones que se deben tratar dentro de un proceso de ingeniera por
el equipo de software deben pasar por el conjunto de actividades estructurales que se
han definido para una organizacin de software.

Asuma que la organizacin ha adoptado el siguiente conjunto de actividades
estructurales:
Comunicacin con el cliente, tareas requeridas para establecer la obtencin de requisitos
eficiente entre el desarrollador y el cliente.
Planificacin, tareas requeridas para definir los recursos, la planificacin temporal del
proyecto y cualquier informacin relativa a l.
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 (por ejemplo: documentacin y formacin).
Evaluacin del cliente, tareas requeridas para obtener informacin de la opinin del
cliente basadas en la evaluacin de las representaciones de software creadas durante la
fase de ingeniera e implementadas durante la fase de instalacin.



10

Recuerde.... las actividades estructurales se aplican en todos los proyectos, no hoy
excepciones.

Los miembros del equipo que trabajan en cada funcin aplicarn todas las actividades
estructurales.
El trabajo del gestor del proyecto (y de otros miembros del equipo) es estimar los
requisitos de recursos, poner fechas de inicio y finalizacin para las tareas y los
productos a fabricar.

La descomposicin del producto y del proceso se produce simultneamente con la
evolucin del plan de proyecto.

Descomposicin del proceso
Un equipo de software debera tener un grado significativo de flexibilidad en la
eleccin del paradigma de ingeniera del software que resulte mejor para el proyecto y
de las tareas de ingeniera del software que conforman el modelo de proceso una vez
elegido.
Un proyecto relativamente pequeo similar a otros que se hayan hecho
anteriormente se debera realizar con el enfoque secuencia1 lineal. Si hay lmites de
tiempo muy severos y el problema se puede compartimentar mucho, el modelo
apropiado es el DRA (en ingls RAD). Si la fecha lmite est tan prxima que no va a
ser posible entregar toda la funcionalidad, una estrategia incremental puede ser lo mejor.
Similarmente, proyectos con otras caractersticas (p. ej.: requisitos inciertos, nuevas
tecnologas, clientes difciles, potencialidad de reutilizacin) llevarn a la seleccin de
otros modelos de proceso.

Una vez que se ha elegido el modelo de proceso, la estructura comn de proceso
(ECP) se adapta a l. En todos los casos, el ECP puede adaptarse al paradigma.
Funcionar para modelos lineales, para modelos iterativos e incrementales, para
modelos de evolucin e .incluso para modelos concurrentes o de ensamblaje de
componentes. El ECP es invariable y sirve como base para todo el trabajo de software
realizado por una organizacin. Pero las tareas de trabajo reales s varan.
La descomposicin del proceso comienza cuando el gestor del proyecto pregunta:
Cmo vamos a realizar esta actividad ECP? Por ejemplo, un pequeo proyecto,
relativamente simple, requiere las siguientes tareas para la actividad de comunicacin
con el cliente:
1. Desarrollar una lista de aspectos que se han de clarificar.
2. Reunirse con el cliente para resolver los aspectos que se han de clarificar.
3. Desarrollar conjuntamente una exposicin del mbito del proyecto.
4. Revisar el alcance del proyecto con todos los implicados.
5. Modificar el alcance del proyecto cuando se requiera.
Estos acontecimientos pueden ocurrir en un periodo de menos de 48 horas.
Representan una descomposicin del problema apropiado para proyectos pequeos
relativamente sencillos.

Ahora, consideremos un proyecto ms complejo que tenga un mbito ms amplio y un
mayor impacto comercial.
Un proyecto como se podra requerir las siguientes tareas para la actividad de
comunicacin con el cliente:
1. Revisar la peticin del cliente.


11

2. Planificar y programar una reunin formal con el cliente.
3. Realizar una investigacin para definir soluciones propuestas y enfoques existentes.
4. Preparar un documento de trabajo y una agenda para la reunin formal.
5. Realizar la reunin.
6. Desarrollar conjuntamente mini especificaciones que reflejen la informacin, funcin
y caractersticas de comportamiento del software.
7. Revisar todas las mini especificaciones para comprobar su correccin, su
consistencia, la ausencia de ambigedades.
8. Ensamblar las mini especificaciones en un documento de alcance del proyecto.
9. Revisar ese documento general con todo lo que pueda afectar.
10. Modificar el documento de alcance del proyecto cuando se requiera.

Ambos proyectos realizan la actividad estructural que denominamos comunicacin con
el cliente, pero el equipo del primer proyecto lleva a cabo la mitad de tareas de
ingeniera del software que el segundo.

Aplique siempre la FCf (Estructura Comn de Proceso), sin tener en cuenta el tamao,
criticidad o tipo del proyecto. Las tareas pueden variar pero la ECf no.


PROYECTO
Para gestionar un proyecto de software con xito, debemos comprender qu puede
ir mal (para evitar esos problemas) y cmo hacerlo bien, John Reel define diez seales
que indican que un proyecto de sistemas de informacin est en peligro:

1. La gente del software no comprende las necesidades del cliente.
2. El mbito del producto est definido pobremente.
3. Los cambios estn mal realizados.
4. La tecnologa elegida cambia.
5. Las necesidades del negocio cambian o estn mal definidas.
6. Las fechas de entrega no son realistas.
7. Los usuarios se resisten.
8. Se pierden los patrocinadores o nunca se obtuvieron adecuadamente.
9. El equipo del proyecto carece del personal con las habilidades apropiadas.
10. Los gestores y los desarrolladores evitan buenas prcticas y sabias lecciones.

Los profesionales veteranos de la industria hacen referencia frecuentemente a la regla
90-90 cuando estudian proyectos de software particularmente difciles: el primer 90%
de un sistema absorbe el 90% del tiempo y del esfuerzo asignado. El ltimo 10% se
lleva el otro 90% del esfuerzo y del tiempo asignado. Los factores que conducen a la
regla 90-90 estn contenidos en las diez seales destacadas en la lista anterior.

Cmo acta un gestor para evitar los problemas sealados anteriormente?
Reel sugiere una aproximacin de sentido comn a los proyectos de software dividida
en cinco partes:
Empezar con el pie derecho. Esto se realiza trabajando duro para comprender el
problema a solucionar y estableciendo entonces objetivos y expectativas realistas para
cualquiera que vaya a estar involucrado en el proyecto.


12

Mantenerse. Muchos proyectos no realizan un buen comienzo y entonces se desintegran
lentamente. Para mantenerse, el gestor del proyecto debe proporcionar incentivos para
conseguir una rotacin del personal mnimo, el equipo debera destacar la calidad en
todas las tareas que desarrolle y los gestores veteranos deberan hacer todo lo posible
por permanecer fuera de la forma de trabajo del equipo.
Seguimiento del Progreso. Para un proyecto de software, el progreso se sigue mientras
se realizan los productos del trabajo y se aprueban como parte de una actividad de
garanta de calidad.
Tomar Decisiones Inteligentes. En esencia, las decisiones del gestor del proyecto y del
equipo de software deberan seguir siendo sencillas. Siempre que sea posible, utilice
software del mismo comercial o componentes de software existentes; evite personalizar
interfaces cuando estn disponibles aproximaciones estndar; identifique y elimine
entonces riesgos obvios; asigne ms tiempo del que pensaba necesitar para tareas
arriesgadas o complejas.

Realizar un Anlisis Postmortem (despus de finalizar el proyecto). Establecer un
mecanismo consistente para extraer sabias lecciones de cada proyecto.
Evaluar la planificacin real y la prevista, reunir y analizar mtricas del proyecto de
software y realimentar con datos de los miembros del equipo y de los clientes, y
guardar los datos obtenidos en formato escrito.

El principio de W5HH
Se necesita un principio de organizacin que haga una simplificacin con el fin de
proporcionar planes sencillos para proyectos pequeos.
Boehm sugiere un enfoque que trate los objetivos, hitos y planificacin,
responsabilidades, enfoque tcnico y de gestin, y los recursos requeridos del proyecto.
Boehm lo llama el principio WWWWWHH, despus de una serie de preguntas que
conducen a la definicin de las caractersticas clave del proyecto y el plan del proyecto
resultante:
Por qu se desarrolla el sistema? Esto permite a todas las partes evaluar la validez de
las razones del negocio para el trabajo del software.
Dicho de otra forma, Justifica el propsito del negocio el gasto en personal, tiempo, y
dinero?
Qu se realizar y cundo? Ayuda al equipo a establecer la planificacin del proyecto
identificando las tareas clave del proyecto y los hitos requeridos por el cliente.
Quin es el responsable de una funcin? Anteriormente sealamos que el papel y la
responsabilidad de cada miembro del equipo de software deben estar definida.
Dnde estn situados organizacionalmente? No todos los roles y responsabilidades
residen en el equipo de software. El cliente, los usuarios, y otros directivos tambin
tienen responsabilidades.
Cmo estar realizado el trabajo desde el punto de vista tcnico y de gestin? Una
vez establecido el mbito del producto, se debe definir una estrategia tcnica y de
gestin para el proyecto.
Qu cantidad de cada recurso se necesita? Esto se deriva de las estimaciones
realizadas basadas en respuestas a las preguntas anteriores.

El principio W5HH de Boehm es aplicable sin tener en cuenta el tamao o la
complejidad del proyecto de software. Las preguntas sealadas proporcionan un perfil
de planificacin al gestor del proyecto y al equipo de software.



13

Prcticas Crticas
El Concilio Airlie ha desarrollado una lista de prcticas crticas de software
para la gestin basada en el rendimiento. Estas prcticas son utilizadas de un modo
consistente por, y consideradas crticas por, organizaciones y proyectos de software de
mucho xito cuyo rendimiento final es ms consistente que los promedios de la
industria. En un esfuerzo por permitir a una organizacin de software determinar si un
proyecto especfico ha implementado prcticas crticas, el Concilio Airlie ha
desarrollado un conjunto de preguntas para un proyecto:

Gestin formal del riesgo. Cules son los diez riesgos principales para este proyecto?
Para cada uno de los riesgos cul es la oportunidad de que el riesgo se convierta en un
problema y cul es el impacto si lo hace?
Coste emprico y estimacin de la planificacin. Cul es el tamao actual estimado de
la aplicacin de software que ser entregada en la operacin? Cmo se obtuvo?
Gestin de proyectos basada en mtricas. Dispone de un programa de mtricas para
dar una primera indicacin de los problemas del desarrollo? Si es as, cul es la
volatilidad de los requisitos actualmente?
Seguimiento del valor ganado. Informa mensualmente de las mtricas del valor
ganado? Si es as, estn calculadas estas mtricas desde una red de actividades de
tareas para el esfuerzo total a la prxima entrega?
Seguimiento de defectos frente a objetivos de calidad. Realiza el seguimiento e
informa peridicamente del nmero de defectos encontrados en cada prueba de
inspeccin y ejecucin desde el principio del programa y del nmero de defectos que se
corrigen y se producen en la actualidad?
Gestin del programa del personal. Cul es la media de rotacin de la plantilla en los
tres ltimos meses por cada uno de los distribuidores/desarrolladores involucrados en el
desarrollo del software para este sistema?

Si un equipo de proyectos de software no puede responder a estas preguntas, o las
responde inadecuadamente, se debe realizar una revisin completa de las prcticas del
proyecto.



14

Entonces la Gestin de Proyectos de Software

Es una actividad protectora dentro de la ingeniera del software. Empieza antes
de iniciar cualquier actividad tcnica y contina a lo largo de la definicin, del
desarrollo y del mantenimiento del software.
Hay cuatro << Ps >> que tienen una influencia sustancial en la gestin de
proyectos de software -personal, producto, proceso y proyecto-. El personal debe
organizarse en equipos eficaces, motivados para hacer un software de alta calidad y
coordinados para alcanzar una comunicacin efectiva. Los requisitos del producto
deben comunicarse desde el cliente al desarrollador, dividirse (descomponerse) en las
partes que lo constituyen y distribuirse para que trabaje el equipo de software.
El proceso debe adaptarse al personal y al problema. Se selecciona una
estructura comn de proceso, se aplica un paradigma apropiado de ingeniera del
software y se elige un conjunto de tareas para completar el trabajo. Finalmente, el
proyecto debe organizarse de una manera que permita al equipo de software tener
xito.
El elemento fundamental en todos los proyectos de software es el personal.
Los ingenieros del software pueden organizarse en diferentes organigramas de
equipo que van desde las jerarquas de control tradicionales a los equipos de
paradigma abierto. Se pueden aplicar varias tcnicas de coordinacin y
comunicacin para apoyar el trabajo del equipo. En general, las revisiones formales y
las comunicaciones informales persona a persona son las ms valiosas para los
profesionales.

También podría gustarte