Está en la página 1de 30

DESARROLLO ÁGIL

¿Qué es Desarrollo Ágil?


La ingeniería de software ágil combina una
filosofía y un conjunto de directrices de
desarrollo. La filosofía busca la satisfacción
del cliente y la entrega temprana del
software incremental; equipos de proyecto
pequeños y con alta motivación.
¿Quiénes lo hacen?
 Los ingenieros de software y otros participantes
del proyecto (gerentes, clientes y usuarios
finales) trabajan juntos en un equipo ágil.
Marco de trabajo del
Desarrollo Ágil
Comunicación con el
Planeación
cliente

Construcción Modelado

Entrega Evolución
principios para alcanzar la agilidad
 Satisfacer al cliente mediante la entrega
temprana y continua de software.
 Entregar software en funcionamiento.
 La gente de negocios y los desarrolladores
deben trabajar juntos.
 El software en funcionamiento es la medida
primaria de progreso.
 La atención continua, la excelencia técnica y el
buen diseño mejora la agilidad.
 La simplicidad es esencial.
Políticas de desarrollo ágil
 Existe un debate sobre el desarrollo ágil como
alternativa a la ingeniería de software
convencional, según algunos analistas este
debate corre el riesgo de degenerar en una
guerra religiosa.
Factores humanos
 El desarrollo ágil se centra en los talentos y
habilidades de individuos, puesto que el
proceso se ajusta a las necesidades de las
personas y del equipo y no al revés.
Rasgos que debe existir entre la gente
de un equipo ágil y el equipo mismo
 Competencia
 Enfoque Común
 Colaboración
 Habilidad para la toma de decisiones
 Capacidad para resolución de problemas
confusos
Programación extrema

 Es un modelo de proceso ágil que permite


desarrollar el software de manera muy rápida
haciendo uso de la programación en pareja.
Proceso de la Programación Extrema

Planeación Diseño

Codificación Pruebas
planeación
 Comienza creando una serie de Historias
describen las características y la funcionalidad
requeridas para el software que se desarrollara.
Cada Historia la describe el cliente y se coloca
en una carta índice. Luego el cliente le asigna un
valor o una prioridad a la Historia basándose en
los valores generales del negocio respecto de la
característica o función este valor.
diseño
 El diseño de la programación
estructurada sigue de manera el principio
de Mantenerlo Simple. Siempre se
prefiere un diseño simple respecto de una
presentación más compleja
codificación
 Se recomienda que después de diseñar las
historias y realizar el trabajo de diseño
preliminar el equipo de programación extrema
no debe comenzar la codificación, sino que
debe de realizar una serie de pruebas de unidad
que ejerciten cada una de las historias que
vayan a incluirse en el lanzamiento actual.
pruebas
 Las pruebas de unidad se enfocan sobre un
componente individual del software, al ejercitar
la interfaz de los componentes, las estructuras
de datos y la funcionalidad en un esfuerzo por
descubrir los errores locales en el
componente.
La creación de una prueba de unidad antes de
comenzar la codificación es un elemento clave
para la programación extrema.
Desarrollo adaptivo de software
(DAS)
 El desarrollo adaptativo de software (DAS) lo
propuso Jim Higsmith como una técnica para
construir software y sistemas complejos. El
DAS se enfoca en la colaboración humana y la
organización propia del equipo. Highsmith
define un “ciclo de vida” del DAS en la cual
incorpora tres fases.
Ciclo de vida del desarrollo adaptativo del
software

Especulación

Colaboración

Aprendizaje
Los equipos “das” aprenden de 3
formas
 Grupos Enfocados
 Revisiones Técnicas Formales
 Post Mortem
Método de desarrollo de sistemas
dinámicos (MDSD)
 Este método es un enfoque de desarrollo de
software ágil que “proporciona un marco de
trabajo para construir y mantener sistemas con
restricciones de tiempo muy estrechas
mediante el empleo de la construcción de
prototipos incrementales en un ambiente de
proyecto controlado”.
Ciclo de vida del MDSD
Iteración del modelo
Funcional

Iteración de
Construcción

Implementación
Melé
 Melé es un modelo ágil de proceso que
desarrollaron Jefff Sutherland y su equipo a
principios de la década de 1990.
Los principios de la Melé son:
 Los equipos de trabajo pequeños están
organizados para:
◦ Maximizar la comunicación
◦ Minimizar los gastos generales y
◦ Maximizar el hecho de compartir conocimiento
tácito.
 El proceso debe adaptarse a los cambios
técnicos y de negocio.
 El proceso produce incrementos frecuentes de
software.
 El trabajo de desarrollo y la gente que lo realiza
están divididos.
 Conforme se construye el producto se realizan
pruebas y documentación constantes.
cristal
La familia cristal de los métodos ágiles fue
creada por Alistair Cockburn y Jim Highsmith
con el fin de lograr un enfoque de desarrollo
de software que coloca un premio en la
manejabilidad. Para alcanzar la manejabilidad,
ambos definieron un conjunto de metodologías,
cada una de ellas con elementos esenciales
comunes a todas; funciones, patrones de
proceso, productos de trabajo y practicas
únicas en cada una de ellas.
Desarrollo conducido por características
 Es un modelo de proceso práctico para la
ingeniería del software orientada a objetos. En
el contexto del desarrollo conducido por
características una característica es una función
valuada por el cliente que puede implementarse
en dos semanas o menos.
Beneficios de la definición de
características
 Los usuarios las describen con mayor facilidad,
entienden como se relacionan con otras y
pueden revisarlas de una mejor manera.
 Se pueden organizar en un agrupamiento
jerárquico relacionado.
 El equipo desarrolla características operativas
cada dos semanas.
 Como las características son pequeñas, sus
diseños y representaciones de código son más
fáciles de inspeccionar.
 La jerarquía de características guía la planeación
del proyecto, la elaboración del programa y su
rastreo.
Modelo Ágil
 Es una tecnología avanzada en la práctica para
el modelado efectivo de los sistemas basados
en software. Es una colección de valores,
principios y prácticas para el modelado de
software que puede aplicarse en un proyecto
de desarrollo de software de manera efectiva y
ligera.
responsables de que el modelado ágil sea
único
Modelar con un propósito
Usar múltiples modelos
Viajar ligero
El contenido es más importante que la
presentación
Conocer los modelos y las herramientas con
que se crea
Adaptar en forma local

WANDA VALLADARES