Link del día: Encapsulación psicológica

Este es otro de los links que me fue compartido via Twitter por la gente de BreakingDev, y el concepto es bastante simple, dejenmé presentarlo:

Se dice que una pieza de software está encapsulada cuando no conocemos su funcionamiento interno y sus aspectos externos nos proporcionan todo lo que necesitamos para hacerla funcionar. No nos importa cómo, nos importa el qué hace. El cómo es responsabilidad de ese software, no nuestra.

Este concepto es muy utilizado en el paradigma de programación orientado a objetos, en donde cada objeto encierra la responsabilidad de su propio comportamiento.

Sin embargo, en el artículo llamado Psychological Encapsulation se ve este tema de una mirada distinta: ¿Qué ocurre cuando no confiamos en la forma en la que una pieza de software realiza sus tareas? ¿Qué ocurre cuando tenemos un problema y el no conocer ese comportamiento interno nos impide solucionarlo?

Esto es lo que ellos denominan encapsulación psicológica, y supongo que otros simplemente lo pueden llamar fiabilidad de un determinado software, o, siendo más específicos aún, el gusto y confianza que cada persona en particular le tiene a un software en particular.

Creo que es un concepto a tener en cuenta al momento de diseñar (y usar!) software, trabajar con herramientas en las que no confiamos (o peor aún: no podemos confiar) es realmente una experiencia desagradable, y puede conducir a grandes bloqueos en nuestra productividad.

(Aquí podríamos hablar sobre distintos tipos de software, cuáles son de mayor confianza, si el open source comunitario o el software propietario que tiene a una empresa respaldando el buen funcionamiento del mismo, si los sistemas hechos de piezas simples integradas o si los sistemas que lo hacen todo, etc. Son libres de dejar sus opiniones.)

Soy un zorrinito de confianza.