ENFOQUE SISTEMICO DESARROLLO AGIL
ENFOQUE SISTEMICO PARA EL DESARROLLO ÁGIL
En
los años 90 se comenzaron a proponer métodos ágiles para el desarrollo de
software, que permitieran a los desarrolladores concentrarse en el software y
no totalmente en el diseño y documentación del mismo. Éstas metodologías tienen
un enfoque iterativo para la especificación, el desarrollo y la entrega del
producto, teniendo como principio que los requerimientos podían cambiar
permanentemente y durante el proceso de desarrollo, entregando sistemas
funcionales más rápidamente con la posibilidad de agregar nuevos cambios en las
especificaciones.
En
la actualidad, el proceso de desarrollo de software ha sido abordado desde
diferentes metodologías, las cuales tienen diferentes enfoques para la captura
de requerimientos y el proceso de desarrollo del sistema software, algunas de
ellas se basan en analizar y documentar rigurosamente las especificaciones del
sistema, para luego realizar un desarrollo y posteriormente efectuar las
pruebas. Otros métodos proponen centrarse en la organización del equipo de
trabajo, incluir al cliente activamente y en arrojar resultados satisfactorios
más rápidamente. Sea cual fuere la metodología es conveniente saber que éstas
se eligen e implementan de acuerdo a la naturaleza del proyecto, llegando
incluso a combinarse entre sí para lograr mejores resultados.
Entre las metodologías
ágiles más destacadas hasta el momento podemos nombrar:
• XP – Extreme
Programming
• Scrum
• Crystal Clear
• DSDM – Dynamic
Systems Developmemt Method
• FDD – Feature Driven
Development
• ASD – Adaptive
Software Development
• XBreed
Los métodos
ágiles son también denominados livianos (lightweight), adaptativos e
iterativos.
Livianos
puesto que ellos se consideran más fáciles de usar y no enfatizan la
planificación y documentación detallada como sí lo hacen los métodos
tradicionales más formales, que en contraste con las ágiles se denominan
pesados (heavyweight).
Adaptativos
porque consideran los cambios como una realidad inevitable y no como
excepciones. Los métodos ágiles permiten una rápida reacción frente a estos.
Iterativos
porque dividen el desarrollo del proyecto en ciclos muy cortos. Al final de
cada ciclo una porción ejecutable del sistema es entregada al usuario para que
éste la valide.
Las metodologías Ágiles versus las
Tradicionales
Las
metodologías tradicionales imponen una disciplina de trabajo sobre el proceso
de desarrollo de software, con el simple objetivo de asegurar que el software
que se obtenga satisfaga los requerimientos del usuario y reúna estándares
aceptables de calidad. El trabajo de planificación es riguroso, aún cuando en
la práctica muchas veces estas planificaciones no se respetan. En
contraposición a este tipo de metodología tradicional las metodologías ágiles
aportan nuevos métodos de trabajo que apuestan por una cantidad apropiada de
procesos. Es decir, no se desgastan con una excesiva cantidad de cuestiones
administrativas (planificación, control, documentación) ni tampoco defienden la
postura extremista de total falta de proceso. Ya que se tiene conciencia de que
se producirán cambios lo que se pretende es reducir el costo de rehacer el
trabajo.
Se identifican
como principales diferencias entre ambos enfoques las siguientes:
Las
metodologías ágiles son adaptativas más que predictivas. Una metodología
tradicional potencia la planificación detallada y de largo alcance de
prácticamente todo el desarrollo de software (ejemplo modelo cascada). En
contraste las metodologías ágiles proponen procesos que se adaptan y progresan
con el cambio, llegando incluso hasta el punto de cambiar ellos mismos.
Las
metodologías ágiles están orientadas más a los desarrolladores que a los
procesos. Intentan entonces trabajar con la naturaleza de las personas
(desarrolladores y usuarios) asignadas a un proyecto, más que contra ellos, de
tal forma que permiten que las actividades de desarrollo de software se
conviertan en una actividad grata e interesante
Fuentes
Comentarios
Publicar un comentario