You are on page 1of 13

INGENIERÍA DE SOFTWARE I

METODOLOGÍAS ÁGILES

Integrantes: Grupo: 1LS123


Jason Wedderburn 8-909-1489
Felix Rudas 8-928-508
Emilio Sucre 8-907-256

Profesor(a) .: Ana Gloria Cordero Clark de Hernández


METODOLOGÍAS AGILES
Las metodologías ágiles son métodos de desarrollo de software en los que las necesidades y soluciones
evolucionan a través de una colaboración estrecha entre equipos. Se caracterizan por enfatizar la comunicación
frente a la documentación, por el desarrollo evolutivo y por su flexibilidad.

Estas metodologías surgen a principios del 2001 en respuesta a los modelos de proceso clásicos ya existentes.
La aparición de procesos ágiles se debe al hecho de haber encontrado estos supuestos clave en desarrollos
precedentes:

• Es difícil predecir qué requisitos persistirán y cuales cambiarán, así como las prioridades del cliente.

• El diseño y el desarrollo de software están intercalados. Por ello se realizarán conjuntamente, probando el
diseño a medida que se crea, pues es complicado predecir cuánto diseño es necesario antes de llegar a
implementarlo.

• El análisis, el diseño y la implementación no son predecibles desde el punto de vista de la planificación.


CARACTERÍSTICAS E IDEAS

• Una metodología ágil se caracteriza por ser rápida, dinámica, con


contenido específico y por responder de manera apropiada a los
cambios y orientada al crecimiento.
• Adopta al cliente como una parte del equipo de desarrollo.
• Satisface al cliente mediante la entrega temprana y continua de
software valioso.
• Entrega software en funcionamiento frecuentemente demorando
desde un par de semanas a un par de meses.
• Los desarrolladores y la gente de negocios deben trabajar juntos a
diario durante el proyecto.
• Promueven el desarrollo sustentable.
XP (EXTREME PROGRAMMING)
Es una metodología ágil centrada en potenciar las relaciones
interpersonales como clave para el éxito en desarrollo de software,
promoviendo el trabajo en equipo, preocupándose por el aprendizaje
de los desarrolladores, y propiciando un buen clima de trabajo. XP se
basa en realimentación continua entre el cliente y el equipo de
desarrollo, comunicación fluida entre todos los participantes y
simplicidad en las soluciones implementadas XP es especialmente
adecuada para proyectos con requisitos imprecisos y muy cambiantes,
y donde existe un alto riesgo técnico.
PRÁCTICAS BÁSICAS DE LA
PROGRAMACIÓN EXTREMA

• Equipo completo: Forman parte del equipo todas las personas que tienen algo que ver con el
proyecto, incluido el cliente y el responsable del proyecto.

• Planificación: Se hacen las historias de usuario y se planifica en qué orden se van a hacer y las
mini-versiones. La planificación se revisa continuamente.

• Test del cliente: El cliente, con la ayuda de los desarrolladores, propone sus propias pruebas para
validar las mini-versiones.

• Versiones pequeñas: Las mini-versiones deben ser lo suficientemente pequeñas como para poder
hacer una cada pocas semanas. Deben ser versiones que ofrezcan algo útil al usuario final y no
trozos de código que no pueda ver funcionando.

• Diseño simple: Hacer siempre lo mínimo imprescindible de la forma más sencilla posible.
Mantener siempre sencillo el código.

• Pareja de programadores: Los programadores trabajan por parejas (dos delante del mismo
ordenador) y se intercambian las parejas con frecuencia (un cambio diario).
PRÁCTICAS BÁSICAS DE LA
PROGRAMACIÓN EXTREMA

