Sie sind auf Seite 1von 20

Sesión IV: Desarrollo ágil

Ing. Luis Alfredo Fernández Vizcarra


lfernandez@speedy.com.pe
lfernandez@coesi.com.pe
Vistazo rápido: Desarrollo ágil
¿Qué es? ¿Quién lo hace?
•Combina una filosofía y un conjunto de • Los ingenieros de software y otros
directrices de desarrollo. participantes del proyecto trabajan
•La filosofía busca satisfacción del cliente juntos en un equipo ágil: un equipo
y cumplir con el tiempo de entrega. con organización propia y que controla
•Las direcciones de desarrollo resaltan la su propio destino.
entrega del software y la comunicación
activa y continua entre los
desarrolladores y los clientes.

¿Por qué es importante? ¿Cuáles son los pasos?


• Representa una opción razonable a la • Las actividades básicas del marco de
ingeniería convencional para ciertas trabajo se conservan, pero éstas se
clases de software y ciertos tipos de conforman como un conjunto mínimo
proyectos de software. de tareas que empuja al equipo de
proyecto hacia la construcción y la
entrega.

¿Cuál es el producto obtenido? ¿Cómo puedo estar seguro de


• Es un “incremento de software en que lo he hecho
funcionamiento”, el cual se entrega al correctamente?
cliente en una fecha prometida.
• Si el equipo está de acuerdo en que el
proceso funciona y producen
incrementos de software entregables
que satisfacen al cliente.
Manifiesto del Desarrollo Ágil

Los individuos y El software que


sus funciona, más
interacciones, sob que la
re los procesos y documentación
las herramientas exhaustiva

La colaboración
Responder al
con el cliente, y
cambio, mejor
no tanto la
que apegarse a
negociación del
un plan
contrato
¿QUÉ ES LA AGILIDAD?

Es más que una respuesta efectiva al


cambio.
CARACTERÍSTICAS

Estimula las estructuras y actitudes de los


equipos para la comunicación sea más fácil.

Resalta la entrega rápida del software


operativo y le resta importancia a los
productos de trabajo intermedio.

Incorpora al cliente una parte del equipo de


desarrollo.
Principios de agilidad
Satisfacción al cliente
Adaptación a los cambios
Entregas de software
Trabajo en equipo
Motivación en el trabajo
Diálogo
Software funcional
Desarrollo sostenible
Atención continua
Simplicidad
Organización
Efectividad
¿QUÉ ES UN PROCESO ÁGIL?
Los incrementos de
Incluye una software deben
estrategia entregarse en cortos
incremental de periodos para que la
desarrollo. adaptación mantenga un
buen ritmo con el
cambio.

Un proceso ágil Permite al cliente


debe ser adaptable evaluar el incremento
en forma de software de manera
incremental a un regular, proporcionar
proyecto y a la retroalimentación al
condiciones técnicas equipo, e influir sobre
que cambian con las adaptaciones del
rapidez. proceso para adecuar
la retroalimentación
POLÍTICAS DEL DESARROLLO ÁGIL
Existe un debate considerable sobre los beneficios
y la aplicabilidad del desarrollo ágil del software
como alternativa a procesos de ingeniería del
software más convencionales.

Existen varios modelos de proceso, cada uno con


un enfoque sutilmente diferente.

Dentro de cada modelo hay un conjunto de


“ideas” (tareas de trabajo).Muchos conceptos de
agilidad son tan sólo adaptaciones de buenos
conceptos de la ingeniería del software.

“Hay mucho que ganar si se considera lo mejor de


ambas escuelas, y nada que ganar si se denigra
alguno de los dos enfoques”
FACTORES HUMANOS
El desarrollo ágil se centra en los talentos y las habilidades de los individuos, puesto que el proceso se ajusta
a personas y equipos específicos.

RASGOS CLAVES - Competencia


ENTRE LA GENTE DE
UN EQUIPO Y EL
- Enfoque común
EQUIPO MISMO:
- Colaboración

- Habilidad para la toma de decisiones

- Capacidad de resolución de problemas confusos

- Confianza y respeto mutuo

- Organización propia
MODELOS ÁGILES DEL PROCESO:
Programación Extrema (PE)
Sugiere algunas técnicas
innovadores y poderosas que
permiten a un equipo ágil crear
frecuentes lanzamientos de
software al entregar
características y funcionalidad que
describe y después prioriza el
cliente.

