DE SOFTWARE
Gestin de Proyectos.
Software
Qu es la Gestin de Proyectos?
La gestin de proyectos es la disciplina del
planeamiento, la organizacin, la motivacin, y el
control de los recursos con el propsito de alcanzar
uno o varios objetivos.
Un proyecto es un emprendimiento temporario
diseado a producir un nico producto, servicio o
resultado con un principio y un final definido
(normalmente limitados en tiempo, y en costos o
entregables), que es emprendido para alcanzar
objetivos nicos, y que dar lugar a un cambio
positivo o agregar valor.
Software
A menudo los proyectos grandes son nicos. Por lo general, los proyectos
grandes de software son diferentes de proyectos previos. En consecuencia, los
gestores, aun cuando cuenten con una amplia experiencia, sta no es suficiente para
anticipar los problemas. Ms an, los rpidos cambios tecnolgicos en las
computadoras y las comunicaciones hacen parecer obsoleta la experiencia previa. Las
lecciones aprendidas en esas experiencias pueden no ser transferibles a los nuevos
proyectos.
Software
Software
Actividades de gestin.
Es imposible redactar una descripcin estndar del trabajo
de un gestor de software.
El trabajo difiere enormemente dependiendo de la
organizacin y del producto de software a desarrollar. Sin
embargo, en algn momento, muchos gestores son
responsables de algunas o de la totalidad de las siguientes
actividades:
Software
Redaccin de la propuesta.
Planificacin y calendarizacin del proyecto.
Estimacin de costes del proyecto.
Supervisin y revisin del proyecto.
Seleccin y evaluacin del personal.
Redaccin y presentacin de informes.
Las estimaciones deberan definir los escenario del mejor caso, y peor
caso de modo que los resultados del proyecto pueden limitarse. El
objetivo de la planificacin se logra mediante un proceso de
descubrimiento de la informacin que lleve a estimaciones razonables.
Software
Software
Software
Software
Software
Tipos de Plan.
Plan de calidad.
Plan de validacin.
Plan de gestin de
configuraciones.
Plan de mantenimiento.
Software
Software
Hitos y entregas.
Los gestores necesitan informacin para hacer su trabajo. Como el
software es intangible, esta informacin slo se puede proveer como
documentos que describan el estado del software que se est
desarrollando. Sin esta informacin, es imposible juzgar el progreso y no
se pueden actualizar los costes y calendarios.
Cuando se planifica un proyecto, se debe establecer una serie de hitos
puntos finales de una actividad del proceso del software. En cada
uno, debe existir una salida formal, como un informe, que se debe
presentar al gestor. Los informes de hitos no deben ser documentos
amplios. Deben ser informes cortos de los logros en una actividad del
proyecto.
Los hitos deben representar el fin de una etapa lgica en el proyecto.
Los hitos indefinidos como (80 % del cdigo completo) son imposibles
de validar y carecen de utilidad para la gestin del proyecto. No
podemos validar si se ha llegado a esta etapa debido a que la cantidad
de cdigo que se tiene que desarrollar no es precisa.
Software
Software
Software
Calendarizacin del
proyecto.
sta es una de las tareas ms difciles para los gestores de proyectos. Los
gestores estiman el tiempo y los recursos requeridos para completar las
actividades y organizarlas en una sucesin coherente. A menos que el proyecto
a calendarizar sea similar a otro anterior, las estimaciones previas son una
base incierta para la calendarizacin del nuevo proyecto.
La estimacin del calendario se complica ms por el hecho de que proyectos
diferentes pueden utilizar mtodos de diseo y lenguajes de implementacin
diferentes.
Si el proyecto es tcnicamente complejo, las estimaciones iniciales casi
siempre son optimistas aun cuando los gestores traten de considerar las
eventualidades. A este respecto, la calendarizacin del tiempo para la creacin
del software no es diferente a la de cualquier otro tipo de proyecto grande y
complejo. Los nuevos aeroplanos, los puentes e incluso los nuevos modelos de
automviles se retrasan debido a problemas no anticipados. Por lo tanto, los ca
lendarios se deben actualizar continuamente en la medida que se disponga de
mejor informacin acerca del progreso.
Software
Software
Software
Como en los calendarios, los gestores deben estimar los recursos necesarios
para completar cada tarea. El recurso principal es el esfuerzo humano que se
requiere. Otros recursos pueden ser el espacio en disco requerido en un
servidor, el tiempo requerido de hardware especializado, un simulador o el
presupuesto para viajes del personal del proyecto.
Una buena regla prctica es estimar como si nada fuera a salir mal, y entonces
incrementar la estimacin para abarcar los problemas previstos. Con este
mismo fin, a la estimacin se le debe agregar un factor de contingencia
adicional. Este factor extra de contingencia depende del tipo de proyecto, de
los parmetros del proceso (fecha de entrega, estndares, etc.) y de la calidad
y experiencia de los ingenieros de software que trabajen en el proyecto. Como
regla, para los problemas previstos siempre debe agregarse un 30% a la
estimacin original y otro 20% para cubrir algunas cosas no previstas.
Por lo general, el calendario del proyecto se representa como un conjunto de
grficos que muestran la divisin del trabajo, las dependencias de las
actividades y la asignacin del personal. Por lo general, las herramientas de
gestin de software, como Microsoft Project, se utilizan para automatizar la
produccin de diagramas.
Software
Gestin de riesgos.
Una tarea importante del gestor de proyectos es
anticipar los riesgos que podran afectar a la
programacin del proyecto o a la calidad del software
a desarrollar y emprender acciones para evitar esos
riesgos.
Los resultados de este anlisis de riesgos se deben
documentar a lo largo del plan del proyecto junto con
el anlisis de consecuencias cuando el riesgo ocurra.
Identificar stos y crear planes para minimizar sus
efectos en el proyecto se llama gestin de riesgos.
Software
Software
Software
Software
Planificacin de riesgos. Crear planes para abordar los riesgos, ya sea para
evitarlos o minimizar sus efectos en el proyecto.
Software
Identificacin de riesgos.
sta es la primera etapa de la gestin de riesgos.
Comprende el descubrimiento de los posibles riesgos
del proyecto. En principio, no hay que valorarlos o
darles prioridad en esta etapa aunque, en la
prctica, por lo general no se consideran los riesgos
con consecuencias menores o con baja probabilidad.
Esta identificacin se puede llevar a cabo a travs de
un proceso de grupo utilizando un enfoque de
tormenta de ideas o simplemente puede basarse en
la experiencia. Para ayudar al proceso, se utiliza una
lista de posibles tipos de riesgos.
Software
Software
Anlisis de riesgos.
Durante este proceso, se considera por separado cada
riesgo identificado y se decide acerca de la probabilidad y la
seriedad del mismo.
No existe una forma fcil de hacer esto recae en la
opinin y experiencia del gestor del proyecto. No se hace
una valoracin con nmeros precisos sino en intervalos:
La probabilidad del riesgo se puede valorar como muy bajo (<
10%), bajo (10-25%), moderado (25-50%), alto (50-75%) o muy
alto (>75%).
Los efectos del riesgo pueden ser valorados como catastrfico,
serio, tolerable o insignificante.
Software
Software
Planificacin de riesgos.
El proceso de planificacin de riesgos considera cada uno de los riesgos clave
que han sido identificados, as como las estrategias para gestionarlos. Otra vez,
no existe un proceso sencillo que nos permita establecer los planes de gestin de
riesgos. Depende del juicio y de la experiencia del gestor del proyecto. La Figura
(estrategia de gestin de riesgos) muestra posibles estrategias para los ries
gos que han sido identificados en la Figura (anlisis de riesgos).
Estas estrategias seguidas pueden dividirse en tres categoras.
1. Estrategias de prevencin. Siguiendo estas estrategias, la probabilidad de que el ries
go aparezca se reduce. Un ejemplo de este tipo de estrategias es la estrategia de evita
cin de defectos en componentes de la Figura (estrategia de gestin de riesgos).
2. Estrategias de minimizacin. Siguiendo estas estrategias se reducir el impacto del
riesgo. Un ejemplo de esto es la estrategia frente a enfermedad del personal de la Figura
(estrategia de gestin de riesgos).
3. Planes de contingencia. Seguir estas estrategias es estar preparado para lo peor y te
ner una estrategia para cada caso. Un ejemplo de este tipo de estrategia es el mostrado
en la Figura (estrategia de gestin de riesgos) con la estrategia para problemas
financieros.
Software
Puede verse aqu una analoga con las estrategias utilizadas en sistemas crticos
para asegurar fiabilidad, proteccin y seguridad. Bsicamente, es mejor usar
una estrategia para evitar el riesgo. Si esto no es posible, utilizar una para
reducir los efectos serios de los riesgos. Finalmente, tener estrategias para
reducir el impacto del riesgo en el proyecto y en el producto.
Software
Supervisin de riesgos.
La supervisin de riesgos normalmente valora cada uno de los riesgos
identificados para decidir si ste es ms o menos probable y si han cambiado sus
efectos. Por supuesto, esto no se puede observar de forma directa, por lo que se
tienen que buscar otros factores para dar indicios de la probabilidad del riesgo y
sus efectos. Obviamente, estos factores dependen de los tipos de riesgo.
La Figura (factores de riesgo) da algunos ejemplos de los factores que ayudan en
la valoracin de estos tipos de riesgos.
Software
Software
Puntos clave.
Es esencial una buena gestin de proyectos de software para
que los proyectos de ingeniera de software se desarrollen a
tiempo y segn presupuesto.
La gestin de proyectos de software es diferente a la gestin de
otro tipo de ingenieras. El software es intangible. Los proyectos
pueden ser nuevos o innovadores, por lo que no existe un
conjunto de experiencias para guiar su gestin. El proceso del
software no se comprende del todo.
Los gestores de software tienen diversos papeles. Sus
actividades ms significativas son la planificacin, estimacin y
calendarizacin de los proyectos. La planificacin y la estimacin
son procesos iterativos. Tienen continuidad a lo largo del
proyecto. En cuanto se tenga ms informacin, se deben revisar
los planes y calendarios.
Software
Espectro de Gestin.
Software
Espectro de Gestin.
La gestin eficaz de un proyecto de software
se centra en las cuatro Ps: personal,
producto, proceso y proyecto.
El orden no es arbitrario. El gestor que se
olvida de que el trabajo de ingeniera del
software es un esfuerzo humano intenso
nunca tendr xito en la gestin de
proyectos.
Software
Software
Personal.
Software
LOS PARTICIPANTES.
3.
4.
5.
Software
LIDERES DE EQUIPO.
La gestin del proyecto es una actividad intensamente
humana, por lo tanto, los profesionales competentes
con frecuencia no son buenos lderes de equipo.
Simplemente no tienen la mezcla correcta de
habilidades con el personal.
Weinberg sugiere un modelo MOI de liderazgo, basado
en la Motivacin Organizacin e Innovacin.
Otra visin de las caractersticas que definen un
gestor de proyecto eficiente resalta 4 rasgos clave:
Resolucin de problemas, Dotes de gestin, Incentivos
e Influencia y fomento de la cultura de equipo.
Software
EL EQUIPO DE SOFTWARE.
Software
Software
Software
EQUIPOS AGILES.
La filosofa gil alienta la satisfaccin del cliente y la temprana
entrega incremental de software; pequeos equipos de trabajo
enormemente motivados; mtodos informales; mnimos productos
de trabajo de ingeniera del software y simplicidad global de
desarrollo.
El enfoque gil subraya la competencia individual en conjuncin
con la colaboracin del grupo como factores de xito cruciales para
el equipo.
Para aprovechar en forma eficiente las competencias de cada
miembro del equipo y fomentar la colaboracin eficaz a lo largo de
un proyecto de software, los equipos giles son auto organizados.
Un equipo auto organizado no necesariamente mantiene una sola
estructura de equipo, sino que ms bien aprovecha elementos de
los paradigmas aleatorio, abierto y sincrnico.
Software
CONFLICTOS
DE
COMUNICACIN.
COORDINACION
Producto.
Antes de poder planificar un proyecto, se deberan establecer los objetivos y el mbito
del producto, se deberan considerar soluciones alternativas e identificar las
dificultades tcnicas y de gestin. Sin esta informacin, es imposible definir unas
estimaciones razonables (y exactas) del coste; una valoracin efectiva del riesgo, una
subdivisin realista de las tareas del proyecto o una planificacin del proyecto
asequible
que
proporcione
una
indicacin
fiable
del
progreso.
El desarrollador de software y el cliente deben reunirse para definir los objetivos del
producto y su mbito. En muchos casos, esta actividad empieza como parte del
proceso de ingeniera del sistema o del negocio y contina como el primer paso en el
anlisis de los requisitos del software. Los objetivos identifican las metas generales del
proyecto sin considerar cmo se conseguirn (desde el punto de vista del cliente).
El mbito identifica los datos primarios, funciones y comportamientos que caracterizan
al producto, y, ms importante, intenta abordar estas caractersticas de una manera
cuantitativa.
Una vez que se han entendido los objetivos y el mbito del producto, se consideran
soluciones alternativas.
Software
Software
Proceso.
Un proceso de software 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 -tareas, hitos, productos del trabajo y puntos
de garanta de calidad- permiten a las actividades estructurales adaptarse a
las caractersticas del proyecto de software y a los requisitos del equipo del
proyecto.
Finalmente, las actividades protectoras -tales como garanta de calidad del
software, gestin de la configuracin del software y medicin- cubren el
modelo de proceso.
Las actividades protectoras son independientes de las estructurales y tienen
lugar a lo largo del proceso.
Software
Proyecto.
Dirigimos los proyectos de software planificados y controlados por una
razn principal -es la nica manera conocida de gestionar la
complejidad-. Y todava seguimos esforzndonos. En 1998, los datos de
la industria del software indicaron que el 26% de proyectos de software
fallaron
completamente
y
que
el
46%
experimentaron
un
desbordamiento en la planificacin y en el coste. Aunque la proporcin
de xito para los proyectos de software ha mejorado un poco, nuestra
proporcin de fracaso de proyecto permanece ms alto del que debera
ser.
Para evitar el fracaso del proyecto, un gestor de proyectos de software 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.
Software
La gestin de un proyecto de software exitoso requiere entender que puede salir mal.
John Reel define10 seales que indican que un proyecto de sistemas de informacin
est en peligro:
1. El personal de software no entiende las necesidades de sus clientes.
2. El mbito del producto est mal definido.
3. Los cambios se gestionan mal.
4. La tecnologa elegida cambia.
5. Las necesidades comerciales cambian, o estn mal definidas.
6. Los plazos de entrega no son realistas.
7. Los usuarios se resisten.
8. Se pierde el patrocino.
9. El equipo de proyecto carece de personal.
10.Los gestores evitan las mejores prcticas y las lecciones aprendidas.
Software
1.
Comience con el pie derecho: Entender bien el problema para establecer bien
los objetivos y expectativas. Construir el equipo correcto y darle a ste
autonoma, autoridad y tecnologa.
2.
3.
4.
5.
Software
Medidas, Mtricas e
Indicadores.
Software
Software
Medible
Independiente
Controlable
Precisa
Software
se
pueden
Software
Software
Software
Medida de la calidad.
Aunque hay muchas medidas de la calidad de software, la correccin, facilidad de
mantenimiento, integridad y facilidad de uso proporcionan indicadores tiles para el
equipo del proyecto.
Caractersticas.
Objetivos y metas (el proyecto debe ser o hacerse viable, sustentable y medible, con
talentos y recursos asignados, sin estrs y con buen clima laboral y contractual)
Calendario de actividades (debe tener un programa detallado de actividades en
funcin del tiempo -o plan de trabajo- con alcance, metas, talentos y recursos...)
Complejidad manejable (hace sencillo lo complejo, inter relacionando con visin de
totalidad los mltiples elementos componentes y las inter relaciones entre ellos)
Administra recursos (especifica y logra disponibilidad de talentos (conocimientos y
competencias), capital y esfuerzo humano de diversas reas de la organizacin,
comunidad, etc.)
Organizacin matricial (define estructura, sistemas, valores, smbolos, personas y
talentos, asigna responsabilidades y recursos: talentos y logros vs. compensaciones
fijas y variables; x ej. consultor, coach, facilitador, ejecutor, diseador, gerente,
patrocinador, cliente interno, etc.)
Sistema de comunicacin y control (sistema manual o automatizado de registro y
difusin de documentacin e informacin sobre marcha del proyecto, precisando
desviaciones y correctivos)
Software