Está en la página 1de 5

Scientia et Technica Ao XIII, No 34, Mayo de 2007. Universidad Tecnolgica de Pereira.

ISSN 0122-1701 381

DEL MANIFIESTO GIL SUS VALORES Y PRINCIPIOS


RESUMEN ELICER HERRERA URIBE
El manifiesto gil es un documento que resume en cuatro valores y doce Ingeniero de Sistemas.
principios las mejores prcticas para el desarrollo de software, basados en la Docente auxiliar,
experiencia de 17 industriales del software, en procura de desarrollos ms Universidad Tecnolgica de Pereira
rpidos conservando su calidad. Este artculo presenta de manera general la eherrera@utp.edu.co
evolucin de las metodologas para el desarrollo de software y una resea de los
valores y principios del manifiesto gil. LUZ ESTELA VALENCIA
AYALA
PALABRAS CLAVES: Metodologas giles, manifiesto gil, desarrollo de Ingeniero Industrial.
software, metodologas pesadas, desarrollo gil. Docente auxiliar,
Universidad Tecnolgica de Pereira
ABSTRACT levayala@utp.edu.co
The agile manifesto is a document that summarizes, in four values and twelve
principles, the best practices of software development based on 17 software
professionals experience, on how to develop software quickly, yet keeping its
quality. This article presents, in a general manner, the evolution of
methodologies used to develop software and a short view of the values and
principles of said document

KEYWORDS: Agile methodologies, agile manifesto, agile development,


