Este es un proyecto cancelado que no recibe actualizaciones. No obstante, puedes acceder a su archivo como referencia.

Versión Cero

1-2-3 de porqué fallan los proyectos informáticos

Sergio Montoro

La gran cantidad de proyectos cancelados todos los años nos dice que algo funciona muy mal en la ingeniería informática. ¿Qué es?

por Sergio Montoro Ten, 25 julio 05

La informática es una ingeniería que sufre un cáncer. El cáncer de la ingenuidad en la planificación de proyectos.
Cuando se empieza a construir un edificio, no se abandona a la mitad porque no satisfacía los requisitos de los usuarios, cuando se acomete una obra hidráulica no se acaba diciendo que falló en el objetivo de transportar agua a las zonas designadas. O, al menos, si sucede, hay un montón de gente que se mete en auténticos problemas.

La informática, sin embargo, es diferente, cada año se cancelan miles de proyectos fallidos.

No pretendo dar en un artículo corto como este la bala de plata para problemas en los que centenares de miles de sesudos expertos como los del Project Management Institute llevan décadas estudiando. Pero si ofrecer un condensado de las causas ocultas del fracaso de proyectos que, supuestamente, están bien planeados y diseñados.

1. El razonamiento común de los programadores es que si se hacen unas buenas especificaciones y un buen diseño y una buena implementación y un buen control de calidad entonces el proyecto funcionará, pero esto es falso, porque un proyecto es justamente eso: un proyecto. No es unas especificaciones, no es una arquitectura, un proyecto es una misión compartida de un grupo de personas.

2. Recorte sibilino de todos los recursos.
La mayoría de proyectos grandes que fracasan lo hacen porque se reducen sutilmente todos los recursos necesarios para llevarlos a cabo. Cualquier albañil sabe que hay una proporción correcta entre cal y cemento Portland y que no se puede quitar un 5% de hierro a un edificio porque los precios del acero se hayan disparado. En informática, en cambio, es normal contratar un profesional de 3 años en experiencia en el puesto de uno de 5 (a veces ya puestos no hace falta ni siquiera que sea informático). No importa convertir 9 meses en 8 o 100.000 euros del presupuesto en 90.000. Se van metiendo pequeños rejones por todas partes, un poco de cada lado hasta que se arruina cualquier posibilidad de éxito.

Imposibilidad de coordinar esfuerzos.
El segundo motivo no escrito es la dificultad para coordinar a un gran número de partes independientes y con intereses enfrentados. Esencialmente cuantos más miembros en el grupo menores las probabilidades de que funcione. Esto es especialmente cierto en el caso de los proveedores externos que son de naturaleza fagocitaria y buscan la venta por dominio del cliente eliminando a cualquier competidor potencial. El resultado de esta pugna suele ser la destrucción del ecosistema de trabajo y la muerte del proyecto.

3. Obstáculos artificiales.
El tercer motivo es el bloqueo a las iniciativas que podrían salvar el proyecto en un momento dado. Puede ser por razones políticas o porque alguien ha empeñado su orgullo en que las cosas se hagan de una determinada manera. La cuestión es que no dejan a los informáticos trabajar, les imponen restricciones absurdas y demenciales procedimientos operativos kaftkianos los cuales, obviamente, no estaban previstos en el plan inicial de ejecución.

Comentarios
1 Guti
25 julio 2005, 16:11

Felicidades Sergio.
Muy sintético y explicativo.
2 Juan Carlos
25 julio 2005, 16:55

A veces nos olvidamos que los proyectos y las empresas no son nombres, son personas y de ellas depende su éxito.
3 Jose Alberto
25 julio 2005, 17:23

Como dice Juan Carlos: Lo que importa son las personas, al menos en un proyecto informático.

Comparamos continuamente nuestra profesión con otras (a ver si no…) y creo que no siempre es comparable. En la construcción, en las obras públicas, ¿cuantos centenares de años de experiencias se lleva? Al principio para hacer un “edificio” se hacían los ladrillos (y casi todo) expresamente para ese edificio, no existían normas de construcción, de seguridad, no habían medidas estandar, poco a poco se fueron especializando y estandarizando los materiales, las técnicas, las metodologías hasta llegar a lo que conocemos hoy, y eso permite acertar más en ese tipo de proyectos (y tampoco es que se acierte al 100%)

Opino, aunque nos duela, que en la actualidad, salvo contadísimas excepciones, somos más artesanos que ingenieros por mucho título que exista.
4 rastafari
25 julio 2005, 21:13

