herramientas tecnologicas

30
DESARROLLO ÁGIL

Upload: wandys

Post on 08-Jun-2015

4.020 views

Category:

Documents


1 download

DESCRIPTION

DESCRIPCIONES Y CONCEPTOS DEL DESARROLLO AGIL

TRANSCRIPT

Page 1: Herramientas tecnologicas

DESARROLLO ÁGIL

Page 2: Herramientas tecnologicas

¿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.

Page 3: Herramientas tecnologicas

¿Quiénes lo hacen?

Los ingenieros de software y otros participantes

del proyecto (gerentes, clientes y usuarios

finales) trabajan juntos en un equipo ágil.

Page 4: Herramientas tecnologicas

Marco de trabajo del

Desarrollo Ágil

Comunicación con el

clientePlaneación

ModeladoConstrucción

Entrega Evolución

Page 5: Herramientas tecnologicas

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.

Page 6: Herramientas tecnologicas

La atención continua, la excelencia técnica y el

buen diseño mejora la agilidad.

La simplicidad es esencial.

Page 7: Herramientas tecnologicas

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.

Page 8: Herramientas tecnologicas

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.

Page 9: Herramientas tecnologicas

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

Page 10: Herramientas tecnologicas

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.

Page 11: Herramientas tecnologicas

Proceso de la Programación Extrema

PruebasCodificación

DiseñoPlaneación

Page 12: Herramientas tecnologicas

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.

Page 13: Herramientas tecnologicas

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

Page 14: Herramientas tecnologicas

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.

Page 15: Herramientas tecnologicas

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.

Page 16: Herramientas tecnologicas

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.

Page 17: Herramientas tecnologicas

Ciclo de vida del desarrollo adaptativo del

software

Especulación

Colaboración

Aprendizaje

Page 18: Herramientas tecnologicas

Los equipos “das” aprenden de 3

formas Grupos Enfocados

Revisiones Técnicas Formales

Post Mortem

Page 19: Herramientas tecnologicas

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”.

Page 20: Herramientas tecnologicas

Ciclo de vida del MDSD

Iteración del modelo

Funcional

Iteración de

Construcción

Implementación

Page 21: Herramientas tecnologicas

Melé

Melé es un modelo ágil de proceso que

desarrollaron Jefff Sutherland y su equipo a

principios de la década de 1990.

Page 22: Herramientas tecnologicas

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.

Page 23: Herramientas tecnologicas

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.

Page 24: Herramientas tecnologicas

cristal

La familia cristal de los métodos ágiles fuecreada por Alistair Cockburn y Jim Highsmithcon el fin de lograr un enfoque de desarrollode software que coloca un premio en lamanejabilidad. Para alcanzar la manejabilidad,ambos definieron un conjunto de metodologías,cada una de ellas con elementos esencialescomunes a todas; funciones, patrones deproceso, productos de trabajo y practicasúnicas en cada una de ellas.

Page 25: Herramientas tecnologicas

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.

Page 26: Herramientas tecnologicas

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.

Page 27: Herramientas tecnologicas

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.

Page 28: Herramientas tecnologicas

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.

Page 29: Herramientas tecnologicas

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

Page 30: Herramientas tecnologicas