En Febrero del 2001 un puñado de las más influyentes mentes de la ingeniería de software moderna se reunieron en un resort en Utah y discutieron durante 3 días la necesidad de adoptar mecanismos más ágiles para el desarrollo de software. 17 fueron los signatarios originales de lo que hoy se conoce como el "Agile Manifesto". A esa reunión asistieron representantes de varias metodologías en uso al momento (DSDM, Scrum, XP, Desarrollo adaptivo, entre otras). Las conclusiones resultado de este "mind-meld" quedaron plasmadas en una declaración de principios que a la fecha establece la base para desarrollar software exitosamente de forma rápida y que da valor a los que pagan el software.
En Noviembre del 2007 y resultado de la imperiosa necesidad de arreglar un proyecto de desarrollo quebrado descubrí Scrum [1]. De aplicar con un buen grado de éxito la metodología de Schwaber y Sutherland, nos vimos gradualmente necesitando más y mejores prácticas. Scrum nos enseño que el tradicional método de la cascada es una falacia que jamás debió ver visto la luz del día y menos aún haber sido impartida a millones de aprendices de programación. Tuvimos que aprender de nuestros fracasos.
Sin embargo, y los mismos creadores lo indican, Scrum solo ofrece un marco de trabajo que garantiza el éxito de un proyecto de desarrollo de software (como si esto fuera poca cosa). Adicionalmente se necesitan de forma integral prácticas y disciplinas que nos ayuden a escribir mejor código, de más calidad y con menos "pulgas". Extreme Programming (XP) consolida estas prácticas, las documenta y las integra en una metodología que por si sola ofrece grandes beneficios para programadores y clientes por igual.
El estudio de estas prácticas ágiles me ha llevado a conocer partes de otras metodologías que cuando se aplican de forma integral y en cualquier medida resultan en un cambio dramático en las formas de hacer las cosas alrededor de la programación, un cambio que trae como consecuencia mayor productividad y calidad en el desarrollo y lo que es más importante: verdadero valor y respuesta ágil a las necesidades de los consumidores del software.
Los franceses acuñaron en 1976 el termino "Telematiqué" para referirse a la convergencia de las disciplinas relacionadas con la computación y las comunicaciones. Por otro lado la Informática se refiere a la disciplina que estudia el tratamiento automatizado de la información por medio de ordenadores y la mecamática se refiere al estudio de los fierros sobre los cuales se implementan las soluciones informáticas.
En este orden de ideas podemos entonces sugerir que la "Agilmática" es la disciplina que se encarga del estudio, desarrollo y promoción de prácticas y metodologías ágiles aplicadas al desarrollo de productos de software.
Alistair Cockburn sugiere que el desarrollo de software no es naturalmente una rama de la ingeniería y sugiere la necesidad de reemplazar el termino "Ingeniera de Software" [2].
En el idioma ingles se usa el término "Agility" o "Agile software development" para referirse al conjunto de métodos y prácticas ágiles, creo que podemos encontrar un término más apropiado. Así entonces dejo a su consideración lo siguiente...
Agilmática: La disciplina de la informática que se encarga del desarrollo, estudio y promoción de prácticas y metodologías ágiles aplicadas de forma integral, profesional y sostenida al desarrollo exitoso de productos de software mediante una gestión iterativa del trabajo alrededor de ese desarrollo.
Mario Estrella
Aprendiz de Agilmática.
Aprendiz de Agilmática.
Referencias
1. Mike Cohn, 2005; Do_It_Yourself_Oct05 - StickyMinds.com
(http://www.mountaingoatsoftware.com/system/article/file/17/Do_It_Yourself_Oct05.pdf)
(http://www.mountaingoatsoftware.com/system/article/file/17/Do_It_Yourself_Oct05.pdf)
2. Cockburn, 2004; The end of software engineering and the start of economic-cooperative gaming
(http://www.comsis.fon.bg.ac.yu/ComSIS/Volume01/InvitedPapers/AlistairCockburn.htm)
(http://www.comsis.fon.bg.ac.yu/ComSIS/Volume01/InvitedPapers/AlistairCockburn.htm)
