Caso: Direccin de un Proyecto
Del libro Desarrollo y gestin de Proyectos Informticos, Steve McConnel, Mc Graw Hill (Se sugiere fuertemente comprar el libro)
Mike, un responsable tcnico de Giga Safe, estaba comiendo en su oficina y mirando por la ventana una brillante maana de abril. Felicidades! Mike ya tienes los fondos para el programa Giga-Quote! Era Bill, el jefe de Mike en Giga, una compaa de seguros mdicos. Al comit ejecutivo le ha gustado la idea de automatizar nuestras cuotas de seguro mdico. Y tambin la idea de volcar cada noche las cuotas del da en la oficina principal para que siempre tengamos al da los ltimos valores de ventas. Ahora tengo una reunin, pero podemos discutir los detalles ms adelante. Buen trabajo! Mike escribi la propuesta para el programa Giga-Quote meses antes, pero estaba pensada como un programa para un solo PC, sin ninguna capacidad de comunicacin con la oficina principal. Perfecto, sta era la oportunidad de dirigir un proyecto cliente-servidor en un moderno entorno GUI (interfaces grficas de usuario), lo que siempre haba querido hacer. El proyecto llevara al menos un ao, y lo ocupara a tiempo completo. Mike descolg el telfono y marc el nmero de su esposa. Cario, esta noche cenaremos fuera para celebrarlo A la maana siguiente, Mike qued con Bill para discutir el proyecto, Vamos a ver, Bill. Que pasa? Esto no se parece a la propuesta en la que he trabajado . Bill se sinti inseguro. Mike no haba participado en las revisiones de la propuesta, pero no hubo tiempo de avisarle. Cuando el comit ejecutivo estudi el programa Giga-Quote, tomaron los mandos. Al comit ejecutivo le gust la idea de construir software para automatizar las cuotas de seguros mdicos. Pero queran que se pudieran transferir automticamente las cuotas locales al computador central. Queran tener hecho el sistema antes de que se hagan efectivas las nuevas cuotas del 1 de enero. Adelantaron la fecha de finalizacin del software que propusisteis del 1 de marzo al 1 de noviembre, con lo que se acort el plan propuesto a seis meses. Mike haba estimado que el trabajo llevara 12 meses. No crey que tuviera la suerte de acabar en 6 meses, y as se lo dijo a Bill. Vamos a ver si me he enterado, dijo Mike. Parece que ests dicindome que el comit aadi requisitos de comunicaciones a gran comunicaciones a gran escala y ha acortado el plan de 12 a 6 meses Bill se encogi de hombros. S que ser un reto, pero tu eres creativo y creo que puedes con todo. Han aprobado el presupuesto que queras, y aadir el enlace de comunicaciones no debe ser difcil. Pedisteis 36 personas mes y las tienes. Puedes reclutar, a quien quiera que necesites para el proyecto e incrementar el tamao del equipo Bill le dijo que hablase con algn otro desarrollador y buscasen la forma de entregar el software a tiempo. Mike se reuni con CarI, otro responsable tcnico, y buscaron la forma de acortar el plan. Por qu no usas C++ y diseo orientado a objetos?-, coment Carl. Sers ms productivo que con C, y el plan se acortar en uno o dos mese. A Mike le pareci bien. Carl tambin conoca una herramienta de elaboracin de informes que supuestamente acortaba el tiempo de desarrollo a la mitad. El proyecto tena bastantes informes, y por tanto esos dos cambios los llevaran hasta los 9 meses. Consiguieron hardware nuevo y ms rpido, y esto les ahorraba un
par de semanas. Si realmente poda reclutar a desarrolladores de primersima categora, podra bajar a 7 meses- Esto era suficientemente ajustado. Mike coment sus progresos a Bill. Mira, dijo Bill, dejar el plan en 7 meses est bien, pero no es suficiente. El comit dej claro que el plazo de entrega eran de 6 meses. No me dieron opcin. Puedo daros el hardware que necesitis, pero t y tu equipo tenis que encontrar una forma de reducir el plan a 6 meses, o tendris que hacer algunas horas extra para palia diferencia. Mike se plante el hecho de que su estimacin inicial slo fue una aproximacin y pens que quizs podra bajarla a 6 meses. De acuerdo, Bill buscare un par de personas externas espabiladas para el proyecto. Quizs pueda encontrar gente con experiencia en comunicaciones para que nos ayude en la descarga de datos desde el PC al mainframe El 1 de Mayo Mike haba formado el equipo, Jill Sue y Tomas eran buenos desarrolladores de la casa, y fueron liberados. Complet el equipo con Keiko y Chip, dos contratados externos. Keiko tena experiencia tanto en PC como en los mainframe que tena que conectarse, Jill y Tomas haban entrevistado. a Chip y no queran contratarlo, pero Mike lo impuso. Tena experiencia en comunicaciones y estaba disponible, as que Mike lo contrat. En la primera reunin del equipo, Bill dijo que el programa Giga-Quote era estratgicamente importante para Giga Safe Corporation. Algunos de los magnates de la compaa estaran pendientes de ellos. Si tenan xito seran recompensados. Dijo que estaba seguro de que lo conseguiran. Despus de lo nimos infundidos por el discurso de Bill, Mike se sent con el equipo y mostr el plan. El comit ejecutivo les haba proporcionado una especificacin aproximada, y emplearon las siguientes 2 semanas en completar las lagunas. Despus se emplearan 6 semanas en el diseo, lo que dejaba 4 meses para la construccin y la prueba. Su estimacin aproximada fue que el producto final tendra unas 30.000 lneas en C++. Todos los asistentes asintieron, dando su conformidad. Era ambicioso, pero lo saban cuando se comprometieron con el proyecto. A la semana siguiente, Mike se reuni con Stacy, la responsable de la prueba. Indico que debera tener partes del producto terminadas para probarlas no despus de el 1 de septiembre, con el propsito de tener un producto con las funciones el 1 de Octubre Mike estaba de acuerdo. El equipo acab la especificacin de los requerimientos rpidamente, y se meti en el diseo. Obtuvieron un diseo que pareca hacer buen uso de las prestaciones de C++ Acabaron el diseo el 15 de Junio, adelantndose al plan, y comenzaron a codificar como locos para llegar al objetivo de tener la primera versin de prueba el 1 de septiembre El trabajo en el proyecto no era una balsa de aceite. Ni a Jill ni a Tomas les gustaba Chip, y Sue se quejaba de que no quera que nadie se acercase a su cdigo. Mike atribuy los choques de personalidades a las muchas horas de trabajo. No obstante, a primeros de agosto, le indicaron que estaba hecho entre el 8 5 y 90 por 1 00. A mitad de agosto, el departamento actuarial dio las tasas para el ao siguiente, el equipo descubri que tena que modificar completamente la estructura para las nuevas tasas. El nuevo mtodo de tasacin necesitaba realizar preguntas sobre hbitos de ejercicio, en la bebida, en la comida, actividades de ocio y otros factores que no se haban incluido antes en las formas de tasacin. Pensaron que C++ deba protegerlos de los efectos de esos cambios. calcularon que solo tendran que incluir nuevos valores en las tablas de tasas. Pero tendran que cambiar el dilogo de entrada, el diseo de las bases de datos, el acceso a las bases de datos y los objetos de comunicaciones para adaptarlos a la nueva estructura. Como el equipo estaba resuelto porque tena que reajustar su diseo, Mike dijo a Stacy que se retrasaran unos das en la entrega para la primera versin para la prueba.
El equipo no haba terminado para el 1 de septiembre, y Mike asegur a Stacy que acabaran en slo uno o dos das. Los das se volvieron semanas. El lmite del 1 de Octubre para entregar el producto completo para su prueba lleg y fue rebasado. Desarrollo an no haba acabado el primer producto para prueba. Stacy llam a Bill a una reunin para tratar el plan. An no tenemos nada de desarrollo, dijo, suponamos que tendramos la primera versin el 1 de septiembre, y puesto que an no tenemos nada, por lo menos nos retrasaremos un mes respecto al plan original. Creo que tenemos un problema. Es cierto, tenemos un problema, dijo Bill Djame que hable con el equipo He prometido a 600 agentes que tendramos el programa el 1 de noviembre Lo entregaremos a tiempo para el cambio de tasas Bill convoc una reunin con el equipo- Este es un equipo fantstico, y debera cumplir con sus compromisos, les dijo- No s que es lo que ha ido mal, pero espero que todos trabajis duro y entreguis el software a tiempo. An podis conseguir las bonificaciones, pero ahora tendris que luchar por ellas. Desde ahora os asignar un horario de 6 das por semana, 10 horas al da, hasta que el software este hecho Despus de la reunin, Jill y Tomas se quejaron a Mike de que no haba necesidad de que los tratasen como nios, pero accedieron a trabajar las horas que Bill quera. El equipo retras el plan 2 semanas, prometiendo tener la utilidad completa construida el 1 5 de noviembre- Esto dejaba 6 semanas para la prueba antes de que entrasen en vigor las nuevas tasaciones de enero. El equipo entreg su primera versin al grupo de pruebas cuatro semanas despus del 1 de noviembre, y se reuni para trabajar algunas de las reas problemticas que quedaban. Tomas estaba trabajando en la generacin de informes y se encontr con una barrera.La pgina resumen de cuotas incluye un grfico de barras. He utilizado un generador de informes que se supona generaba grficos de barras, pero la nica forma de generarlos es en pginas individuales. Uno de los requerimientos del grupo de ventas es que, hay que poner grficos de barras y texto en la misma pgina, He pensado puede trampear un informe con grfico de barras pasando el texto de informe como una leyenda del objeto grfico de barras. Realmente es una trampa, pero siempre puedo volver atrs y reimplementarlo ms claramente despus de la primera versin. Mike respondi: No veo donde est el problema. Tenemos que acabar el producto y no hay tiempo de hacer un cdigo perfecto. Bill a dejado bien claro que no podemos tener ms fallos. Usa ese truco Chip coment que su cdigo de comunicaciones estaba hecho al 95 por 100 y que funcionaba, pero que an tena que hacer algunas pruebas de ejecucin- Mike vio que Jill y Tomas se miraban, pero decidi ignorarlo. El equipo trabaj duro hasta el 15 de noviembre, incluyendo las noches de] 14 y 15 de noviembre, pero no pudieron hacer que la fecha de entrega fuese el 15 de noviembre. El equipo estaba exhausto, pero la maana del dieciseisavo da, fue Bill quin se sinti deprimido. Stacy le haba avisado de que desarrollo no haba entregado la versin completa el da anterior. La ltima semana le haba dicho al comit ejecutivo que el proyecto estaba encarrilado. Otra gestora de proyectos, Claire, haba investigado en los progresos del equipo, diciendo que haba odo que no estaban cumpliendo las entregas planificadas con el equipo de prueba, Bill pens
que Claire estaba tensa y no le gustaba su informe Le haba asegurada a ella que su equipo estaba en buen camino para cumplir las entregas planeadas. Bill dijo a Mike que reuniese al equipo, y cuando lo hizo, parecan derrotados Un mes y medio a 60 horas semanales haban sido la puntilla. Mike pregunt cuanto tiempo les llevara acabar, pero su nica respuesta fue el silencio- Que me estis diciendo'7, dijo. Hoy bamos a tener lista la versin con todas las funciones La tenemos? Mira, Mike, dijo Tomas, puedo entregar hoy mi cdigo y decir que incluye toda la funcionalidad", pero probablemente necesitar 3 semanas de trabajo de limpieza una vez que lo entregue- Mike pregunt que quera decir Tomas con limpieza. No he puesto el logotipo de la empresa en cada pgina, t que el nombre y el telfono del agente aparezca al pie de pgina. Son pequeas cosas como esas. Todo lo Importante funciona bien, he terminado el 99/o. Yo tampoco he hecho exactamente el 100 %, admiti Jill. MI antiguo grupo me ha llamado para que le diese apoyo tcnico, y he tenido que emplear un par de horas diarias con ellos. Adems, haba olvidado hasta ahora mismo que los agentes pedan poner su nombre y telfono en los informes. An no he implementado los dilogos de entrada para esos datos, y tambin tengo que hacer algunos dilogos de mantenimiento. No crea que fuesen necesarios para el hito de "Utilidad completa". Mike tambin empezaba a sentirse mal. Si he odo lo que creo que he odo, me estis diciendo que necesitas 3 semanas para completar el software, es correcto? Al menos tres semanas dijo Jill. El resto de los desarrolladores estuvo de acuerdo. Mike paso uno por uno y les pregunt si podran completar su parte en 3 semanas. Uno por uno cada programador respondi que trabajara duro y que pensaban podran hacerlo. Al final de ese da despus de una discusin larga e incmoda, Mike y Bill acordaron retrasar el plan 3 semanas, hasta el 5 de Diciembre, siempre que el equipo prometiera trabajar 12 horas diarias en vez de la 10. Bill dijo que tena que demostrarle a su jefe que estaba azuzando al equipo de desarrollo- La revisin del plan implicaba que tendran que probar el cdigo y preparar al personal al mismo tiempo, pero era esta la nica posibilidad, para entregar el primero de enero. Stacy se quej que el tiempo asignado a control de calidad no era suficiente, pero Bill no hizo caso. El 5 de diciembre el equipo Criga-Quote entreg el programa Gga-Quote completo al grupo de pruebas antes del medioda, y salieron pronto del trabajo para tener su largamente esperado descanso, Haban trabajado casi constantemente desde el 1 de septiembre. Dos das ms tarde, Stacy dio la primera lista de errores, y se desat el infierno. En dos das el grupo de pruebas identific ms de 200 defectos en el programa Giga-Quote, incluyendo 23 clasificados como de severidad 1 <Tienen que corregirse) No veo la forma de que el software est listo para entregarlo a los agentes locales antes del 1 de enero, dijo. Probablemente el grupo de pruebas necesite ese tiempo para escribir los plazos de prueba de los defectos que ya ha descubierto, y est descubriendo defectos cada hora. Mike convoc una reunin de personal a las 8 en punto de la maana siguiente. Los desarrolladores estaban quisquillosos, Decan que haban unos cuantos errores serios, pero la mayora de los errores indicados no eran realmente errores, sino malas interpretaciones de cmo se supona que tena que funcionar el programa. Tomas indic que el error #143 era un
ejemplo de eso, El informe del error #143 dice que en la pgina resumen de la cuota, el grfico de barras tiene que estar en la derecha de la pgina en vez de la izquierda. Esto no es un error de severidad 1. Es la tpica forma en que los comprobadores sobrestiman un problema. Mike distribuy copias de los informes de errores. Encarg a los desarrolladores que revisasen los errores que el grupo de pruebas les haba asignado y estimasen cunto tiempo, les llevara corregir cada uno de ellos. Cuando el equipo se reuni de nuevo por la tarde, las noticias no eran buenas. Siendo realista, estimo que necesito dos semanas completas de trabajo para corregir los errores que ya nos han pasado, dijo Sue. adems tengo que acabar las comprobaciones de integridad referencial de la base de datos. En total, necesito 4 semanas a partir de hoy. Tomas haba devuelto el error # 143 a los comprobadores, cambiando su severidad de 1 a 3 Cambio esttico). El grupo de pruebas respondi que los informes resumen de Giga-Quote, tenan que coincidir con informes similares generados por el programa instalado en el mainframe para polticas de renovacin, que era similar a los formatos de marketing preimpreosos que la compaa haba usado durante muchos aos. Los 600 agentes de la compaa estaban acostumbrados a ver sus valores de ventas en grficos de barras a la derecha. El error se qued con un nivel 1, y supuso un problema. Recuerdas la trampa que utilic para que se pudiesen imprimir en la misma pgina el grfico de barras y el informe>, pregunt Tomas. Para poner el grfico a la derecha, tengo que reescribir ese informe concreto desde el principio, lo que significa que tengo que escribir mi propio cdigo a bajo nivel para dar formato al informe y al grfico. Mike tembl, y pidi una estimacin aproximada de cunto tiempo necesitaba-- Tomas dijo que por lo menos 10 das, pero tendra que verlo ms despacio antes de estar seguro. Antes de volver a casa, Mike dijo a Stacy y Bill que el equipo trabajara incluso los das de fiesta y que todos los errores encontrados se corregiran para el 7 de enero Bill dijo que se lo esperaba y que haba aprobado un retraso en el plan de 4 semanas antes de irse a un crucero de un mes por el Caribe que tena planeado desde el pasado verano. El mes siguiente Mike estuvo ocupado manteniendo al grupo unido. Durante 4 meses haban trabajado todo lo duro que se poda trabajar, y no crea que pudiesen hacer ms. Estaban en la oficina 12 horas al da, pero empleaban mucho tiempo leyendo revistas, pagando facturas y hablando por telfono, Pareca que se irritaban siempre que les preguntaba cunto les quedaba para reducir la cuenta de errores. Por cada error que se correga, el grupo de pruebas descubra 2 nuevos. Errores cuya correccin deba haber llevado 2 minutos tenan implicaciones en el proyecto completo y podan llevar das. Pronto calcularon que no haba forma de que pudiera corregir todos los defectos para el 7 de enero. El 7 de enero BUI volvi de sus vacaciones, y Mike le dijo que el equipo de desarrollo an necesitaba 4 semanas ms. Esto es serio, dijo Bill, tengo 600 agentes locales que estn hartos de dar vueltas alrededor de un puado de aprendices de informticos. El comit ejecutivo est hablando de cancelar el proyecto. Tienes que encontrar una forma de entregar el software en las prximas dos semanas, sea como sea.
Mike convoc una reunin del equipo para estudiar sus opciones. Les comunic el ultimtum de Bill y les pidi una estimacin aproximada de cundo entregaran el producto, primero en semanas, luego en meses - El equipo se call. Ninguno se arriesgaba, acerca de cundo podran entregar finalmente el producto. Mike no saba que decirle a Bill. Tras la reunin, Chip dijo a Mike que haba aceptado un contrato de otra compaa y que empezaba el 3 de febrero. Mike comenz a sentir que sera un alivio que se cancelara el proyecto. Mike busc a Kip, el programador que haba sido responsable del apartado de comunicaciones entre el PC y el mainframe, reasignado de apoyo al proyecto, y lo dedic a corregir los errores en el cdigo de comunicaciones del PC. Despus de luchar una semana con el cdigo de Chip, Kip concluy que tena algunos defectos conceptuales profundos que haran que nunca funcionara correctamente. Kip se vio obligado a redisear y reimplementar la parte PC del enlace de comunicaciones entre el PC y el mainframe. Puesto que Bill se sali por la tangente en la reunin ejecutiva de mitad de febrero, finalmente Claire decidi que ya haba odo suficiente y mand un stop al programa Giga-Quote, Se reuni con Mike el viernes Este proyecto est fuera de control, dijo, Desde hace meses Bill no me ha dado una estimacin fiable. Este es un proyecto de 6 meses y ya lleva ms de 3 meses de retraso sin un final claro. Estis trabajando tantas horas que no hacis progresosQuiero que descansis todos un fin de semana- quiero que desarrolles un informe detallado, paso a paso, que incluya todo, y digo todo, lo que queda por hacer del proyecto. No quiero que forcis el proyecto para encajarlo en un plan artificial. Si se necesitan otros nueve mese quiero saberlo. Quiero el informe del trabajo pendiente para el mircoles. No tiene que ser bonito, pero si estar completo. El equipo de desarrollo se alegr de tener un fin de semana libre, y durante la semana siguiente atacaron el informe detallado con energas renovadas. Estuvo en la mesa de Claire para el mircoles. Revis el informe con Charles, un asesor de ingeniera de software que tambin haba revisado las estadsticas de errores del proyecto. Charles recomend que el equipo centrase sus esfuerzos en un puado de mdulos propensos a errores, que se iniciasen inmediatamente revisiones del diseo y la codificacin para corregir todos los errores y que el equipo comenzase trabajando horas fijas, para que pudiesen hacer mtricas precisas del esfuerzo empleado en el proyecto y cuanto se necesitara para terminarlo. Tres semanas ms tarde, en la primera semana de marzo, la lista de errores pendientes baj un poco por primera vez. La moral del equipo subi un poco, y basndose en los procesos regulares que se iban haciendo, el asesor estim que el software podra entregarse, completamente probado y fiable, el 15 de Mayo. Puesto que el incremento semestral de la tasa de Giga-Safe tendra efecto a partir del primero de Julio, Claire fij la fecha oficial de lanzamiento el primero de Junio. Epilogo
1. El programa se entreg a los agentes locales de acuerdo a la fecha esperada del primero de Junio. 2. Semanas ms tardes Jill se fue a trabajar a otras compaas. 3. El producto final se entreg en 13 mese en vez de 6.
6
4. El esfuerzo de desarrollo fue de 98 personas mes en vez de las 32 personas mes planificadas. 5. El producto final tena alrededor de 40000 lneas de cdigo C++ sin comentarios, 33% superior a la estimacin de Mike. Un producto de este y tipo, normalmente debera haber demorado 11 meses y medio con un esfuerzo de 71 personas mes.