PROGRAMACIÓN
EXTREMA (PE)
Planeación
Características
Diseño
Organizada
Enfoque Codificación
como cuatro
orientado actividades del
Pruebas
a objetos marco de
trabajo:
Programación Extrema (PE)
Diseño simple
Historias de usuario Cartas CRC Soluciones pico
Valores
Criterios de las pruebas
Prototipos
de iteración
Plan de iteración Planeación Diseño

refabricación

Prueba Codificación

Lanzamiento
Incremento del
Software Programación en
Velocidad calculada parejas
del proyecto Prueba unitaria
Integración
Pruebas de continua
aceptación
DESARROLLO ADAPTATIVO DE SOFTWARE
(DAS)

La planeación del ciclo


Destaca la colaboración adaptativo
humana y la organización
propia del equipo
CARACTERÍSTICAS

Métodos de recopilación
de requisitos
relativamente rigurosos

Grupos enfocados en el cliente


Utiliza un proceso iterativo
que incorpora :
Un ciclo iterativo de Revisiones técnicas formales como
desarrollo: mecanismos de retroalimentación
en tiempo real.

Especulación
Organizado con tres actividades del
marco de trabajo: Colaboración

Aprendizaje
Desarrollo adaptativo de software (DAS)
Planeación del ciclo adaptativo
Enunciado de la misión Recopilación de requisitos
Restricciones del proyecto JAD
Requisitos básicos Especificaciones mínimas
Plan de lanzamiento en el tiempo
Colaboración

Especulación

Aprendizaje

Lanzamiento
Incremento del Software
Ajuste para ciclos Componentes implementados / probados
subsecuentes Grupos de enfoque para retroalimentación
Revisiones técnicas formales
Post mortem
Método de Desarrollo de Sistemas Dinámicos
(MDSD)

Iteración funcional del modelo


Define tres
diferentes ciclos Iteración de diseño
iterativos:
CARACTERÍSTICAS Construcción e implementación

Precedidos por
dos actividades Estudio de factibilidad
del ciclo de vida
 Estudio de negocios
adicionales:

Aboga por el uso de programas y sugiere que solo se


requiere el trabajo suficiente para cada incremento
de software y así facilitar el movimiento hacia el
incremento próximo.
LA MELÉ

CARACTERÍSTICAS
- Uso de un conjunto de patrones de proceso de
software efectivos en proyectos con límites de
tiempo muy ajustados, requisitos cambiantes y
que son críticos para el negocio.

- Cada patrón de proceso define un conjunto de


tareas de desarrollo y permite al equipo de melé
construir un proceso que se adapte a las
necesidades del proyecto.
Flujo de Proceso de la Melé
CRISTAL

CARACTERÍSTICAS
- Conjunto de modelos ágiles de proceso que
pueden adaptarse a las características específicas
de un proyecto.

- Adopta una estrategia iterativa, pero se ajusta al


rigor del proceso para incluir proyectos de
tamaños y complejidades diferentes.
DESARROLLO CONDUCIDO POR
CARACTERÍSTICAS (DCC)

CARACTERÍSTICAS
- Es algo más “formal” que otros métodos
ágiles.

- Concede una mayor importancia al


proyecto y a su gestión que otros enfoques
ágiles.
Desarrollo conducido por características

Desarrollar un Elaborar una Construcción


modelo lista de Plan por Diseño por
por
general características características característica
característica

Más forma Una lista de Un plan de Un paquete Función


que características desarrollo de diseño cliente –
contenido agrupadas en Propietarios (secuencias) valor
conjuntos y de clase completado
áreas de Propietarios
contenido del conjunto
de
características
MODELADO ÁGIL (MA)

CARACTERÍSTICAS
- El modelado es esencial para todos los
sistemas, pero que la complejidad, tipo y tamaño
del modelo debe ajustarse al software que será
construido.

- Proporciona una guía útil para los profesionales


durante las tareas de análisis y diseño.
Referencias

Bruegge, B., Dutoit, A.H., Ingeniería del Software Orientado a Objetos, cap. 1

Jacobson, I., Booch, G., Rumbaugh, J., El Proceso Unificado de Desarrollo de


Software, cap. 1

Pressman, R.S., Ingeniería del Software. Un enfoque práctico, cap. 1 y 2

Sommerville, I., Ingeniería de Software, cap. 1, 2 y 3

Das könnte Ihnen auch gefallen