29 May 2006

Si los arquitectos fueran ingenieros de software


Para iniciar una serie de reflexiones acerca del desarrollo de software, propongo como aperitivo un texto que se acerca bastante a la realidad de quien se enfrenta a tareas de desarrollo de software.

Se trata de un paralelismo que muestra a lo que tendría que enfrentarse un arquitecto si las cosas funcionaran como lo hacen en el mundo del desarrollo software.

El texto original no es mío. Se titulaba "If architects had to work like web designers" y ya no sé muy bien cuál es la fuente original, así que los interesados tendrán que buscarla.

Dejo una traducción de mi propia cosecha aquí:

Querido Sr. Arquitecto,

Por favor diséñeme y constrúyame una casa. No estoy muy seguro de cómo la quiero, así que lo dejo a su discreción. Mi casa debería tener entre 2 y 45 habitaciones. Simplemente asegúrese de que sea fácil añadir o quitar habitaciones en cualquier momento. Cuando me enseñe los planos ya le comunicaré mi decisión final. No se olvide de traerme el estudio de costes para cada configuración y así pueda elegir la que más me convenga.

Tenga siempre en cuenta que la nueva casa que elija debe ser más barata que en la que estoy viviendo ahora. Asegúrese, sin embargo, de que no sufre de las mismas deficiencias que mi casa actual (el suelo de la cocina vibra al andar sobre él y las paredes no tienen aislamiento suficiente).

Mientras va diseñando, también recuerde que quiero que los costes de mantenimiento sean mínimos. Esto puede implicar la incorporación de materiales fuera de presupuesto como aluminio, vinilo, etc… (si finalmente decide no utilizar aluminio debería justificarme su decisión en detalle).

Por favor asegúrese de que posea un diseño actual y de que se utilicen los materiales más modernos en la construcción de la casa, pues quiero que sea una muestra de los métodos e ideas más vanguardistas. Le aviso de antemano de que el diseño de la cocina tiene que tener en cuenta, entre otras cosas, la instalación de mi frigorífico de hielo de 1952.

Para asegurarse de que está construyendo la casa correcta para nuestra familia no olvide hablarlo con nuestros hijos y también con nuestra familia política. Mi suegra le dará unas buenas pautas de cómo debería diseñar la casa, ya que nos visita al menos una vez al año. Asegúrese de que valora todas estas ideas con especial cuidado para tomar la decisión correcta. Sin embargo, no olvide que soy yo quien tiene la última palabra.

Por favor no me moleste con detalles sin importancia ahora. Su trabajo es planificar la construcción de la casa: ver las cosas de forma global. Éste no es el momento adecuado, por ejemplo, de elegir el color de la moqueta. Por cierto, no olvide que a mi mujer le gusta el azul.

Tampoco se preocupe en este momento de los recursos necesarios para construir la casa en sí misma. Su prioridad absoluta es diseñar los planos y las especificaciones detalladas. Una vez que le dé mi visto bueno, sin embargo, espero que la casa esté construida en 48 horas.

A pesar de que está diseñando la casa totalmente a mi medida, no olvide que antes o después acabaré vendiéndola, así que debe ser atractiva para una gran variedad de potenciales compradores. Por favor asegúrese antes de terminar los planos de que existe consenso positivo en mi barrio acerca de las características de mi casa. Le aconsejo que se acerque a la casa que le construyeron a mi vecino el año pasado. Nos gusta mucho. Tiene muchas cosas que nos gustaría que la nuestra también tuviera, especialmente la piscina de 25 metros. Con un poco de esmero, supongo que podrá incluirla también en nuestra casa sin que influya en los costes finales.

Por favor, prepáreme un conjunto completo de proyectos. No hace falta en este momento que el diseño sea el final, puesto que por ahora sólo se usarán como promoción comercial. Le aviso, sin embargo, que será usted el responsable de cualquier incremento en los costes como resultado de rediseños posteriores.

¡Debe estar usted emocionado de trabajar en un proyecto tan interesante como éste! Poder utilizar las técnicas y materiales de última generación y poseer toda esa libertad para diseñar es algo que no ocurre a menudo. Contacte conmigo lo antes posible para contarme sus ideas y entregarme los planos.

PD: Mi mujer me acaba de decir que no está de acuerdo con muchas de las instrucciones que le acabo de dar en esta carta. Como arquitecto, es su responsabilidad resolver estas diferencias; yo ya lo he intentado en el pasado y jamás he sido capaz de lograrlo. Si no es usted capaz de aceptar esta responsabilidad, tendré que empezar a buscar otro arquitecto.