software development,
computador al Z3, construido en Alemania por Konrad
1. INTRODUCCIN Zuse en los 40`s, la cual era digital, multiusos y, a
diferencia de los dos primeros modelos (Z1 y Z2),
En la actualidad, las metodologas giles se convierten plenamente funcional. [2]
en un modelo para los iniciados en el desarrollo de
software, estas metodologas presentan algunas ventajas De manera simultnea en Inglaterra y Estados Unidos se
ante las metodologas pesadas pero son limitadas por el adelantaron proyectos de investigacin que aos ms
tamao del proyecto y el nmero de programadores que tarde dieron como resultado mquinas ms sofisticadas y
pueden intervenir. Sin embargo, resultan muy atractivas ms veloces, programables, de propsitos generales y
para el desarrollo de aplicaciones en empresas de capaces de ejecutar un considerable nmero de tareas de
software que estn iniciando o para el desarrollo de mayor complejidad.
software por mdulos, sin descuidar la calidad y
garantizando la actualizacin de la documentacin. Dado que el objetivo de este artculo no es el debate
En este artculo se presenta el concepto de metodologas dialctico respecto a la razn que puedan tener los
giles. Se inicia con una breve resea histrica del historiadores en cuanto a cundo y cul fue el primer
surgimiento de la computacin. A continuacin se computador y cul fue el primer programa de computador
expone la idea de ciclo de vida del software. Luego desarrollado; se acepta el reconocimiento dado por la
analizamos las metodologas pesadas que son las literatura existente sobre el inicio de la informtica y la
antecesoras de las metodologas giles. Finalmente, se computacin, en los aos 50.
explican los valores, principios y las implementaciones
de las metodologas giles. En la siguiente dcada, la programacin paso de ser
externa (conexin de cables y dispositivos) a ser
2. RESEA HISTRICA almacenada en la memoria del computador; estos
primeros programas se caracterizaron por un alto grado
En el siglo XIX Charles Babbage concibi y diseo la de dependencia entre los lenguajes, el computador y las
mquina analtica[1], la primera mquina de propsito personas que los escriban. Para enfrentar tal situacin
general, la cual poda ser programada e implementaba el surgieron los lenguajes de alto nivel, los compiladores y
concepto de almacenamiento de datos, bucles e los programas almacenados en medios magnticos,
instrucciones de decisin, de modo que el programa se haciendo el proceso de elaboracin de programas ms
ejecutaba sin la intervencin de una persona que la exigente, dadas las numerosas y nuevas posibilidades
operase. respecto al uso del computador.
Aunque esta mquina puede considerarse, Sin embargo, en una disciplina naciente la falta de
conceptualmente, como el primer computador, en tcnicas o metodologas, hicieron evidente el exceso en
realidad nunca se construy. Por tal razn, muchos los tiempos empleados, los sobrecostos, la insatisfaccin
historiadores atribuyen el calificativo de primer de los usuarios o clientes; en definitiva, la baja calidad de
Fecha de Recepcin: 24 Agosto de 2006
Fecha de Aceptacin: 16 Marzo de 007
382 Scientia et Technica Ao XIII, No 34, Mayo de 2007. Universidad Tecnolgica de Pereira

los programas. Esto fue lo que finalmente desemboc en 4. METODOLOGAS PESADAS


la llamada crisis del software.
Existen varios modelos para el desarrollo de software,
Como respuesta a esta crisis, en la segunda mitad de la entre los que se encuentran el modelo de cascada, el
dcada de los 60 se populariz el concepto de ingeniera modelo incremental y el modelo en espiral. Presentamos
de software. Al formalizarse una metodologa para la el modelo en cascada por ser el ms difundido, el de
elaboracin de programas bajo conceptos de ingeniera, mayor popularidad, y por considerar que refleja fielmente
esta tarea se transform en un proceso riguroso los principios de las metodologas convencionales.
propendiendo por el cumplimiento de los cronogramas,
los presupuestos, y lo ms importante, la satisfaccin del 4.1 Caractersticas del modelo en cascada
cliente.
Entre las ms notables caractersticas del este modelo se
Durante el proceso de evolucin de la ingeniera del pueden citar:
software, se la ha concebido y definido de diversas
formas, al respecto la IEEE (IEEE93), dice: La Prestan especial atencin al modelado y al
Ingeniera de Software consiste en la aplicacin de un mantenimiento de los modelos.
enfoque sistemtico, disciplinado y cuantificable hacia el Hacen nfasis en el control del proceso de desarrollo,
desarrollo, operacin y mantenimiento del software. en la metodologa, en el rigor de las actividades
involucradas en el desarrollo, en las herramientas y
En general la ingeniera de software establece los en la notacin que se usa.
mtodos, los principios y las reglas para obtener software Hacen nfasis en la especificacin minuciosa del
confiable de excelente calidad, a partir de un enfoque proceso, con un alto nmero y especializacin de
sistmico. roles.
Limitan la participacin del cliente slo a reuniones
3. CICLO DE VIDA de control, reduciendo de manera significativa sus
aportes.
Tradicionalmente se reconoce que, si bien, producido por Asumen que no se van a presentar cambios una vez
el hombre, el software padece del rigor del llamado ciclo iniciado el proyecto y esperan que la arquitectura se
de vida, que rige a todo en la naturaleza, tiene un defina tempranamente.
comienzo, un desarrollo, un proceso de maduracin y un Procuran documentar de manera rigurosa toda
final. En el entorno del desarrollo de software, se actividad desarrollada en el proyecto.
identifica el ciclo de vida como la secuencia de: anlisis y
Ocasionan largos tiempos de espera por parte del
especificacin de requerimientos, diseo de interfaces y
usuario para ver los resultados.
de software, implementacin y pruebas unitarias, de
Se rige por la rigurosidad de un contrato.
integracin y del sistema, implantacin, y finalmente el
mantenimiento (Figura 1)
5. METODOLOGAS GILES
Anlisis
Las metodologas giles resuelven los problemas
surgidos, posteriormente, a la masificacin del uso del
Diseo
computador personal, dado que las expectativas y
Implementacin necesidades por parte de los usuarios se hicieron ms
urgentes y frecuentes. Fue as como a comienzo de los 90
Implantacin surgieron propuestas metodolgicas para lograr
resultados ms rpidos en el desarrollo de software sin
Mantenimiento
S e m a n a s
disminuir su calidad.

Figura1. Modelo de cascada


Despus de casi una dcada de esfuerzos aislados, en
febrero de 2001 en Utah-EEUU, se reunieron 17
En su comienzo las metodologas para el desarrollo de empresarios de la industria del software1 y como
software fueron muy claras en llamar etapas a estos resultado del debate respecto a las metodologas,
conjuntos de actividades que se requieren, estableciendo principios y valores que deben regir el desarrollo de
un grado fuerte de discrecin y secuencialidad. Cada software de buena calidad, en tiempos cortos y flexible a
etapa tena un puesto en la secuencia, sus objetivos, sus
entradas y salidas, sus herramientas y mtodos; se poda 1
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn,
saber en qu etapa se encontraba un proyecto. Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith,
Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin,
Steve Mellor, Ken Schwaber, Jeff Sutherland y Dave Thomas.
Scientia et Technica Ao XIII, No 34, Mayo de 2007. Universidad Tecnolgica de Pereira 383

los cambios, se acept el trmino gil para hacer Con frecuencia las dos partes, cliente y equipo de
referencia a nuevos enfoques metodolgicos en el desarrollo, asumen posiciones distantes, con ingredientes
desarrollo de software. de rivalidad y prevencin al punto de tener que dedicar
tiempo valioso a la tarea de redactar, depurar y firmar el
En esta reunin se cre The Agile Alliance, contrato.
organizacin sin nimo de lucro dedicada a promover los
conceptos relacionados con el desarrollo gil de software En este sentido, y complementando el valor que se da al
y acompaar a las organizaciones para que adopten trabajo en equipo, las metodologas giles incluyen de
dichos conceptos. Como punto de partida o base manera directa y comprometida al cliente o usuario en el
fundamental de las metodologas giles se redact y equipo de trabajo. Es un ingrediente ms en el camino al
proclam el manifiesto gil. xito en un proyecto de desarrollo de software. Ms que
un ambiente de enfrentamiento en el cual las partes
5.1. Manifiesto gil buscan su beneficio propio, evadiendo responsabilidades
5.1.1 Valores y procurando minimizar sus riesgos, bajo la filosofa de
El manifiesto hace nfasis en cuatro valores principales las metodologas giles se busca el beneficio comn, el
que deben soportar el desarrollo de software: del equipo de desarrollo y el del cliente. La participacin
del cliente debe ser constante, desde el comienzo hasta la
a. Los individuos e interacciones por encima de los culminacin del proyecto, y su interaccin con el equipo
procesos y las herramientas: para garantizar una mayor de desarrollo, de excelente calidad.
productividad, las metodologas giles valoran el recurso
humano como el principal factor de xito. Reconocen que Es el cliente quien sabe qu es lo que necesita o desea, el
contar con recurso humano calificado con capacidades ms indicado para corregir o hacer recomendaciones en
tcnicas adecuadas, facilidades para adaptarse al entorno, cualquier momento del proyecto.
trabajar en equipo e interactuar convenientemente con el
usuario, da mayor garanta de xito que contar con d. La respuesta al cambio por encima del seguimiento
herramientas y procesos rigurosos. de un plan: dada la naturaleza cambiante de la
tecnologa y la dinmica de la sociedad moderna, un
Las metodologas giles reconocen que es ms proyecto de desarrollo de software se enfrenta con
importante construir un buen equipo de trabajo que las frecuencia a cambios durante su ejecucin.
herramientas y procesos. Procura primero conformar el
equipo y que ste defina el entorno mas conveniente de Van desde ajustes sencillos en la personalizacin del
acuerdo con las necesidades y las circunstancias. software hasta cambios en las leyes, pasando por la
aparicin de nuevos productos en el mercado,
b. Software funcionando por encima de la comportamiento de la competencia, nuevas tendencias
documentacin: los profesionales relacionados con el tecnolgicas, etc. En este sentido, las metodologas
desarrollo de software, aunque no es su fuerte producir pesadas con frecuencia caen en la idea de tener todo
documentos, reconocen su importancia, al igual que completo y correctamente definido desde el comienzo.
reconocen el tiempo y costo de mantener una No se cuenta entre sus fortalezas la habilidad para
documentacin completa y actualizada. responder a los cambios.

En este sentido, las metodologas giles respetan la Por el contrario, en las metodologas giles la
importancia de la documentacin como parte del proceso planificacin no debe ser estricta, puesto que hay muchas
y del resultado de un proyecto de desarrollo de software, variables en juego, debe ser flexible para poder adaptarse
sin embargo, con la misma claridad hacen nfasis en que a los cambios que puedan surgir. Una buena estrategia es
se deben producir los documentos estrictamente hacer planificaciones detalladas para unas pocas semanas
necesarios; los documentos deben ser cortos y limitarse a y planificaciones mucho ms abiertas para los siguientes
lo fundamental, dando prioridad al contenido sobre la meses.
forma de presentacin.
5.1.2 Principios del manifiesto gil
La documentacin, en las metodologas giles procura Bajo el concepto de principio se hace referencia a las
mecanismos ms dinmicos y menos costosos como son caractersticas que hacen la diferencian entre un proceso
la comunicacin personal, el trabajo en equipo, la gil y uno tradicional, y constituyen las ideas centrales
autodocumentacin y los estndares. del desarrollo gil.

c. La colaboracin del cliente por encima de la I. Nuestra mayor prioridad es satisfacer al cliente
negociacin del contrato: clsicamente el usuario o mediante entregas tempranas y continuas de software
cliente es quien solicita e indica qu debe hacer el con valor. Para que una metodologa puede ser calificada
software, y espera los resultados de acuerdo con sus como gil debe empezar a entregar software funcionando
exigencias o expectativas, en los plazos establecidos. y til en pocas semanas. Esto acaba con la incertidumbre,
384 Scientia et Technica Ao XIII, No 34, Mayo de 2007. Universidad Tecnolgica de Pereira

desconfianza, insatisfaccin y desmotivacin producidas confiar en ellos para que consigan hacer su trabajo. El
en el cliente debido a las largas esperas para ver nimo, el sentido de pertenencia y la disposicin del
resultados concretos. equipo de trabajo son fundamentales en un proyecto de
software.
Por lo tanto, la participacin del cliente se hace ms
productiva en la medida en que el software esta siendo Parte de la motivacin est en la confianza que se
probado, revisado y aprobado constantemente por quien muestre en el equipo de trabajo, el respeto por sus aportes
lo requiri y lo va a usar. y la comodidad que se les conceda en el momento de
realizar su trabajo. Todo lo que se pueda hacer por dar
II. Bienvenidos los cambios a los requerimientos, nimo y motivacin a las personas participantes en el
incluso los tardos. Los procesos giles aprovechan los proyecto debe hacerse.
cambios para la ventaja competitiva del cliente. Es
ambicioso esperar que el cliente defina de manera VI. El mtodo ms efectivo y eficiente de compartir
definitiva todos sus requerimientos desde el comienzo y informacin a, y dentro de un equipo de desarrollo, es
peor an depender de ello para adelantar el proyecto. la conversacin cara a cara. El trabajo en equipo debe
apoyarse con un buen sistema de comunicacin tanto
Los cambios en los requerimientos deben asumirse como entre los miembros del equipo de desarrollo como entre
parte del proceso de maduracin del software, debe stos y el usuario. La mejor forma de hacerlo es hablando
entenderse que cuando el cliente describe una necesidad personalmente; en la medida en que se evitan los
lo hace desde su perspectiva de usuario y que sus intermediarios en el proceso de comunicacin, como son
conocimientos tcnicos lo pueden limitar para hacerse el papel, el telfono, el sistema de correo, y dems
entender completamente. Por lo tanto, las novedades en medios de comunicacin, se incrementa la posibilidad de
los requerimientos pueden ser ajenas a la voluntad del que el resultado sea el que se solicit.
cliente.
VII. El software funcionando es la medida de
Esta forma de ver los cambios en los requerimientos progreso. Cuando se trata de establecer el estado de un
induce al equipo de desarrollo a preferir los diseos proyecto, si bien existen diversas formas de medirlo, es la
flexibles, lo cual aumenta la satisfaccin del cliente y cantidad de requerimientos implementados y
redunda finalmente en beneficio del equipo de desarrollo funcionando la que mas claridad y confiabilidad ofrecen
dada la comodidad en el diagnstico y ajustes que se para establecer una medida del avance del proyecto.
requieren en la etapa de mantenimiento. Cualquiera otra que se presente ser superada por una
que involucre el software qu ya ha sido probado y
III. Liberar frecuentemente software funcionando, aprobado por el usuario.
desde un par de semanas a un par de meses, con
preferencia por los periodos ms cortos. El cliente VIII. Los procesos giles promueven el desarrollo
siempre espera ver funcionando el programa, y es eso lo sostenible. Los patrocinadores, desarrolladores y
que debe entregrsele. Pocas veces resulta conveniente, usuarios deberan ser capaces de mantener relaciones
despus de varios meses de trabajo, entregar slo cordiales. Se debe trabajar de forma que lo urgente no se
informes, modelos abstractos y planes. Se deben entregar imponga sobre lo importante. Desde el inicio del
resultados que incluyan software que el usuario pueda ver proyecto se debe asignar responsabilidades y tareas de
trabajando. Si hay una circunstancia que motiva al manera que siempre se puedan cumplir.
cliente es poder usar el software que solicit.
IX. La atencin continua a la excelencia tcnica y al
IV. Las personas del negocio y los desarrolladores buen diseo incrementan la agilidad. Adems de
deben trabajar juntos diariamente a lo largo del satisfacer los requerimientos del usuario, los aspectos
proyecto. Si bien el usuario desconoce lo referente al tcnicos deben ser excelentes, independientemente de su
lenguaje, el diseo de bases de datos, protocolos y dems cantidad y complejidad. La calidad debe ser vista desde
aspectos tcnicos, es l, quien nos puede sealar qu est dos perspectivas, la del usuario y la del equipo
bien desde el punto de vista de la funcionalidad y desarrollador. Para el personal tcnico resulta evidente
resultados entregados por el software. que cuanta ms calidad tenga el software en cuanto a
diseo y estndares de implementacin, ms rendimiento
La intervencin oportuna del usuario puede resultar obtiene en las tareas de pruebas, mantenimiento, y mayor
decisiva en el xito de un proyecto y puede reducir el reusabilidad.
costo o el tiempo. Esta intervencin puede ser en
cualquier momento, por lo cual el usuario debe estar X. La simplicidad el arte de maximizar la cantidad
involucrado todo el tiempo que dure el proyecto. de trabajo no hecho- es esencial. Se estima que el
cliente nunca usar el 90% de la funcionalidad que se
V. Construir proyectos en torno a individuos implementa sin que est haya sido solicitada. Se deben
motivados. Darles el entorno y apoyo que necesiten, y centrar los esfuerzos en lo que realmente importa, de
Scientia et Technica Ao XIII, No 34, Mayo de 2007. Universidad Tecnolgica de Pereira 385

manera simple, sin excederse en refinamientos y La participacin directa del usuario durante todo el
optimizaciones innecesarias. Si funciona as, djelo as, proyecto es una garanta de xito, ya que la deteccin de
si se va a perfeccionar u optimizar una rutina o programa los errores es ms oportuna y de igual manera su
se debe evaluar minuciosamente el costo beneficio. correccin

XI. Las mejores arquitecturas, requerimientos y Si bien los proponentes presentan su experiencia como
diseos emergen de los equipos auto-organizados. Los muestra de conveniencia en el uso de sus metodologas,
principios que rijan en equipo de trabajo deben surgir de en trminos generales stas ofrecen mayores
su interior, los ajustes, estructuras administrativas deben probabilidades de xito en proyectos que cumplan ciertas
formularse con la participacin de todo el equipo condiciones como son no involucrar a ms de 15 o 20
teniendo siempre presente el bien colectivo, la programadores, que no requieran ms de cinco o seis
responsabilidad es de todos. meses de trabajo, que el entorno de desarrollo sea
apropiado para la comunicacin entre los miembros del
XII. En intervalos regulares, el equipo reflexiona equipo, que el cliente o usuario este dispuesto y
sobre cmo volverse ms efectivo, entonces afina y disponible para el trabajo en equipo con el personal
ajusta su comportamiento como corresponde. El tcnico y que los requerimientos puedan ser formulados
equipo de trabajo est todo el tiempo dispuesto a cambiar segn va avanzando el proyecto.
lo que sea necesario para mejorar. En cada tarea siempre
existe la posibilidad de hacerlo mejor la prxima vez. 7. BIBLIOGRAFA

5.2. Implementaciones del manifiesto gil [1] PRESSMAN, Roger S. Ingeniera del Software: Un
Existen en el mercado varias propuestas sobre cmo enfoque prctico, Quinta edicin, 601 pginas,
implementar los valores y principios enunciados, a las McGraw-Hill, Madrid 2002.
cuales los autores les colocan su toque personal [2] LAWRECE, Shari P. Ingeniera del Software, Teora
dependiendo de su experiencia o necesidad. y prctica, Primera edicin, 759 pginas, Prentice
Hall, Buenos Aires 2002.
Entre las ms reconocidas se cuentan: SCRUM, Crystal [3] McCONNELL, Steve. Desarrollo y gestin de
Methodologies, Dynamic Systems Development Proyectos informticos, Primera edicin, 691 pginas,
Method (DSDM), Adaptive Software Development McGraw-Hill, Mxico 1997.
(ASD), Feature-Driven Development (FDD), Lean [4] KENDALL, Kenneth. Anlisis y diseo de sistemas,
Development (LD) 2 Tercera edicin, 913 pginas, Prentice Hall, Mxico,
1997
6. CONCLUSIONES Y RECOMENDACIONES [5] CRYSTAL, Agile project management.
http://crystalmethodologies.org/. Visitado en Marzo
Las metodologas giles son una alternativa interesante 2006
para superar las debilidades de las metodologas [6] DSDM, Dynamic Systems Development Method.
convencionales, pero, al igual que los computadores no http://en.wikipedia.org/wiki/Dynamic_Systems_Devel
son en s mismos la solucin a los problemas de opment_Method#Principles_of_DSDM. Visitado en
procesamiento de informacin, stas no son la solucin a Marzo 2006
todos los problemas que enfrenta el desarrollo de [7] FDD. Feature Driven Development
software. http://en.wikipedia.org/wiki/Feature_Driven_Develop
ment. Visitado en Marzo 2006
Con el surgimiento de las metodologas giles, el [8] Historia de la Informtica.
concepto de etapa se desvanece dando paso a la idea de http://ciberhabitat.gob.mx/museo/historia/texto/texto
actividades, las cuales pueden ser organizadas a _guerra.htm. Visitado en Marzo 2006.
comodidad del equipo de trabajo, en paquetes pequeos [9] Manifesto for Agile Software Development.
conservando las mismas labores e identidad de las etapas http://agilemanifesto.org/ Visitado en Marzo 2006
concebidas en las primeras metodologas. [10] Mquina Analtica.
http://www.dma.eui.upm.es/historia_informatica/Doc
Es claro que la informtica y la computacin son ciencias /Maquinas/MaqAnaliticaBabbage.htm. Visitado en
nuevas, sin embargo ya es tiempo de que se les concedan Marzo 2006
espacios diversos y espontneos en los que las personas [11] XP. Extreme programming.
que participan en los proyectos del rea puedan sentirse www.extremeprogramming.org. Visitado en Marzo
ms productivos con base en las circunstancias 2006
particulares de cada proyecto.

2
Para detalles sobre las diferentes propuestas de metodologas giles
ver la bibliografa.

También podría gustarte