pert-cpm-gantt

Anuncio
UNJu – Facultad de Ingeniería
APU 2008
Gestión y Administración de proyectos
Proyecto: esfuerzo temporal que se lleva a cabo para crear un producto, un servicio o una obra.
1. Cada proyecto tiene un comienzo definido y un final definido
2. La duración de un proyecto es limitada aunque sea de años
3. Temporal NO es aplicable generalmente al producto, servicio o resultado creado por el
proyecto
Un proyecto crea entregables únicos
1. Servicio – consultoría
2. Producto – sistema
3. Resultado –mejora / eficiencia de procesos
La singularidad es una característica importante de los productos entregables de un proyecto. La
presencia de elementos repetitivos NO cambia la condición fundamental de único del trabajo de un
proyecto.
Proyectos vs Trabajos Operativos
Similitudes
Diferencias
Finalidad
Finalización
Proyectos
Operaciones
 Realizados por personas
 Limitación de Recursos
 Planificados – Ejecutados - Controlados
 Temporales
 Continuas
 Únicos
 Repetitivas
 Graduales
 Alcanzar el objetivo
 Respaldo al negocio
 Concluye al alcanzar
 Adoptan
nuevos
su objetivo
objetivos
 No concluyen
Cuándo un Proyecto es Exitoso?
1. Cuándo cumplimos en tiempo, sin pasar el presupuesto y entregando lo pedido?
2. Cuándo el cliente nos llama nuevamente?
3. Cuándo el próximo proyecto lo hacemos mejor?
4. Cuándo el cliente está satisfecho?
5. Cuándo el cliente paga?
6. Cuándo hay brindis final?
7. Cuándo?
Por qué no terminan bien los Proyectos?
1. Falta de sponsor
2. "Reinventamos la rueda" en cada proyecto
3. Objetivos poco claros o contradictorios
4. Planificación defectuosa, estimaciones incorrectas
5. Contar con muchas expectativas y pocas necesidades
6. Comunicaciones deficientes, comunicadores inexpertos
7. Cambios permanentes en las especificaciones
Analisis y Diseño I – APU 2008
Página 1
UNJu – Facultad de Ingeniería
8.
9.
10.
11.
APU 2008
Pobre administración de los recursos y de los proveedores
Nuevas tecnologías
Cultura de la organización
Dificultades para cerrar los proyectos
Qué tiene un proyecto exitoso?
En Teoría
Un proyecto se considera exitoso los plazos estipulados, dentro de especificaciones requeridas.
En la Práctica
1. Excelente comunicación
2. Liderazgo, conocimiento y poder
3. Sigue una metodología probada
4. Mostrar resultados, dar calidad
5. Validar las estimaciones
6. Más y mejor conocimientos y experiencias
7. Hace ganar dinero
Stakeholders: Son los individuos y organizaciones activamente involucrados en el proyecto; o
cuyos intereses pueden ser positiva o negativamente afectados como resultado de la ejecución del
proyecto.
Analisis y Diseño I – APU 2008
Página 2
UNJu – Facultad de Ingeniería
APU 2008
Gestión de proyectos: organización y administración de los recursos que intervienen en un
proyecto de manera tal que éste se pueda culminar dentro del alcance, del tiempo y del coste
definido.
Analisis y Diseño I – APU 2008
Página 3
UNJu – Facultad de Ingeniería
APU 2008
Entendamos Gestión de Proyectos como la planificación, el seguimiento y el control de las
actividades y de los recursos humanos y materiales que intervienen en el desarrollo de cualquier
proyecto (realizar un sitio web, organizar un evento, crear una biblioteca, etc.)
Conceptos relacionados con gestión de proyectos
EDT (Estructura de descomposición del trabajo) Work Breakdown Structure o WBS, es una
estructura exhaustiva, jerárquica y descendente formada por las diferentes tareas (unidades de
trabajo) a realizar en un proyecto.
El diagrama de Gantt, gráfica de Gantt o carta Gantt es una herramienta gráfica cuyo objetivo es
mostrar el tiempo de dedicación previsto para diferentes tareas o actividades a lo largo de un
.
tiempo total determinado
Analisis y Diseño I – APU 2008
Página 4
UNJu – Facultad de Ingeniería
APU 2008
Flujo de trabajo Workflow, es el estudio de los aspectos de desarrollo de un proyecto: cómo se
estructuran las tareas, cómo se realizan, cuál es su orden correlativo, cómo se sincronizan, cómo
fluye la información que soporta las tareas y cómo se le hace seguimiento al cumplimiento de las
tareas.
Se pueden distinguir tres tipos de actividad:
1. Actividades colaborativas: Un conjunto de usuarios trabajan sobre un mismo repositorio de
datos para obtener un resultado común. Tiene entidad el trabajo de cada uno de ellos en sí
mismo.
2. Actividades cooperativas: Un conjunto de usuarios trabajan sobre su propio conjunto
particular, estableciendo los mecanismos de cooperación entre ellos. No tiene entidad el
trabajo de ninguno de ellos si no es visto desde el punto de vista global del resultado final.
3. Actividades de coordinación.
Analisis y Diseño I – APU 2008
Página 5
UNJu – Facultad de Ingeniería
APU 2008
Program Evaluation and Review Technique, PERT, es básicamente un método para analizar
las tareas involucradas en completar un proyecto dado, especialmente el tiempo para completar
cada tarea, e identificar el tiempo mínimo necesario para completar el proyecto total.
Método de la ruta crítica, Critical Path Method, CPM. Una ruta crítica es la secuencia de las
tareas de un proyecto con la mayor duración entre ellos, lo cual determina el tiempo más corto en
el que es posible completar el proyecto. La duración de la ruta crítica determina la duración del
proyecto entero. Cualquier retraso en un elemento de la ruta crítica afecta a la fecha de término
planeada del proyecto, y se dice que no hay holgura en la ruta crítica.
A diferencia del método PERT, el método de la ruta crítica usa tiempos ciertos (reales o
determinísticos). Sin embargo, la elaboración de un proyecto en base a redes CPM y PERT son
similares y consisten en:
1. Identificar todas las actividades que involucra el proyecto, lo que significa, determinar
relaciones de precedencia, tiempos técnicos para cada una de las actividades.
2. Construir una red con base en nodos y actividades (o arcos, según el método más usado),
que implican el proyecto.
3. Analizar los cálculos específicos, identificando las rutas críticas y las holguras de los
proyectos.
Diagrama de Gantt
Los cronogramas de barras o “gráficos de Gantt” fueron concebidos por el ingeniero
norteamericano Henry L. Gantt, uno de los precursores de la ingeniería industrial contemporánea
de Taylor. Gantt procuro resolver el problema de la programación de actividades, es decir, su
distribución conforme a un calendario, de manera tal que se pudiese visualizar el periodo de
duración de cada actividad, sus fechas de iniciación y terminación e igualmente el tiempo total
requerido para la ejecución de un trabajo. El instrumento que desarrolló permite también que se
siga el curso de cada actividad, al proporcionar información del porcentaje ejecutado de cada una
de ellas, así como el grado de adelanto o atraso con respecto al plazo previsto.
Este gráfico consiste simplemente en un sistema de coordenadas en que se indica:
En el eje Horizontal: un calendario, o escala de tiempo definido en términos de la unidad más
adecuada al trabajo que se va a ejecutar: hora, día, semana, mes, etc.
En el eje Vertical: Las actividades que constituyen el trabajo a ejecutar. A cada actividad se hace
corresponder una línea horizontal cuya longitud es proporcional a su duración en la cual la
medición efectúa con relación a la escala definida en el eje horizontal conforme se ilustra.
Símbolos Convencionales: En la elaboración del gráfico de Gantt se acostumbra utilizar
determinados símbolos, aunque pueden diseñarse muchos otros para atender las necesidades
específicas del usuario.
Los símbolos básicos son los siguientes:
1. Iniciación de una actividad.
2. Término de una actividad
3. Línea fina que conecta las dos “L” invertidas. Indica la duración prevista de la actividad.
Analisis y Diseño I – APU 2008
Página 6
UNJu – Facultad de Ingeniería
APU 2008
4. Línea gruesa. Indica la fracción ya realizada de la actividad, en términos de porcentaje.
Debe trazarse debajo de la línea fina que representa el plazo previsto.
5. Plazo durante el cual no puede realizarse la actividad. Corresponde al tiempo improductivo
puede anotarse encima del símbolo utilizando una abreviatura.
6. Indica la fecha en que se procedió a la última actualización del gráfico, es decir, en que se
hizo la comparación entre las actividades previstas y las efectivamente realizadas.
Contenido
El diagrama de Gantt consiste en una representación gráfica sobre dos ejes; en el vertical se
disponen las tareas del proyecto y en el horizontal se representa el tiempo.
Características
1. Cada actividad se representa mediante un bloque rectangular cuya longitud indica su
duración; la altura carece de significado.
2. La posición de cada bloque en el diagrama indica los instantes de inicio y finalización de las
tareas a que corresponden.
3. Los bloques correspondientes a tareas del camino crítico acostumbran a rellenarse en otro
color (en el caso del ejemplo, en rojo).
Construir un diagrama de Gantt:
1. Dibujar los ejes horizontal y vertical.
2. Escribir los nombres de las tareas sobre el eje vertical.
3. En primer lugar se dibujan los bloques correspondientes a las tareas que no tienen
predecesoras.
4. Se sitúan de manera que el lado izquierdo de los bloques coincida con el instante cero del
proyecto (su inicio).
5. A continuación, se dibujan el bloque correspondiente a las tareas que sólo dependen de
las tareas ya introducidas en el diagrama. Se repite este punto hasta haber dibujado todas
las tareas. En este proceso se han de tener en cuenta las consideraciones siguientes:
6. Las dependencias fin-inicio se representan alineando el final del bloque de la tarea
predecesora con el inicio del bloque de la tarea dependiente.
7. Las dependencias final-final se representan alineando los finales de los bloques de las
tareas predecesora y dependiente.
8. Las dependencias inicio-inicio se representan alineando los inicios de los bloques de las
tareas predecesora y dependiente.
Analisis y Diseño I – APU 2008
Página 7
UNJu – Facultad de Ingeniería
APU 2008
9. Los retardos se representan desplazando la tarea dependiente hacia la derecha en el caso
de retardos positivos y hacia la izquierda en el caso de retardos negativos.
Ejemplo
Finalmente, una vez realizados los cálculos del proyecto utilizando un sistema adecuado, como el
diagrama PERT o el Roy, resulta conveniente destacar con un color distinto las tareas con margen
total 0, para poder identificar con facilidad los caminos críticos.
VENTAJAS Y DESVENTAJAS DE LOS GRÁFICOS DE GANTT.
La ventaja principal del gráfico de Gantt radica en que su trazado requiere un nivel mínimo de
planificación. Los gráficos de Gantt se revelan muy eficaces en las etapas iniciales de la
planificación. Sin embargo, después de iniciada la ejecución de la actividad y cuando comienza a
efectuarse modificaciones, el gráfico tiende a volverse confuso. Por eso se utiliza mucho la
representación gráfica del plan, en tanto que los ajustes (re planificación) requieren por lo general
de la formulación de un nuevo gráfico. Para superar esa deficiencia se crearon dispositivos
mecánicos, tales como cuadros magnéticos, fichas, cuerdas, etc., que permite una mayor
flexibilidad en las actualizaciones. Aún en términos de planificación, existe todavía una limitación
bastante grande en lo que se refiere a la representación de planes de cierta complejidad. El Gráfico
de Gantt no ofrece condiciones para el análisis de opciones, ni toma en cuenta factores como el
costo. Es fundamentalmente una técnica de pruebas y errores. No permite, tampoco, la
visualización de la relación entre las actividades cuando el número de éstas es grande.
En resumen, para la planificación de actividades relativamente simples, el gráfico de Gantt
representa un instrumento de bajo costo y extrema simplicidad en su utilización. Para proyectos
complejos, sus limitaciones son bastantes serias, y fueron éstas las que llevaron a ensayos que
dieron como resultado el desarrollo del CPM, el PERT y otras técnicas conexas. Estas técnicas
introdujeron nuevos conceptos que, asociados más tarde a los de los gráficos de Gantt, dieron
origen a las denominadas “redes-cronogramas”. Gráfico de Gantt para seguir la marcha de las
actividades: En este tipo de gráfico se usa el eje vertical para representar actividades, en tanto que
los recursos aplicados a cada uno indican, por medio de claves, sobre la línea que representan la
duración de la actividad. Consiste, por lo tanto, en una inversión del caso anterior. El eje horizontal
permanece como registro de escala de tiempo. Gráfico de Gantt para el control de la carga de
trabajo: Este gráfico es semejante al de la distribución de actividad que tiene por objeto
proporcionar el administrador una posición de carga total de trabajo aplicada a cada recurso. Indica
Analisis y Diseño I – APU 2008
Página 8
UNJu – Facultad de Ingeniería
APU 2008
el periodo durante el cual el recurso estará disponible para el trabajo (representado por una línea
fina) y la carga total de trabajo asignada a este recurso (representado por una línea gruesa).
PERT Y CPM
Un diagrama de red es cualquiera de las representaciones que vinculan las actividades y los
eventos de un proyecto entre sí para reflejar las interdependencias entre las mismas. Una actividad
o evento puede presentar interdependencias con actividades o eventos sucesores, predecesores,
o en paralelo. Los más importantes son:
PERT (Program Evaluation and Review Technique). Desarrollado por la Special Projects Office de
la Armada de EE.UU. a finales de los 50s para el programa de I+D que condujo a la construcción
de los misiles balísticos Polaris. Está orientada a los sucesos o eventos, y se ha utilizado
típicamente en proyectos de I+D en los que el tiempo de duración de las actividades es una
incertidumbre. Dado que las estimaciones de duración comportan incertidumbre se estudian las
distribuciones de probabilidad de las duraciones. Con un diagrama PERT se obtiene un
conocimiento preciso de la secuencia necesaria, o planificada para la ejecución de cada actividad y
utilización de diagramas de red.
Se trata de un método muy orientado al plazo de ejecución, con poca consideración hacia al coste.
Se suponen tres duraciones para cada suceso, la optimista a, la pesimista b y la normal m;
suponiendo una distribución beta, la duración más probable: t = (a + 4m + b) / 6 .
Generalmente se denominan técnicas PERT al conjunto de modelos abstractos para la
programación y análisis de proyectos de ingeniería. Estas técnicas nos ayudan a programar un
proyecto con el coste mínimo y la duración más adecuada. Están especialmente difundidas el
PERT y el CPM.
Aplicación de las técnicas PERT:
1. Determinar las actividades necesarias y cuando lo son.
2. Buscar el plazo mínimo de ejecución del proyecto.
3. Buscar las ligaduras temporales entre actividades del proyecto.
4. Identificar las actividades críticas, es decir, aquellas cuyo retraso en la ejecución supone un
retraso del proyecto completo.
5. Identificar el camino crítico, que es aquel formado por la secuencia de actividades críticas
del proyecto.
6. Detectar y cuantificar las holguras de las actividades no críticas, es decir, el tiempo que
pueden retrasarse (en su comienzo o finalización) sin que el proyecto se vea retrasado por
ello.
7. Si se está fuera de tiempo durante la ejecución del proyecto, señala las actividades que
hay que forzar.
8. Nos da un proyecto de coste mínimo.
Camino crítico
El camino crítico en un proyecto es la sucesión de actividades que dan lugar al máximo tiempo
acumulativo.
Analisis y Diseño I – APU 2008
Página 9
UNJu – Facultad de Ingeniería
APU 2008
Determina el tiempo más corto que podemos tardar en hacer el proyecto si se dispone de todos los
recursos necesarios. Es necesario conocer la duración de las actividades.
Este concepto es utilizado por dos métodos:
 Método del tiempo estimado (CPM) La duración de una actividad es la más probable de