PD2: A lo mejor lo que realmente necesito no es una casa, si no una auto-caravana. Si cree que es el caso, comuníquemelo lo antes posible.


Actualización (29 de mayo de 2006):


Esta traducción la tenía almacenada desde hace tiempo y la he publicado directamente. Al parecer ya había sido traducida por otra persona en Mundo Geek

17 comments:

Anonymous said...

inmenso xD a ver si ellos soportarían!

Anonymous said...

Un 10 :D

Anonymous said...

está gracioso, pero es un poco triste que todavía haya gente que se crea que el trabajo de un ingeniero del software es diseñar páginas web o_0

Anonymous said...

Noto que le está faltando un PD3: donde diga: "Ah, y deberá considerar que el presupuesto sea inferior a $1.500 si desea aceptar el trabajo, ya que mi sobrino que se da mañana con el Corel me lo hace por menos de ese dinero"

Anonymous said...

¡Soberbio! xDDDDDDDD

Anonymous said...

"[...]pero es un poco triste que todavía haya gente que se crea que el trabajo de un ingeniero del software es diseñar páginas web o_0"

Diséñame la página web de QDQ. Usando tecnología Java, queremos meter webservices e implementar toda una API, buscadores, altas de usuarios, panel de control, callejero vectorial por el que se pueda navegar, etc etc.

Si piensas que ese trabajo debería hacerlo un diseñador gráfico o un programador de academia, entonces eres tú el que está muy confundido.

Y ojo, el diseñador de páginas webs DECENTES sí deber ser un ingeniero, y digo el diseñador, no el pica-código o el que mete coordenadas de calles. Por supuesto que también servimos para bastantes más cosas, pero una de ellas es diseñar páginas potentes.

Anonymous said...

y mete tolerancia a fallos a los servidores, que haya réplicas. Los datos se almacenan en Oracle (encárgate de administrármelo). Queremos varios dominios virtuales, webmail, etc, etc.

Definitivamente, una página web buena de verdad es trabajo de un ingeniero del software y de nadie más.

Anonymous said...

Hoy en dia la gente lo sigue llamando "pagina web" cuando realmente son "aplicaciones web" el que hoy en dia sea todo a traves de internet y en vez de usarse las librerias gráficas qt, gtk, o .net para la mayoria de aplicaciones se use html + ajax por poner un ejemplo, no significa que detrás de esto en el servidor haya un monstruo de aplicación...

Anonymous said...

Es verdad, con la calidad de la enseñanza Española vamos a dejar que sea un ingeniero el que se dedique a esto. ¡Así nos va!

La calidad del título de ingeniero informático en España es ruin, arcaico y con un desfase superior a los tres años en el mejor de los casos.

¡Hay que estudiar un poco mejor!.

Betawriter said...

Hola a todos,

Sólo decir que lo de "ingeniero de software", "diseñador web", "arquitecto" o lo que sea es lo de menos en este caso, ya que no es mi intención iniciar un debate sobre las titulaciones, etc... con este post.

Simplemente quería compartir este gracioso (pero realista) texto con el que cualquiera que haya tenido que diseñar software para terceros se sentira más que identificado ;)

No sólo estoy hablando de clientes directos, sino especialmente comerciales de la propia empresa, managers, etc...

Según mi opinión, el autor ha logrado dar en el clavo muy acertadamente con ese símil de la construcción.

Anonymous said...

Nunca pense que los arquitéctos tuvieran tan pocas miras como los informáticos a los que encargo el trabajo
;)

Anonymous said...

Pablo, respecto al símil de la construcción... El primer día de clase de la carrera nos dieron una pequeña charla. Lo primero que nos dijeron fue

"valoraos como lo que sois. Seréis ingenieros, y no programadores. El ingeniero diseña programas que luego materializan los programadores, de igual modo que el arquitecto diseña casas que luego construyen los albañiles."

Betawriter said...

Sigo insistiendo en que en el post no hay ninguna intención de entrar en el debate analistas vs. programadores, ingenieros vs. geeks ni nada por el estilo, sino de a lo que se enfrenta CUALQUIERA que haya escuchado una especificación directamente de un cliente, comercial, jefe o similares...

Anonymous said...

Muy cachondo el artículo XD, real como la vida misma y aplicable a un sinfín de situaciones...

