[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Arquitecto de Software
- To: mindfood@xxxxxxxxxxxxxxx
- Subject: Arquitecto de Software
- From: Jose San Leandro <jose.sanleandro@xxxxxxxxxxxx>
- Date: Thu, 24 May 2007 20:54:23 +0200
- Delivered-to: mailing list mindfood@orange-soft.com
- Delivered-to: moderator for mindfood@orange-soft.com
- Mailing-list: contact mindfood-help@orange-soft.com; run by ezmlm
- Organization: Ventura24
- User-agent: KMail/1.9.5
Hola,
Acabo de leer un artículo [1] titulado "Those Who Can, Code; Those Who Can't,
Architect", que me ha llamado la atención.
Es una crítica al estereotipo de "nuevo arquitecto": pretencioso, inteligente,
sabio, seguro, y sobre todo, experto.
Tengo que decir que el concepto de arquitecto me pilló de improviso. Nunca me
molesté en averiguar qué se esperaba de ese rol. Simplemente lo vi como una
variante a la carrera profesional por defecto de "programador
(junior)->analista (senior)->jefe de proyecto->(..->)?gerente..".
No sé por qué lo de "arquitecto". Supongo que servía como reclamo para darle
más repercusión, para ver si eso le añadiría más valor o más posibilidades al
nuevo término en su evolución, hasta convertirse en lo que es hoy.
En cualquier caso, no me quejo. Creo que desarrollar software no es un proceso
automatizable por el momento. En mi opinión, debería tener un enfoque
científico, y no el de tener valor en función de cuánto satisfaga los
requisitos del cliente.
Pero por ahora funciona así. Se rige por su utilidad práctica, y dicha
utilidad depende de baremos y definiciones provinientes de las áreas
de "negocio" o "cliente", en las cuales absolutamente nada es susceptible de
ser modelado para ser reproducible, planificable, comparable ni tan siquiera
medible.
Lo natural en formas de trabajo de este estilo es "hacer lo que se pide",
aunque se haga la misma aplicación 3 o 4 veces, dependiendo de las personas
que ocupen puestos con capacidad para decidir al respecto.
Y ese enfoque es extremadamente permeable al "tiene que estar hoy", que
determina increíblemente las decisiones que toma el programador, y que van en
contra de aprovechar los cambios para mejorar los sistemas.
Afortunadamente, la tecnología avanza y permite poco a poco solventar algunos
de esos problemas, dentro de este contexto. Pero desafortunadamente, tiene
que haber personas que estén al tanto de las novedades, vean cómo se podrían
aplicar, y sean capaces de convencer por un lado a los "especificadores", y
por otro a los programadores. Éstos últimos, que han llegado a cambiar el
chip y predomina en ellos la inclinación por los cambios pequeños que no
mejoran nada, que acometer cambios razonados más trabajosos.
Ésa es la visión que yo tengo de un arquitecto en entornos donde la producción
de software no es una actividad científica en absoluto, sino que responde a
las peticiones del mundo empresarial. Y parece que la capacidad para esconder
valor en lugar de añadirlo se ha convertido en LA disciplina (Marketing), que
determina en última instancia las decisiones de la organización.
No se puede luchar contra eso. Pero en otro contexto, ¿qué sería un arquitecto
de software? ¿Una persona al día en su disciplina, que se motiva cuando
persigue no sólo la satisfacción del usuario, sino también cuando aprende y
su trabajo evoluciona con él, sin temor a tener que rehacerlo todo de nuevo?
¿Qué distingue al arquitecto de cualquier otro rol?
Actualmente, ser más "friki" que un programador, hasta el punto de no querer
ser jefe de proyecto. Y aguantar, al encontrarte con compañeros de facultad,
el "¿*todavía* programas?".
Un saludo,
Jose.
[1] http://jdj.sys-con.com/read/345637.htm