Analogías y desarrollo de software I

Crónicas de Islandia VI (Final)

Este post continúa la reflexión sobre analogías, modelos mentales y el desarrollo de software (ver 1, 2 y 3). Una vez repasado la importancia que para mí tienen estos instrumentos, voy a comentar algunas analogías habituales, que son fáciles de encontrar en el día a día del desarrollo y la consultoría, tanto por parte del proveedor como del cliente.

Estas analogías son útiles en determinados contextos y dañinas en otros como cualquier otra herramienta, pero sobre todo es peligroso llevarlas demasiado lejos ya que es fácil olvidar que la realidad y el modelo son dos cosas diferentes.

Empezaremos por las fáciles y luego iré incrementando la complejidad de estas.

Carpeta

Esta metáfora está tan arraigada que ya olvidamos que es una metáfora y por ello nos negamos a tratarla como lo que es: una forma de relacionar ciertos datos y tratarlos como una unidad para ciertas operaciones (seguridad, copiado, búsqueda…). A día de hoy muchos sistemas emplean otras metáforas para lo mismo: etiqueta, sala… pero una enorme cantidad de usuarios, incluso técnicos son incapaces de entender que se trata esencialmente de lo mismo bajo otro nombre si alguien no se lo señala.

En general esta metáfora es dañina porque no permite hablar de contenedores y relaciones complejas de forma separada lo que lo convierte en una losa a la hora de evolucionar la forma de trabajo de la gente que está anclada en este modelo de pensamiento.

Es el caso más claro en que el modelo se considera la realidad.

Papelera

La metáfora de la papelera de reciclaje me parece bastante útil aun, ya que permite explicar al usuario lo que sucede con la información que se elimina como si fuera un objeto físico y establece un mecanismo de retención que permite cometer errores sin consecuencias. No le veo ninguna contraindicación, salvo el que no sirve para nada más (que no es poco).

Ratón

Hace unos días mi hija de 5 años me preguntó que qué era aquello que tenía en la mesa. Le respondí que un ratón de ordenador. Y a continuación me preguntó que por qué se llamaba así. Al tratarse de un modelo inalámbrico, tuve que sacar uno de cable del armario de los trastos para explicárselo correctamente.

Este nombre tenía sentido hace algunos años pero a día de hoy va a seguir el camino de los disquetes como icono de “guardar” volviéndose inútil en un mundo cada vez más orientado al uso del dedo y el stylus. Además no transmite ninguna información sobre la utilidad del objeto.

Así que actualmente considero que esta metáfora está obsoleta aunque originalmente cumpliese bien la función de disponer de nombres reconocibles para tecnologías punteras.

Virus y Antivirus

El concepto de virus es muy útil para transmitir la idea de peligro contagioso. Además es una analogía biológica lo que permite empezar a hablar de los sistemas informáticos como algo vivo, como organismos (otra analogía).

Sin embargo la analogía pierde un sentido importante en el mundo actual: los programas maliciosos actualmente no carecen de propósito y en la mayoría de los casos son más parecidos a los parásitos y los depredadores que a una “mera” molécula de ARN.

Posiblemente esta metáfora siga con nosotros durante mucho tiempo.

Firewall

El comparar un “muro de fuego” con una máquina que deniega o permite canales de comunicación para determinadas direcciones y protocolos, me parece un desastre.

De acuerdo, es relativamente fácil entender que nos protege de ciertas agresiones denegando el acceso, pero en mi opinión da una falsa imagen de solidez y seguridad al pensar en un muro que requiere de fuerza bruta para ser superado.

Creo que simplifica demasiado algo muy complejo y delicado, lo que puede provocar problemas de comunicación, como que se piense que es algo pesado, costoso e inamovible, o que tener uno es garantía suficiente contra intrusiones. Pero todo esto es solo una opinión, claro.

Nube, cloud

No podía faltar en esta lista uno de los términos de moda de los últimos años. La idea de algo etéreo, gigantesco y omnipresente en cualquier lugar del planeta me parece muy buena, y dado lo arraigado del concepto de “subir” y “bajar” cosas de internet, me parece coherente. Pero ahí queda la cosa. La nube es la red de ordenadores de otro, ni más, ni menos. Y no solo contiene agua, hay todo un universo de servicios increíbles en ella.

De todos modos me gusta mucho a nivel de márquetin, y durante una temporada estuve usando esta metáfora de forma habitual para explicar como Azure y Office 365 ofrecen una gama de servicios para todo tipo de empresas: una nube para “regar” tu negocio, que podía aportar más o menos agua en función de las necesidades del cliente (flor, árbol, bosque…). Era una imagen muy visual que transmitía crecimiento y limpieza.

Continuara…

Anuncios

Un pensamiento en “Analogías y desarrollo de software I

  1. Pingback: Analogías y desarrollo de software II | jbolano

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s