Arquitectura de Software 17 Mar 2007 02:03 am
Para mi hacer software es…
Cómo le explico yo a un amigo, a mi madre, lo que hago cuando desarollo software de manera que me entienda y no desconecte la atención al primer tecnicismo. Siempre he creido que por duro, elevado o elitista que sea tu trabajo, debes ser capaz de explicarlo de forma que lo entienda alguien alejado de tu campo profesional. En ocasiones lo he creido un deber por aquello de la difusión del conocimiento. Debía ser deformación científica, pero esencialmente estoy de acuerdo con mi yo de hace unos años, así que al tema:

Respecto al software, la idea de cómo explicarlo creo que la saqué del libro “El hacker y las hormigas 2.0″.
Cuando uno hace software para un equipo de “sí mismo” o “sí mismo más uno o dos” , la cosa puede complicarse, pero si desarrollas software en esos equipos de ochenta personas el infierno es una caca comparado con tu situación profesional. Y si aparecen gurús de “la encumbración de la obviedad”, de ese tipo que piensa que el carisma se transmite, entonces, querido lector, sí que estás jodido.
Pero yendo al asunto de cómo explicarle a alguien lo que hago actualmente como desarrollador de Osmius creo que la idea es la siguiente:
Imagínate que estás construyendo un edificio de tres metros de altura con palillos y pegamento. Primero pienso - sin tener claro del todo - la estructura inicial del edificio de cara a una funcionalidad que debe cumplir para cierta gente a quienes llamamos usuarios. Lo siguiente sería cómo empezar a levantarlo sin nunca tener la visión global - en software no ves tu monstruo-programa excepto en momentos específicos poco transmisibles tipo epifanía o iluminación puntual.
Es algo así como ver lo que haces a través de un cucurucho amarrado a tu cara, de forma que sólo ves la superficie de una moneda de un euro, dejando a la imaginación el resto. Tú vas poniendo palillo tras palillo (línea tras líneas, clase tras clase, método tras método, patrón tras patrón,…) pero no tienes del todo claro qué es lo que estás construyendo de forma exacta incluso suponiendo unos requisitos certeros.
En tu cabeza “cabe” una imagen simplificada de lo que haces. Los detalles de todo llega un momento en el que no puedes aprehenderlos. Y si hay treinta como tú - cada uno con su cucurucho - olvídate de una visión aceptablemente exacta.
La Gestalt en proyectos de software, bajo este punto de vista en mi blog, no chuta.
Llega un día en que tratas de ver si tu edificio de palillos se sostiene y si aguanta para soportar todo por lo que en realidad lo has hecho. Es un reto. Es un reto que muchas veces pierdes. Quitas los soportes y tu edificio de palillos se viene abajo. y todavía no sabes bien el porqué…. pero lo sabrás. Te mola saberlo….
No se si los que desarrolláis software tenéis la misma sensación… pero me gustaría…. sobretodo por compartirla.
Viendo como veo estas cosas, se entenderá por qué no creo demasiado en los equipos de más de cinco o seis personas. Imagínate a seis (tíos y tías) cada uno con su nivel de motivación y con una visión de un centímetro cuadrado, desarrollando un software tipo muralla china.
One Response to “Para mi hacer software es…”
on 17 Mar 2007 at 4:57 pm 1.meneame.net said …
Para mí hacer software es…
"Cómo le explico yo a un amigo, a mi madre, lo que hago cuando desarollo software de manera que me entienda y no desconecte la atención al primer tecnicismo. Siempre he creido que por duro, elevado o elitista que sea tu trabajo, debes ser capaz …