Hace unos meses me quedé con las ganas de escribir una historia sobre la diferencia entre la calidad intrínseca de un programa y el proceso que se usa para producirlo; más concretamente sobre que hay muchas empresas que se preocupan mucho del proceso y muy poco o nada de la calidad y acaban teniendo una mierda primorosamente facturada y empaquetada. En pocos días me he acordado del tema varias veces, por ejemplo en un comentario a una historia de Sergio Montoro en Versión Cero sobre problemas en el desarrollo. También mientras leía Facts and Fallacies of Software Engineering de Robert Glass. Al empezar a leer Code Complete, el clásico de Steve McConnell me he encontrado precisamente con esta distinción entre "construcción" y proceso.
Si es un clásico ¿por qué no había leído antes ese libro? La respuesta tiene que ver con la extinta empresa que da nombre a esta historia. Fue el primer empleo que tuve en Madrid. Trabajar en PSD tenía ciertos inconvenientes bastante notorios, muchos de ellos derivados del hecho de ser una empresa pequeña, en la que no pasamos de cinco mientras estuve. Pero tuvo también algunos alicientes, por ejemplo trabajar con gente muy lista e interesante. A pesar de los pesares, trabajar en PSD era divertido.
Pero si algo hay que me parece destacable es que aquella pequeña empresa tenía el estándar más exigente de calidad de código y de metodología de todas por las que he pasado. De hecho, cualquiera de las demás está a una distancia abismal. El hecho de haber conocido PSD antes que las otras fue un factor de tremenda confusión para mí. ¿Cómo es posible que las empresas que se sacan "la ISO" y tienen recursos para dar y tomar no cumplan unos mínimos en la "calidad real"?
Lo primero que tuve que aprender al llegar fue el manual de normas de código. Condensaba en unas cuantas docenas de páginas varios libros sobre calidad de código, incluyendo Code Complete. Definía hasta el detalle más mínimo cómo programar y en él se basaban las revisiones de código. Porque teníamos revisiones de código. Teníamos también métricas, seguimiento de errores, control de versiones, una librería de código perfectamente organizada y una biblioteca de libros y revistas actualizada.
De la siguiente empresa en la que estuve tengo un montón de cosas buenas que decir. Pero ninguna de ellas está en la lista anterior. No había revisiones de código. En realidad no hubiese tenido mucho sentido porque no había criterios por los que revisar. La única métrica en los proyectos en que estuve la hice yo a toro pasado. No había seguimiento de errores, sólo de "incidencias", o sea quejas del cliente. Se hizo una suscripción a una revista de Delphi. Pero pedir que se comprase un libro era estúpido, porque la autorización llegaba cuando el proyecto se había cerrado. La compra de un programa de unos cincuenta euros, que hubiese ahorrado semanas de trabajo, tardó tres meses en autorizarse. Después de mucho pedir, un cliente instaló un control de versiones, con la particularidad de que sólo compró una licencia, con lo cual hubo una persona, el encargado del programa, que se convirtió en el control de versiones. Para colmo, compartir información técnica era una actividad clandestina. Estaban prohibidos los foros internos, excepto los controlados por la dirección.
Esta empresa estaba certificada, tenía clientes importantísimos y sigue siendo lo más sonoro de mi curriculum. Pero el código que se producía no tenía ni de lejos la calidad del de PSD y no era peor por la insistencia de algunos en mejorarlo en plan francotirador. No era un problema económico, ni de falta de medios humanos. No era posible simplemente porque no teníamos a un técnico, como en PSD a Alexander, con poder de decidir cómo se hacían las cosas. Y lo peor es que de todas las empresas que han venido después, ninguna ha sido como PSD, sino como la otra, o peor. A menudo mucho peor.
Leyendo el libro de Glass he visto que existen estudios experimentales que demuestran sin lugar a dudas que es más productivo hacer las cosas "bien". Nada de lo que cuentan Glass, Brooks, McConnell y otros autores es conocimiento secreto, ni más caro que el precio de media docena de libros bien conocidos. Pero se sigue haciendo todo lo contrario constantemente y se siguen poniendo las excusas más peregrinas.
En fin, volviendo a PSD, tengo localizado a todo el personal excepto a Emilio. ¿Dónde andarás? :-)