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 cliente
Construcción
Entrega
Planeación
Modelado
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