domingo, 8 de julio de 2012

¿Ha Muerto el Diseño?

Es increíble cómo este artículo de Martin Fowler, escrito hace 12 años, todavía sigue teniendo tanta vigencia. Aquí pueden leer una traducción en español, si lo desean. Lectura obligada para todo arquitecto, diseñador y/o desarrollador de software.

Corría el año 2000. Con el fin del siglo XX empezaron a surgir las críticas hacia RUP y hacia las metodologías orientadas al plan. La (mala) experiencia había demostrado que construir software no era lo mismo que construir edificios. En una emergente economía de conocimiento, el cambio era una constante en todos los proyectos. Todavía no se hablaba de Scrum pero sí de XP, y el siglo XXI nació con el manifiesto ágil, firmado por los grandes diseñadores de software del mundo, entre ellos Martin Fowler.

En este histórico artículo, Fowler se pregunta cuál es el rol del inmaculado arquitecto de software en el desarrollo ágil. Viniendo del mundo del diseño planeado, enfrenta al plan contra el diseño evolutivo, concluyendo que XP no es "codificar y corregir", ni mucho menos una involución para la Ingeniería de Software.

Hoy, 12 años después, siguen rondando las mismas dudas. ¿Existe la Arquitectura de Software? ¿Es la construcción de software una Ingeniería? Los aspectos blandos que el desarrollo implica nos acercan más a disciplinas sociales de lo que a las empresas y a los gerentes de proyecto les gustaría. El software es un intangible y, como tal, completamente maleable. A pesar de todas las técnicas, patrones, estándares, frameworks, librerías, la programación sigue siendo un trabajo creativo, más cercano al de un artesano que al de un técnico. El hardware podrá evolucionar según la exponencial de la Ley de Moore, pero el software no se puede poner en una cadena de montaje; siempre que escribir la lógica dependa de humanos, el progreso será de forma escalonada y a los trompicones.

La revolución que comenzó a inicios del nuevo siglo todavía sigue madurando, enarbolando las banderas de Scrum y otras metodologías ágiles. Todavía no encontramos el balance perfecto entre las relaciones humanas y el lenguaje de máquina. Pero estamos mucho más cerca.

Sitio oficial de Martin Fowler: