Las válvulas de alivio de presión, la gestión del tiempo y el throttling.

A veces uno se siente abrumado por la gran cantidad de cosas que tiene que hacer. Parece que no hay tiempo para todo, la presión aumenta, y se corre el riesgo de no hacer nada bien, de "explotar" con el exceso de presión.

En las tuberías de agua o gas se utiliza un manorreductor para reducir la presión que entra al sistema, o una válvula de alivio de presión para desechar presión entrante evitando saturar a los sistemas, que podrían llegar a explotar.

Y en la gestión del tiempo y en el software también se usan, afortunadamente.

Una válvula de alivio de presión, de WikiCommons.

La gestión del tiempo

El "Getting Things Done", o GTD para abreviar es un método de gestión de actividades muy popular. El sistema consiste, básicamente, en tomar nota de las cosas que hay que hacer, ordenarlas por algún sistema atendiendo a su urgencia e importancia, y luego concentrarse en hacerlas.

Leía el otro día en "Sin No, no eres Nada" que el GTD viene a ser como una válvula de alivio de presión. Como muy bien dicen en el artículo, el GTD es para no hacer. Se trata de reducir la presión entrante de tareas por hacer "aparcándolas" en un sistema de almacenamiento auxiliar para centrarse en hacer sólo algunas. Y sólo aquellas que vale la pena hacer.

Hay otros muchos mecanismos de gestión del tiempo que vienen a ser como válvulas de alivio de presión. Se trata de no hacer todo para poder hacer algo. Por ejemplo: recuerdo a un directivo que me comentaba que enviaba directamente todo su correo entrante a una carpeta que no leía, y que sólo atendía a aquellos correos que se hubiesen enviado y reenviado más de una vez. Una gran "válvula de alivio de presión", sin duda.

Las válvulas de alivio de presión y el software

El software también utiliza válvulas de alivio de presión. El objetivo es reducir el número de cosas a hacer, desechando algunas, para poder hacer otras.

Puede parecer una herejía pensar en desechar peticiones de usuarios en un sistema IT, pero lo cierto es que es mejor el remedio que la enfermedad. Sin unas válvulas de alivio de presión adecuadas, los sistemas IT pueden llegar a "explotar" cuando tienen mucha presión, y entonces llegaríamos a desechar todas las peticiones de los usuarios.

Por ejemplo, leía el otro día la explicación de Enrique Dans del efecto menéame, en el que explicaba que había comprado un alojamiento mayor para poder atender las peticiones entrantes a su web. La solución es como matar moscas a cañonazos: uno tiene que gastarse dinero en un servidor sobredimensionado para poder atender a picos de carga en su web.

Quizá hubiese sido más barato utilizar una válvula de alivio de presión para su web. Podría, por ejemplo, poner en marcha un mecanismo de gestión de ancho de banda como la que ofrecen los sistemas BSD o los servidores web avanzados.

En los interfaces gráficos de usuario también se usan estas "válvulas de alivio de presión" para desechar múltiples eventos de usuario y evitar el bloqueo de las aplicaciones. Si alguna vez ha usado Word y ha abierto un documento muy grande se habrá dado cuenta que pulsar los botones es inútil: el Word continúa aceptando las pulsaciones de los botones y llega a "explotar" con la presión de los eventos de usuario.

Esta multitud de eventos por parte de los usuarios se puede evitar rechazando eventos repetidos (como en Java Swing) o fusionando eventos repetidos ("coalescing", en inglés, como en Cocoa), o también haciéndose unas "válvulas de alivio de presión" ad-hoc, como este para "amortiguar" notificaciones insistentes en iOS.

El "throttling"

En inglés la técnica se llama "throttling" ( throttling significa estrangulamiento en inglés) y es una de las principales técnicas para mejorar la escalabilidad de un sistema.

Las válvulas de alivio de presión sirven, en resumen, para evitar la saturación de los sistemas (o de las personas). Se trata de hacer menos cosas bien para evitar hacerlo todo mal.

Pues eso. Creo que me voy a poner más "válvulas de alivio de presión" en mi vida. De ese modo conseguiré hacer algunas cosas bien, evitando "explotar" con el exceso de presión y no hacer ninguna, ni bien ni mal.