No estoy capacitado para dar unas pautas generales de porque fracasan los proyectos informáticos, pero si puedo dar unas pautas en función de mi experiencia y la de compañeros cercanos de porque los proyectos informáticos funcionan tan mal.
– Los que determinan los plazos, recojen los requisitos del cliente y gestionan el proyecto NO SON INFORMATICOS: Esto es algo que estoy aburrido de ver, un tio con su master MBA o su licenciatura en ADE dirige proyectos en informática. En muchas empresas se considera que este tipo de personas son las adecuadas para tratar con los clientes y son ellos los encargados de transmitir al equipo informático las necesidades del cliente. El problema es que tanto el cliente como el “jefe de proyecto” como el informático hablan idiomas distintos, y de la idea original que tenia el cliente en la cabeza queda muy poco en el proyecto final.
– La mediocridad de los desarrolladores: Que no se enfade nadie eh!! , pero durante estos años he trabajado con muchos desarrolladores y la tonica general es su mediocridad, no voy a analizar las causas de esto porque mereceria otro comentario entero, pero es la realidad. Ultimamente estoy realizando entrevistas para incorporar nuevo personal a nuestro departamente y el panorama es desolador, la gente se medio defiende en labores de programación, pero encontrar a alguien que tega unos conceptos OO bien asentados y sea capaz de hacer diseños en condiciones es una ardua tarea… Con esto no quiero decir que no esxistan muy buenos profesionales, que claro que los hay, pero la proporción siendo generosos sería de 5 mediocres por cada buen profesional.
– La falta de método: La ingeniería del software es joven e inmadura, en la mayoría de las empresas no existe un método para hacer software, y no hablemos de control de calidad que en muchas empresas no saben ni lo que es. Luego al final resulta que por la falta de método las empresas no saben hacer software, el software lo saben hacer las personas, cuando un proyecto sale bien suele ser gracias a que en el han trabajado buenos profesionales que han sido capaces de superar los obstaculos del desarrollo gracias a su gran profesionalidad. Pero claro, remitiendome al punto anterior, estos profesionales no abundan, así que sin método y sin buenos profesionales el desastre esta casi asegurado.

Mi visión es quiza muy negativa, pero en los 5 años aprox que llevo en esto es lo que veo a diario. Quizas me toca cambiar de aires…
5 Alberto Molpeceres
25 julio 2005, 23:47

No sé, yo quizás si compararía otras profesiones con la informática, porque lo normal es que los edificios se acaben tarde, recortando donde se puede el presupuesto, dificultad de coordinar equipos grandes y/o externos a la empresa, tienen razones políticas, etc. Vamos, que las razones de Sergio las aplica también mi padre en los montajes.

En cualquier caos coincido con Rastafari, mi top3 sería algo como:

1.- como se ha dicho, se toman decisiones técnicas importantes fuera del ámbito técnico, normalmente basadas únicamente en el precio del mercado.

2.- la falta de definición de los proyectos, debido a la naturaleza intangible del producto a conseguir, la inseguridad/desinterés del cliente y la incapacidad general de los informáticos para hablar con el resto del mundo.

3.- la falta de profesionalidad general.

Al menos en Linking Paths intentamos solucionar esos problemas (a parte de otros), sin mentir al cliente, sin bajar un centimo de los presupuestado por los técnicos, y trabajando con el cliente hasta que todos tengamos claro lo que queremos conseguir.
Siempre he pensado que cuando una empresa es lo suficientemente seria las cosas van bien, y de momento nos podemos quejar. Presente saludable futuro más que prometedor.

Ummm… siento la parte “publicitaria”, pero que se le va a hacer, para mi las opciones eran crear una alternativa así o dejar la profesión.
6 Xian
26 julio 2005, 17:43

Pues no sé yo… reducir los problemas de desarrollo de Software al “título” de la persona que dirige el proyecto me parece una simplificación excesiva.

Llevo 8 años desarrollando software a medida. He tenido jefes de proyecto con diversas titulaciones y no extraigo la pauta de que los “ingenieros informáticos” tienen más probabilidad de éxito.

De hecho el mejor jefe de proyecto que he tenido, con mucho, fue un Matemático.

