El peso de la piedra

Hace unas semanas vi la película “The Theory of Everything(La teoria del todo)” que cuenta (una parte de) la historia de Stephen Hawking. La película es muy interesante y fue la excusa que me faltaba para leer algún libro escrito por el reconocido físico británico.

Hoy (2017/03/22) terminé de leer el libro “Historia del tiempo: del Big Bang a los agujeros negros” y me siento — como escribí en un mail para un conocido con el que no hablaba hace varios años — en partes iguales, asustado y entusiasmado.

Photo by NASA

El libro enseña muchísimas cosas sobre la ciencia y algunos principios que deberian ser fundamentales para todos nosotros — que vivimos en el siglo XXI — así como la propia gravedad, la teoría de la relatividad general, la mecánica quántica, la teoría de cuerdas entre otras cosas. Pero, sobretodo nos cuenta sobre las personas y los procesos que los llevaron a los mayores logros en física (e cosmologia) de nuestro siglo (XX).

Es una lectura obligatoria para saber todo lo que pasó en los últimos 100 años asi como lo que va, y deberia, pasar en los próximos.


El titulo de este texto asi como la motivación para escribir el mismo viene del capitulo de conclusión en el que Stephen (lo nombro como si fuera un amigo de toda la vida) menciona la Paradoja de la omnipotencia y— de forma inmediata — me hizo pensar en la ciencia, en la forma que ella nos trae tantas luces y al mismo tiempo podemos llegar a una posición oscura en el que sepamos más de lo que podemos controlar, queremos saber o podamos comprender. Por otro lado me hizo pensar en mi área, en la tecnología, su implementación y donde colocar los límites en los proyectos.

¿Puede un ser omnipotente crear una piedra tan pesada que aún ese ser no pueda levantarla?

Según Wikipedia “(…)estas paradojas analizan el tema de si un ser omnipotente podría o no realizar una acción que limitara su propia habilidad para realizar acciones” y es con ese sentido que es mencionada en el libro. Pero, no es en ese sentido que quiero escribir hoy.

No pretendo realizar una analogia entre Dios (o cualquier otro ser omnipotente) y nosotros, trabajadores de la informática asi que pido que saquen de su cabeza el concepto de la paradoja de la omnipotencia y piensen en una frase parecida:

¿Podemos crear una piedra tan pesada que nos acabe aplastando?

Fue en eso que pensé al leerla y cómo eso se relaciona a lo que hacemos. Voy a dar ejemplos del area de software pero es facilmente aplicable a cualquier otra actividad.

photo by Nasa

Cuando vamos a comenzar un proyecto en un cliente recibimos mucha información del mismo sobre los problemas que tenemos que resolver. En la próxima parte del proceso, entramos en la organización y observamos estos problemas y, generalmente, vemos muchos otros.

En parte por ingenuidad y buena voluntad, nos sentimos atraídos por intentar aportar soluciones a todos estos y, como informáticos, visualizamos infinitas soluciones tecnológicas y puede hacer que nos desviemos, perdiendo el foco del proyecto y el mismo acabe siendo ineficiente y/o falle completamente.

Parece obvio que tenemos que evitar estos problemas secundarios y focarnos en los primeros y es cierto. Pero, no podemos simplemente ignorar aquellos otros inconvenientes que encontramos.


En Ingenieria de Software llamamos Ingenieria de Requisitos a la disciplina encargada de recolectar, analisar y documentar los problemas a resolver y lo qué necesitamos para hacerlo (requisitos). Esta disciplina nos brinda varias herramientas para resolver nuestro asunto de cómo abordar todos los problemas sin desviarnos del foco.

El documento de requisitos tiene que contener todos los problemas que encontramos en la empresa y tiene que dejar en claro cuáles van a ser abordados por este proyecto.

¿Para qué sirve esto? Para no perder tiempo o desviarnos del objetivo y, al mismo tiempo, demostrar para el cliente que estamos entendiendo la situación y (casi)todos los aspectos envueltos.

Este documento nos sirve para definir qué iremos a hacer en este proyecto y también nos brinda una oportunidad de — en un próximo proyecto — resolver todos los problemas identificados anteriormente.


Trabajemos con piedras de un tamaño que podamos cargar o nos van a terminar aplastando.