1. MANIFIESTO AGIL:
Al individuo y las interacciones del equipo de desarrollo sobre el proceso y
las herramientas.
Desarrollar software que funciona más que conseguir una buena
documentación.
La colaboración con el cliente más que la negociación de un contrato.
Responder a los cambios más que seguir estrictamente un plan.
Manifiesto ágil: está compuesta por cuatro lineamientos (síntesis)
La interacción entre los usuarios con el SW, El SW se debe adaptar a los
usuarios y no viceversa
Lo que importa es que el SW funcione independientemente de la
información que se recopile
Lo que importa es ayudar al cliente a conseguir su cometido, buscando una
interacción cercana con el mismo.
Estar dispuesto a cambiar cuestiones en el desarrollo y no seguir procesos
continuos debido a modificaciones en los requerimientos
METODOLOGIAS TRADICIONALES Vs METODOLOGIAS AGILES
Metodologías tradicionales Metodologías Agiles
Se basan en desarrollos estructurados
donde se genera un contrato para dar
inicio a la ejecución del proyecto, los
requerimientos del cliente se expresan
por escrito dejando en claro las
necesidades del cliente y el alcance
del producto software a desarrollar
basado en los requerimientos técnicos,
económicos y operativos, en esta
metodología se ejecutan varios flujos
de trabajo dentro de los cuales se
documentan todas y cada una de las
características del producto SW. Se
tiene en cuenta la arquitectura software,
y al ser un proceso documentado se
generan más artefactos y hay más roles
implicados dentro del desarrollo del
proyecto
Son metodologías proyectadas a
proyectos pequeños, se basan en un
diseño dinámico el cual busca la
generación de poca documentación y
se centraliza en la codificación y por
consiguientegeneracion del producto
final.
Se ajustan a equipos de desarrollo
pequeños, y proyectos en los cuales
los plazos son reducidos, los requisitos
volátiles, y/o basados en nuevas
tecnologías.
Esta metodología pretende poder
realizar entregas continuas y
significativas al cliente respecto al
producto SW
2. DIFERENTES TIPOS DE METODOLOGIAS AGILES:
PROGRAMACIÓN EXTREMA (EXTREME PROGRAMMING, XP)
Metodologíabasada en la obtención de requisitos de manera verbal e informal, en
las cual el cliente hace parte activa y continua en la ejecución del proyecto, se
considera adecuada para proyectos con requerimientos cambiantes.
*El ciclo de desarrollo consiste (a grandes rasgos) en los siguientes pasos
[12]:
1. El cliente define el valor de negocio a implementar.
2. El programador estima el esfuerzo necesario para su
implementación.
3. El cliente selecciona qué construir, de acuerdo con sus prioridades
y las restricciones de tiempo.
4. El programador construye ese valor de negocio.
5. Vuelve al paso 1.
ciclo de vida de XP:
(1) Fase de exploración
(2) Fase de Planificación de la Entrega (Release)
(3) Fase de Iteraciones
(4) Fase de Producción
(5) Fase de Mantenimiento
SCRUM5:
Es utilizada en proyectos que tienen cambio en los requerimientos
constantemente, se caracteriza por la realización de reuniones diarias del equipo
desarrollador y por incrementos en el producto SW (ejecutable) entregadas al
cliente en periodos mensuales(sprint)
CRYSTAL METHODOLOGIES6 :
Son un conjunto de metodologías las cuales se caracterizan por la reducción
significativa de artefactos, en esta metodología se busca mejorar las habilidades
del equipo de trabajo y se manejan políticas de acuerdo del tamaño del grupo
desarrollador y estableciendo este tamaño de acuerdo a colores por
ejemplo*Crystal Clear (3 a 8 miembros) y Crystal Orange (25 a 50 miembros).
DYNAMIC SYSTEMS DEVELOPMENT METHOD7 (DSDM)
Busca crear una metodología RAD (desarrollo rápido de aplicaciones) unificada,
se desarrolla mediante la ejecución de 5 fases: estudio viabilidad, estudio del
negocio, modelado funcional, diseño y construcción, e implementación. Y propone
que hayaretroalimentación entre todas y cada una de las fases
3. ADAPTIVE SOFTWARE DEVELOPMENT8 (ASD)
Se caracteriza por presentar en su desarrollo 3 fases: Planificación de las
características SW, desarrollo de la características, revisión de la calidad del
producto final y entrega al cliente
FEATURE -DRIVEN DEVELOPMENT9 (FDD)
Se enfoca en la fase de diseño e implementación a partir de un listado que reúne
las características que debe contener el producto SW
LEAN DEVELOPMENT10 (LD)
Se caracteriza por la introducción de cambios que permiten implementar
modificaciones riesgosas en el producto SW
Fuentes:
http://agilemanifesto.org/iso/es/
*http://noqualityinside.com.ar/nqi/nqifiles/XP_Agil.pdf
5 www.controlchaos.com
6 www.crystalmethodologies.org
7 www.dsdm.org
8 www.adaptivesd.com
9 www.featuredrivendevelopment.com
10 www.poppendieck.com
www.dsic.upv.es/.../lsi/.../MetodologiasAgilesyExtremeProgramming.ppt