• Desarrollo guiado por las pruebas automáticas: Se deben realizar programas de prueba
automática y deben ejecutarse con mucha frecuencia. Cuantas más pruebas se hagan, mejor.
• Integración continua: Deben tenerse siempre un ejecutable del proyecto que funcione y en
cuanto se tenga una nueva pequeña funcionalidad, debe recompilarse y probarse.
• El código es de todos: Cualquiera puede y debe tocar y conocer cualquier parte del código. Para
eso se hacen las pruebas automáticas.
• Normas de codificación: Debe haber un estilo común de codificación (no importa cuál), de forma
que parezca que ha sido realizado por una única persona.
• Metáforas: Hay que buscar unas frases o nombres que definan cómo funcionan las distintas
partes del programa, de forma que sólo con los nombres se pueda uno hacer una idea de qué es lo
que hace cada parte del programa. Un ejemplo claro es el "recolector de basura" de java. Ayuda a
que todos los programadores (y el cliente) sepan de qué estamos hablando y que no haya mal
entendidos.
• Ritmo sostenible: Se debe trabajar a un ritmo que se pueda mantener indefinidamente.
METODOLOGÍA SCRUM

• Scrum es un proceso en el que se aplican de manera regular un conjunto


de buenas prácticas para trabajar colaborativamente, en equipo, y
obtener el mejor resultado posible de un proyecto.
• En Scrum se realizan entregas parciales y regulares del producto final,
priorizadas por el beneficio que aportan al receptor del proyecto. Por
ello, Scrum está especialmente indicado para proyectos en entornos
complejos, donde se necesita obtener resultados pronto.
Las actividades que se llevan a cabo en Scrum son las siguientes:
• Planificación de la iteración
El primer día de la iteración se realiza la reunión de planificación de la iteración.
Tiene dos partes:
• Selección de requisitos: El cliente presenta al equipo la lista de requisitos
priorizada del producto o proyecto.
• Planificación de la iteración El equipo elabora la iteración necesaria para
desarrollar los requisitos a que se ha comprometido. La estimación de esfuerzo
se hace de manera conjunta y los miembros del equipo se auto asignan las
tareas.
METODOLOGÍA RAD

El RAD o “Desarrollo Rápido de Aplicaciones” es una metodología que permite a


las organizaciones desarrollar sistemas estratégicamente importantes, de manera
más rápida reduciendo a la vez los costos de desarrollo y manteniendo la calidad
Se divide en 4 etapas:
• La etapa de Definición
• La etapa de Diseño
• La etapa de Desarrollo
• La etapa de Despliegue
CARACTERÍSTICAS DE LA
METODOLOGÍA RAD:

• Modelo Central: Se pueden crear modelos o redefinir modelos existentes, y se pueden integrar
estos modelos con la funcionalidad de aplicaciones existentes (componentes, paquetes, etc.)
• Desarrollo Visual: Proporciona un nivel alto de abstracción, y facilidad de crear nuevas
aplicaciones y mantener las existentes.
• Código Construido: Diseñado para alto rendimiento, escalabilidad y ahorro de tiempo.
• Finalización de la Integración del Desarrollo del Ciclo de Vida: Proporciona un desarrollo de
artefactos y semántica del negocio capturados y organizados en modelos visuales.
Universalmente aplicados durante el desarrollo del proyecto.
• Dar esfuerzo a la Orientación a Objetos: Implica que el proceso de desarrollo esta manejado
por el modelo del negocio (clases).
• Extensible: La integración que tiene abarca: XML, Servicios Web, Java / componentes EJB,
DHTML.
OTRAS METODOLOGÍAS
ÁGILES
Las metodologías ágiles de desarrollo de software son imprescindibles
en un mundo en el que las cosas cambian A velocidad de vértigo.
OTRAS METODOLOGÍAS
ÁGILES
DESARROLLO LEAN
• Lean Software Development, también conocido como Lean
Programming es un conjunto de técnicas que engloban una
metodología de desarrollo ágil de software orientado a conseguir
exactamente lo que necesita el cliente.
OTRAS METODOLOGÍAS
ÁGILES
DESARROLLO ADAPTATIVO DE SOFTWARE

• El método ágil ASD significa Desarrollo Adaptable de Software, es


un modelo de implementación de patrones ágiles para desarrollo de
software

You might also like