duración. Tiempo que se emplearía en condiciones normales (m). Situación determinista.
 Método del tiempo esperado (PERT) Determinación probabilística de los tiempos
esperados (Te), en función de los siguientes tiempos:
1. Duración más corta (a)
2. Duración más larga (b)
3. Duración más probable (m) (el mismo que en CPM)
4. Duración esperada: Te = (a + 4m + b) / 6.
Principios
Estos tres principios deben respetarse siempre a la hora de dibujar una malla PERT:
1. Principio de designación sucesiva: se nombra a los vértices según los números naturales,
de manera que no se les asigna número hasta que han sido nombrados todos aquellos de
los que parten aristas que van a parar a ellos.
2. Principio de unicidad del estado inicial y el final: se prohíbe la existencia de más de un
vértice inicial o final. Sólo existe una situación de inicio y otra de terminación del proyecto.
3. Principio de designación unívoca: no pueden existir dos aristas que tengan los mismos
nodos de origen y de destino. Normalmente, se nombran las actividades mediante el par
de vértices que unen. Si no se respetara este principio, puede que dos aristas recibieran la
misma denominación
Dibujo de una malla PERT
Existen dos metodologías aceptadas para dibujar una malla PERT, la de “Actividad en el Arco” y
las de “Actividad en el Nodo”, siendo ésta última la más utilizada en la actualidad en atención a que
es la que usan la mayoría de las aplicaciones computacionales especialistas en este tema.
Red PERT.
Cada nodo contiene la siguiente información sobre la actividad:
 Nombre de la actividad
 Duración esperada de la actividad (t)
 Tiempo de inicio más temprano (ES = Earliest Start)
 Tiempo de término más temprano (EF = Earliest Finish)
 Tiempo de inicio más tardío (LS = Latest Start)
 Tiempo de término más tardío (LF = Latest Finish)
 Holgura de la Actividad (H)
