Archivo

Entradas Etiquetadas ‘no silver bullet’

Balas de plata

jueves, 26 de mayo de 2011

Hoy trataré de tender un puente entre la Ingeniería de Software y nuestro comportamiento.

Ahí queda eso.

silverbullet En 1987, Frederick P. Brooks publicó un artículo más conocido por una parte del título que por el título completo. El artículo en cuestión se llamaba “No silver bullet: Essence and accidents of Software Engineering”, y que podríamos traducir por “No existen balas de plata: la esencia y el accidente en la Ingeniería del Software” [nota para los filósofos: sí, se basó en la categorización aristotélica] [nota para los ingenieros en general: dejemos por ahora a un lado el debate sobre si la informática (así, en general) es ingeniería o no].

En el artículo, el autor separa las dificultades que se encuentran en el desarrollo del software en esenciales al software por su misma naturaleza (por ejemplo la mutabilidad, la complejidad o la invisibilidad), y en accidentales, aquellas que participan y nos encontramos en el software, pero que no son inherentes a él. La tesis principal del artículo es que, a pesar de lo que nos quieran vender los fabricantes de herramientas y entornos de programación, las mejoras en productividad que se consiguen actualmente  se hacen atacando las dificultades accidentales, pero no las esenciales, que las dificultades esenciales no pueden ser evitadas, y que como consecuencia de ello no podemos esperar una “bala de plata” que resuelva todos nuestros problemas en un orden de magnitud relevante. No me extenderé más, porque no es la idea. Quien esté interesado puede leer el artículo aquí [pdf]. No entra en muchos detalles técnicos, y ayudará a los entendidos a profundizar en su profesión, y a los no entendidos a entender a los entendidos. Todos ganamos.

A lo que voy es que, buscando la analogía en lo que corresponda y salvando la distancia donde sea necesario, en eso que de forma algo difusa y externa a nosotros llamamos “la Vida”, estoy seguro de que nos encontramos igualmente dificultades esenciales y dificultades accidentales. Se me ocurre pensar que una dificultad esencial es, por ejemplo, la imposibilidad de no decidir. Decide hacer lo que quieras, pero tienes que decidir hacer algo, aunque ese algo sea no hacer nada… Considéralo estar condenado a ser libre. ¿Una dificultad accidental? Voy a poner un ejemplo personal, y diré que es accidental el tener la memoria que tengo y haber tenido que volver esta mañana a casa para recoger pasta para el bonometro y la tarjeta para fichar en el trabajo.

Como suele ocurrir con las preguntas filosóficas, lo más importante de ellas no suele ser encontrar las respuestas (muchas veces imposible porque no existen o existen demasiadas o valen a medias, o lo que sea), sino elegir (¿recuerdas?) una y vivir acorde a ellas, tomar una posición respecto a la vida. ¿Qué vas a hacer ante las dificultades esenciales? ¿Te quejarás por ellas? ¿Las pondrás de excusa? ¿Y con las accidentales? ¿Te quejarás? ¿Son excusas ya?

filosofía , ,