Dejando de lado el tema del intrusismo que, insisto, no creo que sea la causa del fracaso en los proyectos, creo que las causas más comunes son:
1. Falta de implicación de los usuarios/promotores del sistema. Por ejemplo: cuando te vas a comprar una casa, o a construirla nueva, te preocupas de entender los planos que te enseña el aparejador. No he visto a un sólo usuario intentando entender un caso de uso…
2. Inexperiencia de los desarrolladores. Por ejemplo: el albañil que pone los cimientos a una casa ha comenzado carretando cubos de masa, ahora que ya ha visto levantar muchos edificios pasa a ser él el que supervisa la cimentación. En nuestra profesión a cualquiera que entienda la sintaxis del lenguaje de programación lo ponen a levantar “cimientos”.
3. Dificultad inherente a toda construcción que no tiene una representación física tangible. Por ejemplo: en una obra tú puedes pasear por ella y comprobar “in situ” cómo se va levantando y si sigue los planos, si las paredes son rectas, si el grado de avance es el esperado, etc. en desarrollo de software es más complicado, se exige un esfuerzo intelectual mucho mayor (y no todo el mundo puede/quiere hacerlo)

My two cents…
7 rastafari
26 julio 2005, 21:58

Quizas me haya expresado mal, cuando hablaba del personal “no técnico” que dirige los proyectos no me referia al intrusismo,personalmente cuando utilizo el termino “informático” no me refiero a titulados en ingeniería informática, me refiero a alguien con amplios conocimientos tecnicos en informática. El papelote que tenga enmarcado en su cuarto me da un poco lo mismo, mientras sepa hacer bien su trabajo como si tiene un etiqueta de anis del mono.

Al problema al que quería hacer referencia es al hecho de que en muchos casos los proyectos de software esten dirigidos por personas que no tienen cualificación ténica, pero no porque sean intrusos, sino porque la empresa considera que el perfil para esos puestos debe ser el de alguien con conomientos en gestión o habilidad en el trato con el cliente. Evidentemente estas cualidades son importantes, pero sin conocimientos ténicos no se puede dirigir un proyecto de soft, por muy habil que sea uno tratando con los clientes. Los proyectos deberían estar dirigidos o bien por alguien que tenga tanto estas aptitudes como el necesario conocimiento técnico o bien por dos personas cada una en su area pero al mismo nivel en el organigrama de la empresa. Que ninguna decisión politico/comercial se tome sin tener en cuenta la parte técnica y viceversa, y que las dos visiones del proyecto tengan el mismo peso, hoy en día se tiende a tomar decisiones politico/comerciales y luego pasar el marrón al analista de turno y que se las apañe como pueda para cumplir con compromisos contraidos sin haber tenido en cuenta la realidad técnica del desarrollo de software.

PD: Yo soy ingeniero informático, siempre me llamo la atención el tema y me hice la carrera, pero si algo tengo claro es que la calidad de un informático depende en un 10% de su formación academica y en un 90% de su interes personal y su capacidad autodidactica.
8 TrickyDicky
27 julio 2005, 17:06

Una traducción al inglés de este artículo puede encontrarse en: http://www.zenitservices.com/PlanetaCodigo/Jul2005/WhyITProjectsFail.html
9 Sergio Montoro Ten
27 julio 2005, 20:25

Es posible que los proyectos no funcionasen mejor si los dirigiesen informáticos.

A fin de cuentas, los problemas irresolubles empiezan cuando las razones políticas pesan más que el sentido común.

Históricamente, los informáticos en general no han sido muy buenos gestionando la política ni los recursos humanos de los proyectos.

Aunque, parafraseando un conocido refrán, un informatico siempre puede “politizarse” pero un politico nunca puede “informatizarse”.

Por último, estoy totalmente de acuerdo con rastafari en que el 90% de la capacidad de un profesional se la da él mismo a base de años de curtirse pegándose con todo tipo de problemas y tecnologías.
10 SebaSj
3 agosto 2005, 17:54

En el congreso nacional de software libre 2004 hay una ponencia: ”¿porque fracasan los proyectos de software?: Un enfoque Organizacional”
de J. Jesus Maria Zavala Ruiz.

Viene bastante al caso.
11 jose luis
4 agosto 2005, 00:11

Respecto al punto 1 de su artículo. Puedo asegurarle de que si un proyecto se especifica bien, se diseña bien y se implementa bien, tiene todos los números de salir bien. A no ser que actuen obstaculos artificiales expuestos en el punto 3.

Lo verdaderamente dificil es especificar bien, diseñar bien e implementar bien.

Saludos,
Jose Luis
Acerca - Contacto - Información legal y técnica - Condiciones de uso - Noticias sobre el mundo del Desarrollo de Software.