Coordinadora: "Nena...eh... cómo te llamabas...ah sí, Maripuri, pues eso, Marisol, que a partir de ahora no cojas el teléfono, no abras la puerta del despacho de la siquiatra, no hagas más fotocopias, no ayudes a la secretaria de la otra coordinadora, cuando hagas fotocopias que salgan apaisadas, graba un mensaje de bienvenida en el contestador, me haces esto, esto y lo otro, y cuando te vayas a casita me recoges la alfombra del tinte, ¿vale, cariño?"

Un par de aspirinas y tropecientos powerpoints más tarde....

Coordinadora: "Maripili, guapísima, me ha dicho la siquiatra que no eres simpática con ella, la sicóloga se queja de que no le pasas las llamadas de su novio, el mensaje del contestador "tenemos que mirárnoslo" y te he dicho mil veces ya que las fotocopias no me gustan apaisadas. ¿Crees que podrás solucionarlo, bonita, o es que tal vez te pido demasiado?

Última hora de la tarde...

Coordinadora. "Maricielo, cuca, me voy ya que me espera la manicura; recuerda pasarte por el tinte, arreglar lo del teléfono, me haces doscientas fotocopias apaisadas de lo primero que pilles y, antes de cerrar, coges el Miró del despacho de la siquiatra y me lo pones en el mío, que está muy soso, ¿no te parece?".


Que te vaya muy bien con el nuevo blog :-)

Saludines,

Betawriter said...

Buenas Quique,

Dejando aparte el tema de colegios, responsabilidad civil, etc... en el que tienes toda la razón del mundo, pero que podría iniciar otro eterno debate que no viene al caso (tú dices que eligirías el título de informático para no tener colegio ni responsabilidades y los informáticos en cambio están pidiendo un colegio y que se regulen las responsabilidades, así que imagínate).

A lo que se refiere este post es a que los que se enfretan al diseño de software, por ser algo "etéreo" e intangible y su proceso de desarrollo tan desconocido por la gente y tan dificilmente reflejable en "planos", se suelen pedir cosas completamente ridículas y contradictorias, además con plazos imposibles y a costes de risa.

Seguro que también te has enfrentado a clientes que te piden cosas absurdas, pero dudo mucho que hayas lidiado con algo tan estrambótico como la parodia del texto.

Tú les puedes hablar de costes, de materiales, de acabados, de resistencias y la gente (con sus más y sus menos) lo entenderá, cosa que no ocurre con la informática, porque creen que todo aparece "de la nada" y que todos los programas son iguales.

Puede que la gente no esté contenta con el resultado final, con los detalles, etc, pero por ejemplo, a nadie se le ocurrirá pedirte un suelo de 100 m2 de tarima de madera noble cortada, pulida y barnizada a mano, a colocar en una mañana por una sola persona, por un precio inferior a igualar el suelo con cemento.

En el diseño de software esto es el pan nuestro de cada día.

Y, por supuesto, en todas partes cuecen habas, pero repito una vez más que ese post únicamente está hablando de lo disparatadas que son las especificaciones de los clientes de software. Nada más.

Anonymous said...

No lo he podido resistir, lo siento.

¿¿¿Que no nos pueden llevar a QUE??? No se que tal se te dará lo de ser arquitecto, pero lo de los temas legales lo llevas un poco mal.

Primer punto. Si un ingeniero informatico elabora un proyecto para una administracion publica, se pide un tomo de proyecto igual que el de un ingeniero industrial o un arquitecto, solo que sin planos (más que nada porque no hay). Ese proyecto tiene una serie de pliegos, que pueden desencadenar en juicio si las partes no estan conformes.

Segundo punto. Yo como trabajador de una empresa no voy a ir a juicio, pero si me hago autonomo o soy el dueño de una empresa, cada contrato de proyecto cuenta como cualquiera, igual que el tuyo. Claro está que no se va a derrumbar un edificio porque haya un error en la linea 13234, pero si una aplicacion bancaria a traves de web tiene un fallo de seguridad y alguien roba dinero, me meten en la carcel echando leches.

¿No será que te da por **** que digan que un ingeniero informatico lo tiene mas dificil que un arquitecto? Y ojo, que yo no lo digo...

Un saludo.

costa rica retirement said...

Es gracioso mi papa es arquitecto y estas cosas que dicen en este blog le suceden a el por lo menos no es el unico