Analisis y Diseño I – APU 2008
Página 10
UNJu – Facultad de Ingeniería
APU 2008
Por convención los arcos se dibujan siempre con orientación hacia la derecha, hacia el nodo de
término del proyecto, nunca retrocediendo. El dibujo de una malla PERT se comienza en el nodo
de inicio del proyecto. A partir de él se dibujan las actividades que no tienen actividades
precedentes, o sea, aquellas que no tienen que esperar que otras actividades terminen para poder
ellas iniciarse. A continuación, se dibujan las restantes actividades cuidando de respetar la
precedencia entre ellas. Al terminar el dibujo de la malla preliminar, existirán varios nodos ciegos,
nodos terminales a los que llegan aquellas actividades que no son predecesoras de ninguna otra,
es decir aquellas que no influyen en la fecha de inicio de ninguna otra, éstas son las actividades
terminales y concurren por lo tanto al nodo de término del proyecto. para esto no es necesario
utilizarlo
Cálculo de los tiempos de inicio y término más tardíos
El tiempo de inicio más tardío “LS” (Latest Start) y de término más tardío “LF” (Latest finish) para
cada actividad del proyecto, se calculan desde el nodo de término retrocediendo hacia el nodo de
inicio del proyecto según la siguiente relación:
Donde (t) es el tiempo esperado de duración de la actividad y donde LF queda definida según la
siguiente regla:
Regla del tiempo de término más tardío:
El tiempo de término más tardío, LF, de una actividad específica, es igual al menor de los tiempos
LS de todas las actividades que comienzan exactamente después de ella.
El tiempo de término más tardío de las actividades que terminan en el nodo de término del
proyecto es igual a la duración esperada del proyecto (T).
Holguras, actividades críticas y rutas críticas
La Holgura de una actividad, es el tiempo que tiene ésta disponible para, ya sea, atrasarse en su
fecha de inicio, o bien alargarse en su tiempo esperado de ejecución, sin que ello provoque retraso
alguno en la fecha de término del proyecto.
La holgura de una actividad se calcula de la siguiente forma:
Analisis y Diseño I – APU 2008
Página 11
UNJu – Facultad de Ingeniería
APU 2008
H = LF – EF
o bien
H = LS – ES
Actividades críticas
Se denomina actividades críticas a aquellas actividades cuya holgura es nula y que por lo tanto, si
se retrasan en su fecha de inicio o se alargan en su ejecución más allá de su duración esperada,
provocarán un retraso exactamente igual en tiempo en la fecha de término del proyecto.
Rutas críticas
Se denomina rutas críticas a los caminos continuos entre el nodo de inicio y el nodo de término del
proyecto, cuyos arcos componentes son todas actividades críticas. Las rutas críticas se nombran
por la secuencia de actividades críticas que la componen o bien por la secuencia de nodos por los
que atraviesa. Nótese que un proyecto puede tener más de una ruta crítica pero a lo menos tendrá
siempre una.
Otras consideraciones:
Se llama evento al momento de iniciación o terminación de una actividad. Se determina en un
tiempo variable entre el más temprano y el más tardío posible, de iniciación o de terminación.
A los eventos se les conoce también con los nombres de nodos.
i
j
El evento inicial se llama i y el evento final se denomina j. El evento final de una actividad será el
evento inicial de la actividad siguiente. Las flechas no son vectores, escalares ni representan
medida alguna. No interesa la forma de las flechas, ya que se dibujarán de acuerdo con las
necesidades y comodidad de presentación de la red. Pueden ser horizontales, verticales,
ascendentes, descendentes curvas, rectas, quebradas, etc.
En los casos en que haya necesidad de indicar que una actividad tiene una interrelación o
continuación con otra se dibujará entre ambas una línea punteada, llamada liga, que tiene una
duración de cero
La liga puede representar en algunas ocasiones un tiempo de espera para poder iniciar la
actividad siguiente
Varias actividades pueden terminar en un evento o partir de un mismo evento.
Al construir la red, debe evitarse lo siguiente:
1. Dos actividades que parten de un mismo evento y llegan a un mismo evento. Esto
produce confusión de tiempo y de continuidad. Debe abrirse el evento inicial o el evento
final en dos eventos y unirlos con una liga.
2. Partir una actividad de una parte intermedia de otra actividad. Toda actividad debe
empezar invariablemente en un evento y terminar en otro. Cuando se presenta este caso,
a la actividad base o inicial se le divide en eventos basándose en porcentajes y se derivan
de ellos las actividades secundadas.
3. Dejar eventos sueltos al terminar la red. Todos ellos deben relacionarse con el evento
inicial o con el evento final.
Analisis y Diseño I – APU 2008
Página 12
UNJu – Facultad de Ingeniería
APU 2008
La gestión de un proyecto informático
Introducción
Lo que ahora queda por ver de la gestión de un proyecto informático no es en
absoluto tan diferente de lo que es habitual en la gestión de cualquier otro
proyecto de ingeniería, sobre todo si se recuerda, a la hora detonar las decisiones
imprescindibles de gestión del proyecto, que cuando se habla de personas mes
para considerar el esfuerzo, no se puede en absoluto pensar en intercambiar los
dos factores. Una vez se ha llevado a cabo la primera estimación de costes, a menudo, a
partir de una primera especificación genérica del alcance del proyecto muy precaria, es
necesario finalizar la etapa de calificación y planificar en el tiempo las diferentes tareas
pendientes y, cuando ya se ha iniciado el proceso de desarrollo del proyecto, sólo se debe
realizar el seguimiento y el control. En este módulo, repasamos brevemente los
problemas generales de la planificación temporal de actividades, con la mención de temas
clásicos como los diagramas PERT o el método del camino crítico (CPM), sin olvidar
hacer una referencia inevitable a las diferentes herramientas informáticas disponibles que
pueden ayudar en esta actividad de planificación. A partir de la planificación de
actividades, es mucho más sencillo ordenar el proceso de control del proyecto y el
seguimiento de su desarrollo para llegar a finalizar con éxito la actividad de construir un
Software de aplicación en la informática de gestión. Una vez revisadas brevemente las
actividades típicas de gestión de proyectos (planificación, seguimiento y control), al final
de este módulo planteamos, de manera básica e introductoria, el problema del
aseguramiento de la calidad del software ( software quality assurance), que ha llegado a
alcanzar una gran importancia en los últimos años, posiblemente por la falta de calidad y
fiabilidad de la mayoría del software construido.
Objetivos
Se cierra el estudio de la gestión de un proyecto informático de construcción de
software de aplicación en la informática de gestión. Se tratan los temas de la
planificación temporal de actividades y, a partir de esta planificación, del
seguimiento y el control del desarrollo del proyecto. Termina con una referencia
breve al problema del aseguramiento de la calidad del software.
Con el estudio de este módulo y de los materiales didácticos asociados, el
estudiante debe alcanzar los objetivos siguientes:
1. Conocer la problemática general de la planificación temporal de proyectos,
el uso de diagramas de Gantt, la técnica del PERT y el método del camino
crítico (CPM).
2. Saber planificar en el tiempo las actividades de un proyecto informático,
teniendo en cuenta los recursos disponibles y las limitaciones de uso.
3. Conocer los problemas que se plantean y los documentos que se suelen
utilizar para controlar el desarrollo de un proyecto y realizar un seguimiento
completo y exhaustivo.
Analisis y Diseño I – APU 2008
Página 13
UNJu – Facultad de Ingeniería
APU 2008
4. Saber cuáles son las decisiones más habituales que se han de tomar en el
proceso de control de un proyecto informático y los aspectos que más las
condicionan.
5. Conocer las herramientas informáticas que ayudan tanto en el proceso de
planificación del proyecto, como en el de seguimiento y control de una
planificación ya efectuada.
6. Obtener una visión inicial de los problemas de aseguramiento de la calidad
del Software (software quality assurance ) y, en definitiva, de la dificultad
de obtener Software seguro, fiable y de calidad
Planificación en el tiempo de los proyectos informáticos
Una vez determinada la voluntad de iniciar un proyecto informático, las etapas que
caracterizan la gestión son dos: la primera es la calificación inicial (estimación de costes y
planificación temporal) y la segunda es el desarrollo (seguimiento y control del proyecto,
tal vez acompañados de nuevas estimaciones y planificaciones) para llegar, de una
manera o de otra, con éxito o sin él, al final o cierre definitivo del proyecto. Una vez
conocida la amplia problemática de la estimación de costes, ahora planificaremos en el
tiempo las diferentes tareas o actividades de las que consta el proyecto. Cabe mencionar
que la planificación temporal de proyectos a partir de su descomposición en tareas (WBS)
y la estimación de la duración de cada una es un proceso suficientemente conocido y que
los proyectos informáticos de construcción de software comparten con muchos otros
proyectos de ingeniería. Por otra parte, como veremos, salvo una particular manera de
tener en cuenta los recursos (las personas que forman el equipo del proyecto), no se dan
diferencias esenciales con otros proyectos de ingeniería. Comenzamos con la exposición
breve y sintética de conceptos tradicionales de la planificación temporal de actividades
como la técnica del PERT y el método del camino crítico (CPM) y después analizamos el
caso general de la planificación temporal de proyectos informáticos.
La técnica del PERT y el método del camino crítico
El fundamento central de las técnicas del PERT es la representación gráfica del proyecto
en un diagrama que muestre las relaciones y, sobre todo, las precedencias entre las
tareas que constituyen el proyecto. Este diagrama, que algunos denominan diagrama
PERT, en el fondo no es más que un grafo de precedencias de actividades que a menudo
se llama red de actividades (activity network) o, también, diagrama de precedencias
A menudo, los dos métodos se pueden tratar conjuntamente, tal como haremos en esta
exposición simplificada. Conviene advertir que, aunque aquí se habla de tareas o
actividades indistintamente, a menudo la nomenclatura más habitual utiliza el término
actividades cuando se refiere a PERT, aunque actualmente la elección suele depender de
la manera como se haya traducido el concepto en la herramienta informática de la que
nos ayudamos a la hora de llevar a cabo la planificación de un proyecto. El conjunto de
las técnicas PERT y el método del camino crítico (CPM) proporcionan herramientas
cuantitativas que permiten determinar lo siguiente:
1. El camino crítico del proyecto, que es la secuencia o cadena de actividades que
determina la duración total del proyecto.
Analisis y Diseño I – APU 2008
Página 14
UNJu – Facultad de Ingeniería
APU 2008
2. Las estimaciones de tiempos más probables, tanto para la totalidad del proyecto
como para el inicio y el final de cada una de las tareas o actividades individuales.
3. Los márgenes de tiempo que se dan para cada tarea o actividad individual y que
no impliquen un retraso del proyecto.
Pongamos un ejemplo, que es la manera más clara de verlo. Para no tener que realizar
un diagrama complejo, imaginamos un pequeño proyecto del cual hemos efectuado una
descomposición en diez actividades, como las que se indican en la tabla siguiente
Actividades, duración y precedencia de un proyecto ficticio
Núm. Nombre de la Actividad
Duración estimada
1
Inicio
0
2
Establecer los requerimientos
3
3
Seleccionar los drivers
2
4
Realizar el diseño
4
5
Recoger los datos
2
6
Probar los drivers
6
7
Codificar
4
8
Elaborar la documentación
2
9
Probar el producto
4
10
Final
0
Precedencias
1
1
2
2y3
3
4
4
5, 6 y 7
Conviene, tal como se lleva a cabo aquí, incluir siempre las actividades de inicio y final,
puramente ficticias y con duración cero. La tabla nos ofrece para cada actividad un
nombre, una identificación numérica (de uno a diez), la duración estimada de la actividad
(en unidades arbitrarias; por ejemplo, en semanas) y las tareas que son inmediatamente
anteriores e imprescindibles para poder empezar cada actividad en concreto
(precedencias).Si se quiere, se puede imaginar que se trata de construir un sistema
informático determinado que utiliza datos que ya tenemos (recogidos en la actividad 5) y
que utiliza una serie de drivers diferentes (que se seleccionan en la actividad 3 y se
prueban en la actividad 6) para acceder a periféricos o a aquello que sea necesario. De
hecho, el proyecto en sí no es importante, ya que se trata de un ejemplo ficticio para
ilustrar el PERT y el CPM. Si se dispone de estos datos (actividades, duración estimada y
precedencias) se puede dibujar un grafo como el de la figura de la página siguiente. Como
se puede ver en el diagrama, las flechas marcan las relaciones de precedencia que
existen entre las actividades, mientras que los nudos son las actividades, de las cuales se
han recogido también una serie de datos: el número identificador, el nombre de la
actividad y la duración estimada (puesta entre paréntesis dentro del nudo).Sobre cada
nudo se ha añadido también la información que sale directamente de la explotación del
diagrama de precedencias: las semanas de inicio y final de cada actividad. Conviene
darse cuenta de que la actividad final tiene como precedentes todos los arcos pendientes
del diagrama.
Por ejemplo, la actividad 1 (inicio) empieza en la semana cero y, al tener una duración
nula, termina también en la semana cero. Pero la actividad 2 (establecer los
requerimientos) comienza en la semana cero (justo después de la actividad precedente,
inicio) y finaliza al final de la semana tres, ya que dura precisamente tres semanas. Del
mismo modo, la actividad 4 (realizar el diseño no puede iniciarse hasta que no termine la
precedente (la 2, establecer los requerimientos), es decir, no puede empezar hasta que
Analisis y Diseño I – APU 2008
Página 15
UNJu – Facultad de Ingeniería
APU 2008
no ha acabado la semana tres. Además, al durar cuatro semanas, no finalizará hasta el
final de la semana siete. Y así sucesivamente
En el caso de la actividad 9 (probar el producto) se dan tres precedentes directos: la
actividad 7 (codificar), que finaliza en la semana once; la actividad 5 (re-coger datos), que
finaliza en la semana cinco; y la actividad 6 (probar los drivers ), que finaliza en la semana
ocho. Evidentemente, como se debe esperar a que las tres hayan terminado, la actividad
9 (probar el producto) no puede empezar hasta que no haya acabado la actividad 7
(codificar) en la semana once, que es la que finaliza más tarde de todas. Una vez se ha
realizado el diagrama completo, se puede ver que el proyecto dura un total de quince
semanas. Y no sólo eso; el diagrama PERT, gracias al método del camino crítico, nos
permite saber algo de gran importancia para el futuro de la gestión del proyecto. Una
observación sencilla del diagrama nos muestra que las actividades 1 (inicio), 2 (establecer
los requerimientos), 4 (realizar el diseño), 7 (codificar), 9(probar el producto) y 10 (final) no
tienen ningún margen. Es decir, si alguna de estas actividades tardara más de lo que se
ha estimado, todo el proyecto se alargaría más de las quince semanas previstas.
En el diagrama, el camino crítico está marcado por flechas continuas. Por otra parte, el
diagrama PERT nos permite ver que existen actividades que no son tan decisivas en la vida del proyecto.
Por ejemplo, la actividad 6 (probar los drivers) tiene marcados un inicio y un final (2, 8). Es decir, se
Analisis y Diseño I – APU 2008
Página 16
UNJu – Facultad de Ingeniería
APU 2008
puede comenzar a efectuar una vez finalizada la segunda semana del proyecto (justo cuando
acabala actividad precedente 3, Seleccionar los drivers) y, si se cumplen las estimaciones de duración,
terminará al final de la semana ocho. Ahora bien, la actividad 9 (probar el producto), de la cual la 6
es precedente, tiene también como precedente la actividad 7 (codificar); y ello provoca que no
pueda empezar hasta que no haya finalizado la semana once y que la actividad 6 tenga un margen de
tres semanas (11−8=3), de manera que no será nada crítica. Es decir, si la actividad 6 (probar los
Drivers) tardara siete semanas en lugar de las seis semanas estimadas, el proyecto
duraría también quince semanas, ya que la actividad 6 no forma parte del camino crítico y,
como se ve en el diagrama, tiene un margen de tres semanas (podría empezar más tarde
o durar más de lo que se había estimado).Con vistas a la gestión de un proyecto es muy
importante saber qué actividades son críticas (es decir, qué actividades forman parte del
camino crítico) y cuáles no. Por otra parte, conviene remarcar que las actividades no
críticas disponen de un margen que permite que el planificador acomode mejor los
recursos y, sobre todo, que la buena gestión del proyecto pase por el control estricto de
las actividades que forman parte del camino crítico.
Evidentemente, las cosas son más complicadas en el caso de proyectos con
muchas más actividades. Pero, afortunadamente, en estos proyectos es fácil
poder disponer de una herramienta informatizada que, de manera automática, nos
da el camino crítico y con todas las ventajas que esto representa. Cabe mencionar
que en este ejemplo se ha utilizado lo que se llama una planificación Temprana, que sitúa
cada actividad lo antes posible y es el procedimiento habitual cuando se parte de la fecha
de inicio del proyecto y se quiere encontrar el momento en el que se finalizará. En otros
casos, generalmente cuando se parte del día en el que el proyecto debe estar acabado,
se utiliza un proceso contrario, a partir de la fecha de fin del proyecto, hecho que se
conoce como una planificación Tardia
Herramientas informatizadas para la planificación
Cuando se habla de herramientas informatizadas para la planificación. Ya hemos mencionado que
la parte de la planificación temporal de proyectos informáticos es prácticamente igual a la
planificación de cualquier otro proyecto de ingeniería. Esto provoca que las herramientas
informáticas disponibles, por el hecho de tener un mercado mucho más amplio, tengan un coste
más accesible y su uso se convierta en muy habitual. El problema que se plantea a menudo es
decidir cuál de las muchas herramientas disponibles en el mercado se debe escoger. Pero
se trata de un problema falso. Como la mayoría de las herramientas informáticas de
utilización muy extendida, los sistemas de ayuda a la planificación de proyectos (y
también, como veremos, al seguimiento y control) proponen una gran cantidad de
funcionalidades que en general no se utilizan. Lo mismo ocurre, por ejemplo, con los
procesadores de textos o las hojas de cálculo.
Ahora bien, actualmente, para la planificación de proyectos, las herramientas informáticas
más habituales en nuestro entorno geográfico se reducen al MS-PROJECT,
SUPERPROJECT, PLANER, PHP PROJEKT, GANTT PROJECT, MEMORANDA,
OPENPRO. Elegir una de las herramientas es en cierta manera inútil. Cuando una de las
herramientas ofrece una funcionalidad nueva no disponible en la otra, sólo se debe
esperar unos meses y la nueva versión de esta otra herramienta incorporará también la
misma funcionalidad. Además, cabe recordar que la mayoría de estas funcionalidades no
siempre se utilizan. Como ocurre con los procesadores de texto, a menudo es mejor lo
Analisis y Diseño I – APU 2008
Página 17
UNJu – Facultad de Ingeniería
APU 2008
que se utiliza desde hace más tiempo, ya que es lo más conocido y familiar. Una vez
explicado esto, debería quedar claro que si los ejemplos de este módulo se presentan en
MS-PROJECT es únicamente porque esta herramienta ha estado disponible, pero no
porque exista alguna preferencia que se pueda generalizar a otros usuarios. Lo que
importa de las herramientas informatizadas para la ayuda a la planificación de
proyectos es que todas ofrecen la posibilidad de mostrar el diagrama PERT (o red
de actividades) y marcar, además, el camino crítico de manera automática.
También ofrecen una gestión de recursos completa y un montón de diagramas y
listas (que aumentan día a día) que permiten incluso realizar una presentación
brillante y muy profesional de la planificación de un proyecto.
La planificación de un proyecto informático
En la planificación de un proyecto informático, además del diagrama PERT, se suele
utilizar una especie de diagrama temporal llamado diagrama de Gantt.
En el caso del proyecto ficticio que se ha utilizado para exponer el PERT y el CPM, el
diagrama de Gantt sería el que se muestra en la figura siguiente
En realidad, la mayoría de herramientas informatizadas de ayuda a la planificación utilizan
el diagrama de Gantt como marco de referencia para introducirlos datos de las diferentes
tareas o actividades que forman la WBS del proyecto. Previamente, sin embargo, debe
establecerse el calendario del proyecto para marcar las fechas que no son laborables o
cualquier incidencia laboral. Las herramientas informatizadas ofrecen también diagramas
basados en el calendario para marcar los días de inicio y final de cada tarea, aunque el
diagrama de Gantt es suficientemente completo en este aspecto. El resumen de lo que se
debe llevar a cabo para planificar un proyecto en el tiempo es el siguiente:
1. Establecer el calendario de días laborables de todo el proyecto y, si es necesario,
de cada persona del equipo (recurso).
2. Establecer la descomposición del proyecto en tareas (WBS).
3. Estimar la duración (o esfuerzo) de cada tarea o actividad.
4. Establecer las precedencias entre las tareas.
Analisis y Diseño I – APU 2008
Página 18
UNJu – Facultad de Ingeniería
APU 2008
Realizar el diagrama de Gantt o PERT (red de actividades), preferentemente con una herramienta
informatizada para la ayuda a la planificación de proyectos. Para finalizar, es importante saber
que, tal como se ha llevado a cabo con las actividades Inicio y Final, de duración nula,
conviene añadir siempre algunas actividades ficticias con duración nula como hitos de
control para establecer momentos concretos en los que es necesario recopilar los datos y
efectuar un balance de la gestión del proyecto. Cuando el proyecto dispone de fases y
etapas diferentes, añadir un hito de control al final de cada fase sería lo más correcto,
aunque muchas veces se ponen hitos temporales de control: uno cada dos semanas, uno
cada mes, etc., según la duración total del proyecto.
La consideración de los recursos: añadir nuevas precedencias
Conviene señalar que a la hora de establecer precedencias, las hay que son lógicas y las
hay que surgen, en el caso concreto de los proyectos informáticos, de la gestión de los
recursos. Por ejemplo, en el diagrama de Gantt de la figura anterior hemos imaginado que es posible
efectuar simultáneamente las tareas 2 (establecer los requerimientos) y 3 (seleccionar los drivers). Sin
embargo, si las dos las debe realizar la misma persona, este diagrama de Gantt nos dice que esta
persona tiene una jornada de dieciséis horas y no de ocho como es habitual. No parece, pues,
posible.
En el caso de los proyectos informáticos de construcción de software, los recursos son las personas,
los profesionales informáticos que forman el equipo del proyecto. Se ha de procurar que nadie deba
trabajar más de una jornada por culpa de una planificación incompleta que no ha tenido en cuenta los
recursos. De hecho, el diagrama de Gantt de la figura anterior sería realista si imaginamos
que disponemos de tres personas en el equipo del proyecto:
1. Una primera persona podría llevar a cabo las tareas 2 (establecer los
requerimientos), 4
2. (realizar el diseño), 7 (codificar) y 9 (probar el producto).
3. Un segundo miembro del equipo se podría encargar de las tareas 3 (seleccionar
los drivers ) y 6 (probar los drivers ) y, tal vez, participar también en la actividad 9
(probar el producto).
4. Para no tener problemas de jornada doble, una tercera persona del equipo debería
encargarse de las actividades 5 (recoger datos) y 8 (elaborar la documentación).La
figura siguiente muestra una modificación sencilla en el caso de que el equipo del
proyecto estuviera formado por dos miembros. Para evitar jornadas dobles de los
miembros del equipo, se han tenido que introducir nuevas precedencias: provocar
que la actividad 5 (recoger datos) dependa de la 6 (pro-bar los drivers) y, también,
que la actividad 8 (Elaborar la documentación) dependa de la 5 (recoger datos),
para conseguir que las realice la misma persona
Núm.
1
2
3
4
5
Actividades, duración y precedencia de un proyecto ficticio
Nombre de la Actividad
Duración estimada
Precedencias
Inicio
0
Establecer los requerimientos
3
1
Seleccionar los drivers
2
1
Realizar el diseño
4
2
2, 3 y 6
Recoger los datos
2
Analisis y Diseño I – APU 2008
A
B
A
B
Página 19
UNJu – Facultad de Ingeniería
6
7
8
9
10
Probar los drivers
Codificar
Elaborar la documentación
Probar el producto
Final
APU 2008
6
4
2
4
0
3
4
4y5
5, 6 y 7
B
A
B
A
La tabla muestra, en negrita, las precedencias adicionales introducidas para evitar la
jornada doble de un miembro del equipo. También indica el recurso (la persona miembro
del equipo) que realizará cada actividad
Cabe decir que, aunque en este ejemplo no ha ocurrido, estas precedencias adicionales
suelen cambiar a menudo el camino crítico e incluso la duración global del proyecto. De
hecho, a la hora de planificar un proyecto se juega con los recursos disponibles (teniendo
en cuenta el coste) y las precedencias de actividades hasta que se encuentra un
resultado aceptable.
Una vez terminada la planificación, finaliza la calificación y ya se dispone de los
objetivos del proyecto informático: un primer boceto de las funcio nalidades,
los plazos de todo el proyecto y de cada actividad de la WBS y el presupuesto,
obtenido básicamente del precio por hora de cada uno de los profesionales que
forman parte del equipo del proyecto y del número de horas de trabajo que les han
sido asignadas.
Seguimiento y control de un proyecto informático
Una vez iniciado el proyecto informático, la tarea de gestión consiste en conseguir que las
previsiones se cumplan y, en caso de que no sea así, poder detectar lo antes posible las
desviaciones que se deben producir para poder encontrarles una solución. Para conseguir
Analisis y Diseño I – APU 2008
Página 20
UNJu – Facultad de Ingeniería
APU 2008
todo esto, es imprescindible comparar periódicamente la realidad del desarrollo del
proyecto con la previsión disponible, ya sea la inicial o cualquiera de las nuevas
previsiones que se hayan debido realizar al detectar errores en la estimación o la
planificación iniciales. El objetivo declarado del proyecto es alcanzar unas funcionalidades
en unos plazos determinados y habiéndolas presupuestado. La actividad de seguimiento y
control del proyecto debe conseguir detectar los problemas con la máxima antelación
posible para poder reajustar la estimación y la planificación y, en definitiva, cambiar el
proyecto modificando los objetivos.
El seguimiento pretende una anticipación, no una constatación. Con el seguimiento de un
proyecto informático no se trata de constatar si en un momento determinado del proyecto
se llevan dos meses de retraso, porque entonces ya sería demasiado tarde. Lo que
importa es poder decir, por ejemplo, que “aunque actualmente vamos suficientemente
bien, si continuamos así de aquí a tres meses se podrá constatar un mes de retraso en el
desarrollo del proyecto”. Sólo con una previsión anticipada de este tipo se pueden tomar
las decisiones adecuadas para tratar de salvar las previsiones del proyecto.
En los hitos de control introducidos en la planificación (bien sea al final de fases o etapas
de proyecto, o bien de manera periódica) es cuando debemos plantearnos, entre otras
cosas, lo siguiente:
1. Si conviene rehacer la descomposición del proyecto en tareas (WBS) o no,
posiblemente con la intención de incluir algunas no previstas en el momento inicial,
pero que son totalmente necesarias e imprescindibles a medida que avanza el
proyecto
2. Si conviene volver a efectuar la estimación del esfuerzo o no, en caso de
que se constate que la productividad que se obtiene es diferente de la
prevista.
3. Si conviene cambiar algunos de los objetivos del proyecto o no, para tratar
de mantener los otros.
4. Si conviene llevar a cabo una nueva calificación del proyecto o no, para
tener en cuenta los datos de nuevas tareas o de una productividad diferente de la
prevista que la realidad nos aporte.
Como se dice en otro módulo, los problemas de una deficiente calificación inicial se
intentan “resolver” demasiadas veces de puertas afuera, haciendo todo lo posible para
cumplir con los plazos y el presupuesto a fuerza de reducir las funcionalidades del
proyecto, sobre todo las funcionalidades de calidad. Ésta es, evidentemente, una solución
totalmente falsa que simplemente aplaza los problemas hasta la fase de mantenimiento,
al mismo tiempo que consigue a menudo que los problemas se conviertan en mucho más
graves y que tengan una solución mucho más difícil.
Las hojas de actividad y el informe de situación
Para poder llevar a cabo una comparación correcta entre la realidad y la previsión, es
necesario “saber cómo va” el proyecto y, con esta finalidad, se deben recoger datos de su
desarrollo. Con estos datos del seguimiento será posible tener elementos para tomar
decisiones de cambio de los objetivos del proyecto y, en definitiva, controlar el desarrollo.
La práctica habitual es recoger estos datos del seguimiento en unas hojas de actividad.
Analisis y Diseño I – APU 2008
Página 21
UNJu – Facultad de Ingeniería
APU 2008
Conviene recoger de manera individual por cada tarea y cada persona involucrada estos
datos de seguimiento, a partir de los cuales el jefe de proyecto debe elaborar los datos
globales que permiten construir un informe de situación del proyecto. Este informe se
suele llevar a cabo para cada uno de los hitos de control establecidos
Cuando una tarea finaliza, el jefe de proyecto puede saber el esfuerzo real que ha
supuesto realizarla y lo puede comparar con el esfuerzo previsto, para ver si las
estimaciones de productividad eran optimistas, pesimistas o realistas. El hecho de
disponer de esta productividad real es precisamente lo que debe permitir anticipar los
problemas. Con los datos reales obtenidos de la hoja de actividad, el jefe de proyecto
realiza el seguimiento, a menudo mediante herramientas informatizadas que permiten,
para cada actividad del proyecto, introducir las fechas reales del trabajo acabado o el
porcentaje del trabajo hecho en cada momento. Estas herramientas ofrecen también una
gran cantidad de listas y gráficos que, una vez escogidos los que son útiles, ayudan a las
tareas de seguimiento y control del proyecto
La ley de Brooks
La Ley de Brooks es un principio utilizado en el desarrollo de software que afirma
que "añadir más efectivos a un proyecto de software en retraso, lo retrasará más"
Según el propio libro de Brooks, la ley es una "frívola sobre simplificación", pero se hace
eco de la idea. Brooks destaca dos factores principales que explican el porqué de la ley:
1. Nuevas personas en un proyecto necesitan tiempo para ser productivos. Brooks
denomina este lapso el tiempo de rampa de subida ("ramp up time"). Los
proyectos de software son complejos esfuerzos de ingeniería, y a los nuevos
trabajadores en el proyecto hay que enseñarles primero sobre el trabajo que se
realizó anteriormente; esta formación requiere tiempo entre aquellos que ya
estaban trabajando en el proyecto, disminuyendo su productividad de forma
temporal hasta que los nuevos trabajadores tengan una contribución neta. Cada
nuevo trabajador también tiene que integrarse en un equipo compuesto por
numerosos ingenieros, que han de ayudar en la formación en sus áreas de
conocimiento, día a día. Además, es posible que los nuevos miembros del
proyecto de por sí tengan una productividad incluso negativa; por ejemplo, si
introducen errores en el software por desconocimiento.
2. Aumento de los costes generales (en tiempo) a medida que aumenta el tamaño del
proyecto. El número de canales de comunicación diferentes aumenta con el
número de personas de forma exponencial; si se dobla el número de personas en
el proyecto, el resultado es 4 veces más conversaciones. Todos aquellos que
trabajan en un tema necesitan estar sincronizados entre ellos, de forma que si
crece el número de personas, también crecerá el tiempo invertido en tratar de
averiguar lo que hace el resto.
Excepciones y posibles soluciones
Analisis y Diseño I – APU 2008
Página 22
UNJu – Facultad de Ingeniería
APU 2008
La ley de Brooks se cita a menudo para justificar que los proyectos no se terminan a
tiempo, a pesar de los esfuerzos gestores. Sin embargo, hay algunos puntos clave de la
ley de Brooks que permiten excepciones y abren la puerta a posibles soluciones.
El primer punto es que la ley de Brooks se suele aplicar a proyectos que tienen retraso.
Se puede volver a controlar (o mantener bajo control) si se refuerza el equipo en fases
previas. También es importante determinar si un proyecto se encuentra realmente en
retraso o si las estimaciones iniciales fueron demasiado optimistas, algo frecuente.
Corregir la planificación es la mejor manera de disponer de una ventana de tiempo fiable y
útil para finalizar el proyecto. La cantidad, calidad y papel de la gente que se incorpora al
proyecto son factores a tener en cuenta. Una vía simple de evitar la ley en un proyecto en
retraso es añadir más gente de la necesaria, de forma que la capacidad extra compensa
el overhead en comunicación y formación. Los buenos programadores o especialistas se
pueden incorporar con menos necesidad de tiempo para su formación. También se puede
incorporar personal para realizar otras tareas relacionadas con el proyecto, por ejemplo
documentación o garantía de calidad en caso de que la tarea esté disponible, así se
disminuye el tiempo de la rampa de subida. Una buena labor de gestión y desarrollo
también ayuda a reducir el impacto de la ley de Brooks. Las prácticas modernas de
integración continua, desarrollo guiado por pruebas, y desarrollo iterativo reducen
significativamente el overhead de comunicación entre los desarrolladores, permitiendo
mejor escalabilidad. También nuevas herramientas para el desarrollo de software y su
documentación son de ayuda a minimizar el tiempo de rampa de subida, haciendo más
sencilla la incorporación al proyecto. Los patrones de diseño simplifican la distribución del
trabajo, dado que el equipo completo puede realizar el trabajo dentro del patrón que se le
asignó. Los patrones de diseño definen las reglas que han de seguir los programadores,
simplifica la comunicación por medio del uso de un lenguaje estándar y proporciona
consistencia y escalabilidad. Finalmente, una buena segmentación ayuda minimizando el
overhead entre los miembros del proyecto. Los problemas menores se resuelven en
equipos pequeños y un equipo superior es responsable de la integración del sistema.
Para poder trabajar así es necesario segmentar el problema de forma correcta; en caso
contrario, puede empeorar el problema, impidiendo la comunicación entre los
programadores que trabajan en diferentes partes del problema que están directamente
relacionados, aunque el plan del proyecto afirme que no los están. Algunos autores
véase, por ejemplo, Creating a Software Engineering Culture de Karl E. Wiegers – han
recalcado la importancia de los aspectos sociales y políticos del clima de trabajo como
determinantes de la efectividad de los programadores individuales y del equipo del
proyecto como un todo. En lugar de depender de "héroes" para llevar a cabo la tarea con
esfuerzos extraordinarios, Wiegers afirma que un equipo de individuales de cualidades
ordinarias pueden proveer resultados a tiempo de forma periódica con el ambiente de
trabajo correcto. Los esfuerzos para mejorar la efectividad de los equipos puede mitigar
sino eliminar, las consecuencias de la ley de Brooks.
Una teoría que proviene de la experiencia del autor de la obra The Mythical Man-Month
(1975) como director del proceso de construcción del sistema operativo de IBM 360. Es
necesario entender esta advertencia en el sentido de que no se pueden intercambiar
hombres y meses. Y también se debe entender que la ley no es algo matemático, sino
sólo una advertencia para los que todavía no han captado el mito del hombre-mes.
Analisis y Diseño I – APU 2008
Página 23
UNJu – Facultad de Ingeniería
APU 2008
En cualquier proyecto (pensemos, por ejemplo, en la construcción de una casa), cuando
éste va retrasado, una solución para mantener los plazos, aun que pueda costar más
dinero, es añadir personal (por ejemplo, más albañiles en el caso de la construcción de
una casa).La ley de Brooks que acabamos de ver nos advierte de que no sucede lo
mismo en los proyectos informáticos y que, en un proyecto informático el reparto de los
esfuerzos en el tiempo no puede ser cualquiera, sino que tiene una forma fijada por la
curva de Rayleigh/Norden. Posiblemente, Brooks fue el primero en constatar que en un
proyecto informático que iba retrasado, el hecho de añadir personal creó más problemas
de los que resolvió, aunque, evidentemente, esto no debe ocurrir siempre
La explicación tradicional del fenómeno es que en un proyecto informático se crean unos
circuitos internos de comunicación para comprender qué se realiza. Entre los trabajos que
se deben efectuar se encuentra el de comunicar a otros miembros del equipo aquello que
uno ha decidido y que condiciona el trabajo del resto. El hecho de añadir personal nuevo
a mitad de proyecto o cuando ya se está acabando provoca que haya personas nuevas
que no conocen qué se realiza y que, además, crean necesidades adicionales de
comunicación que pueden consumir incluso una parte de los recursos que ya existen,
simplemente porque los miembros “viejos” del equipo de proyecto han de explicar a los
“nuevos” qué se lleva a cabo y cómo se realiza. Según Brooks, estas necesidades
adicionales de comunicación pueden provocar incluso que con más personas se tarde
más tiempo
Aseguramiento de la calidad en un proyecto informático
Desgraciadamente, la calidad del software construido no es siempre la deseable. Hemos
visto algunas de las razones que pueden ser la causa, aun así debemos evitar que ello
ocurra. Han transcurrido ya un par de décadas desde que se comenzó a hablar
explícitamente de aseguramiento de la calidad del software
Terminología confusa Con respecto al término aseguramiento de la calidad del software (
software quality assurance), a veces se ha traducido del inglés como garantía de calidad
del software , aunque diferentes autores se oponen porque crea confusión con el
concepto, mucho más tradicional, de garantía de los productos (no debemos olvidar que
un software es un producto que se vende y que, como tal, puede tener una garantía).
Ya en 1977, Mc Call estableció algunos factores para analizar la calidad del
software y, desde entonces, el procedimiento habitual ha sido elaborar listas de
control complejas y detalladas para revisar todo el proceso de construcción del
software. Actualmente, el aseguramiento de calidad de software consiste en introducir
unos procedimientos y unas metodologías de construcción que tratan de garantizar, a
priori, que el proceso es correcto y seguro, y que el mismo proceso de construcción pueda
garantizar también, en cierta manera, que el producto que se obtiene es un software de la
mejor calidad. En general, la calidad del software necesita que exista un acuerdo total
entre los requerimientos (tanto funcionales como de rendimiento) y el software final. Esto
implica la utilización de estándares de desarrollo documentados explícitamente y de
procedimientos concretos de gestión de todo el proceso de construcción de software
Analisis y Diseño I – APU 2008
Página 24
UNJu – Facultad de Ingeniería
APU 2008
El tratamiento del aseguramiento de la calidad se centra tradicionalmente en las
inspecciones y revisiones formales, junto con las llamadas reuniones de repaso. Uno de
los objetivos fundamentales es, evidentemente, obtener la característica implícita de la
fiabilidad y, sobre todo, un mantenimiento fácil del producto obtenido, teniendo en cuenta
la larga duración de la etapa de mantenimiento en el ciclo de vida del software
La ISO es la organización internacional encargada de crear todo tipo de
estándares. En concreto, los estándares de calidad forman parte de la norma ISO
9000, que describe los elementos que debe tener un sistema de aseguramiento de
la calidad con el fin de que se puedan aplicar a cualquier negocio o actividad. La
ISO 9001 es el estándar de aseguramiento de la calidad que se aplica a la ingeniería del
Software y expone hasta veinte exigencias que debe cumplir un buen sistema de calidad.
Recientemente, la nueva versión de la norma ISO9000-3, que data de 1996, quiere
proporcionar una guía y una ayuda con vistas a la aplicación de las exigencias de la ISO
9001 en el caso de una industria de fabricación y/o venta de software
Resumen
La planificación temporal de un proyecto informático arranca de la descomposición en
tareas del proyecto (WBS), la estimación del esfuerzo de cada una y las precedencias
entre las tareas o actividades. Esta información se dispone en un diagrama PERT (o red
de actividades) y se obtiene así el camino crítico formado por la cadena de actividades
problemáticas que no tienen margen de tiempo y que determinan la duración global del
proyecto. En el caso de los proyectos informáticos, además de las precedencias lógicas,
es necesario añadir nuevas precedencias entre actividades para conseguir un buen uso
de los recursos, es decir, de los profesionales que forman el equipo de proyecto y evitar
que se produzcan casos de jornada doble. A menudo, las herramientas informáticas para
planificar y llevar a cabo el seguimiento de proyectos ofrecen diferentes diagramas (de
Gantt, PERT, de calendario, etc.) y una variedad amplia de listas. El seguimiento y el
control del proyecto se realizan comparando los datos reales (obtenidos de las hojas de
actividad en las que cada miembro del equipo del proyecto detalla el tiempo que ha
dedicado a cada tarea) con los datos previstos en la planificación vigente. Si existen
nuevos datos sobre productividad o deben llevarse a cabo tareas no previstas antes,
puede ser necesario efectuar una nueva calificación del proyecto (estimación de costes y
planificación) y revisar los objetivos: las funcionalidades, los plazos y el presupuesto. La
ley de Brooks intenta evitar la incomprensión sobre el mito del hombre -mes y
afirma que añadir más personal a un proyecto retrasado no siempre mejora las
cosas. El aseguramiento de la calidad del software es el conjunto de actividades de
gestión y organización que permite garantizar que el proceso de construcción del software
es seguro y fiable y, por lo tanto, que el software obtenido también será de calidad.
Existen estándares internacionales sobre el aseguramiento de la calidad en el campo de
la ingeniería del software, en concreto la ISO 9001 y la ISO 9000-3.
Analisis y Diseño I – APU 2008
Página 25
Descargar