jueves, 8 de julio de 2010

Desarrollo de software chapucero

Hoy encontramos un curioso artículo de Sergio Montoro que explica perfectamente por qué todos los programadores se quejan de que no les dejan hacer un trabajo decente y de calidad ¿Qué razón de mercado existe para esto?

Esta es la fuente original del artículo:

http://www.versioncero.com/articulo/595/el-mercado-del-software-chapucero

Aunque lo pego aquí completo porque no merece que se pierda:

Este mediodía almorcé con un amigo quien me comentaba su intención de montar una empresa de desarrollo de software especializada sólo en trabajos de calidad. Esto en realidad es el sueño de cualquier programador (que le dejen trabajar decentemente) sin embargo, yo traté de disuadirle de la idea explicándole, porqué, en mi opinión, no es económicamente viable montar un negocio de software de calidad.

Uno de los problemas del mercado del software es que su funcionamiento se asemeja mucho al modelo de información asimétrica para los automóviles de segunda mano de George A. Akerlof

La clave de este modelo reside en que existe una información que el vendedor tiene pero que el comprador desconoce. En la compra-venta de coches usados dicha información es cuales son los coches “buenos” y cuales son los “malos”) en el caso del software la información oculta es el esfuerzo real que se invertirá en dotar de calidad al proyecto.

Para simplificar, partamos de la hipótesis de que existen sólo dos clases de proyectos: los buenos y los malos. Los buenos proyectos, como más o menos estima Angel Medinilla, hay que cobrarlos como mínimo a 6.000€ por persona y mes para poder emplear mano de obra óptimamente cualificada y suficientemente bien retribuida para que esté motivada. Los malos proyectos se le cobran al cliente a razón de 3.000€ por mes persona, en ellos se emplea a personal junior mileurista dirigido por Minglanillas trabajando doce horas al día en sótanos sin ventanas, y, por consiguiente, siempre salen mal.

Teóricamente habría una oferta variada de proyectos buenos y malos y el cliente podría elegir entre ambos en base a su presupuesto. Pero en la práctica no es así.

Está claro que como los costes para el proveedor de un proyecto bueno son entre 4.000€ y 5.000€ por mes/persona, no se le pueden cobrar al cliente 3.000€. Así que todos los proyectos de 3.000€ por mes/persona serán malos con un 100% de probabilidad.

Pero ¿qué sucede con los proyectos de 6.000€ mes/persona? Pues que como el cliente no tiene ninguna forma fiable de saber si le están colocando un proyecto bueno o uno malo, el proveedor siente inmediatamente la tentación de aumentar su margen cobrando un proyecto como bueno y haciéndolo como malo.

El cliente más avispado puede exigir algunas cosas en su pliego de condiciones, como por ejemplo que se especifiquen los nombres y apellidos de todos los miembros del equipo, que no se subcontraten determinadas cosas, o que haya una lista desglosada de todas las tareas previstas especificando quién las hará, cuánto tardará y qué cobrará por ello.

Pero por muchas cláusulas draconianas que se le pongan al proveedor, la calidad de un proyecto de software depende antetodo y sobretodo de la calidad de los recursos humanos empleados. Además, muchas empresas proveedoras utilizan todo tipo de trucos y engañifas para venderle al cliente un proyecto malo como si fuera bueno. De hecho cuanto más grande y conocida es la empresa, mayor la probabilidad de que le den al cliente gato por liebre. Esto no es porque las empresas pequeñas sean intrínsecamente más honradas que las grandes, sino porque con una empresa pequeña es mucho más difícil hacer trampas. Para empezar hay menos recursos humanos que mover de un proyecto a otro, y, si los recursos humanos de la pequeña empresa son malos, esta no durará mucho en el mercado. Pero las empresas más grandes pueden permitirse una mayor rotación de consultores, y, adicionalmente, suelen vender a base de despliegues de fuegos artificiales, mostrando sus bonitas oficinas, sus certificaciones y su abultada cifra de negocio para distraer al cliente de lo esencial: quién hará realmente el trabajo.

El resultado final es que, aunque el cliente pague 6.000€ por mes/persona, tiene una buena probalidad de que le calcen un proyecto malo. Entonces ¿porqué pagar ningún proyecto como bueno?

Súmesele a este escenario el hecho de que en España, en general, los beneficios de la tecnología se valoran muy poco, y tiene tendencia a verse exclusivamente como un gasto necesario pero que hay que recortar siempre lo más posible. No hay cultura de compra, y se siguen contratando programadores al peso casi como el que compra kilos de papel.

¿Cual sería una posible solución al problema?
Si una empresa empezase a hacer proyectos buenos cobrándolos a alto precio y le salieran sistemáticamente bien, entonces se correría la voz, y gracias a su reputación adquirida le lloverían ofertas de trabajo ¿Cierto? No, falso.

1. En primer lugar la empresa de los proyectos buenos tendría que acumular un dilatado historial de éxitos consecutivos, lo cual es condenadamente difícil, porque, aunque un proyecto empieze saliendo bien, amenudo es el propio cliente quien lo destroza por intentar meter baza en lo que no debe, bien sea inmiscuyéndose en la gestión operativa sin tener ni puñetera idea de lo que hace, bien porque luchas políticas fratricidas lo arruinan todo en una guerra de destrucción mútua o, simplemente, porque a la empresa cliente se le acaba la gasolina presupuestaria para pagar al equipo de programadores buenos.

2. En segundo lugar, la empresa de los proyectos buenos se enfrentará a grandes tensiones de tesorería cuando haya vacas flacas en el mercado. Dado que la mano de obra cualificada es extremadamente costosa de mantener, si la empresa no la mantiene permanentemente ocupada quemará rápidamente dinero. Pero si despide a los programadores buenos, entonces tendrá grandes dificultades para volverlos a contratar cuando los necesite, pues, por definición, la materia gris de alto cociente intelectual es un recurso escaso.

3. En tercer lugar, probablemente a la empresa de los proyectos buenos la aplastarían en el mismo momento en que los tiburones del sector se percatasen de que andan haciendo un pingüe negocio. Y si no pueden aplastarla, la acabarían comprando, lo que a la postre es lo mismo, pero inmediatamente usarían su reputación adquiridad para volver a vender proyectos malos. Este “no es pais para viejos…”


No hay comentarios: