1. QUINTO SISTEMAS
Integrantes:
Luis Cando
Huashington Criollo
Alex Pujota
Desarrollo ágil de software
2. Desarrollo ágil de software
• Los procesos de desarrollo de software rápido se
diseñan a para producir rápidamente un software
útil. El software no se diseña como una sola
unidad sino como una serie de incrementos y cada
uno de ellos incluye una funcionalidad del sistema.
3. Características
• Los procesos de especificación, diseño e
implementación están entrelazados
• El software se desarrolla en diversas versiones.
• Las interfaces de usuario del sistema se
desarrollan usando con frecuencia un sistema de
elaboración interactivo.
4. Métodos agiles
• Se produce en 1990 los cuales permitieron que el
equipo de desarrollo se enfocara en el software,
en lugar de diseño e implementación. Los métodos
agiles se apoyan universalmente en el enfoque
incremental para la especificación, el desarrollo y
la entrega del software.
5. Tipos de desarrollo de sistemas
• Desarrollo del producto, donde una compañía de
software elabora un producto pequeño o mediano
para su venta.
• Diseño de sistemas a la medida dentro de una
organización, donde hay un claro compromiso del
cliente por intervenir en el proceso de desarrollo.
6. Principios de los métodos agiles
• Participación del cliente
• Entrega incremental
• Personas, no procesos
• Adoptar el cambio
• Mantener simplicidad
7. Desarrollo dirigido por un plan y
desarrollo ágil
• Consideran el diseño y la implementación como
las actividades centrales en el proceso de
software, un enfoque basado en un plan para la
ingeniería de software identifica etapas separadas
en el proceso en el proceso de software con
salidas asociadas a cada etapa siendo estas
salidas la base para planear las continuas
actividades del proceso.
9. Preguntas técnicas, humana y
organizacionales
• Es importante tener una especificación?
• Es practica una estrategia de entrega incremental
• Que tipo de sistema se desarrollara?
• Que tiempo de vida se espera del sistema?
• Existen problemas culturales que afecten al
desarrollo del software?
• Que tan buenos son los diseñadores y
programadores en el equipo de desarrollo?
10. Programación extrema
• La programación extrema (XP) es quizás el
método ágil mejor conocido y más ampliamente
usado, el nombre fue acuñado por BECK (2000)
debido a que el enfoque se desarrolló llevando a
niveles “extremos” las prácticas reconocidas, como
el desarrollo interactivo.
11. Practicas de programación extrema
• Planeación incremental: Se registran en historias
de usuario
• Liberaciones pequeñas: Conjunto mínimo de
funcionalidad útil.
• Diseño simple: Diseño para cumplir requerimientos
• Desarrollo de la primera prueba: Se usa marco de
referencia de la unidad de prueba automatizada
• Refactorización: mantiene el código simple y
mantenible.
12. Practicas de programación extrema
• Programación en pares: Los desarrolladores
trabajan en pares
• Propiedad colectiva: Laboran en todas las áreas
del sistema
• Integración continua: Cuando se completa una
tarea se la integra al sistema
• Ritmo sensible: Un representante del cliente debe
formar parte del desarrollo
13. Pruebas en XP
• Para evitar varios de los problemas de prueba y
validaciones del sistema, XP enfatiza la
importancia de la prueba de la programación. La
XP incluye un enfoque para probar que reduce las
posibilidades de introducir errores no detectados
en la versión actual del sistema.
14. Características claves
• Desarrollo de primera prueba
• Desarrollo de pruebas incrementales a partir de
escenarios.
• Involucramiento del usuario con el desarrollo y la
validación de pruebas
• El uso de marcos de pruebas automatizados
15. Características claves
• El desarrollo de la primera prueba es una de las
involucraciones más importantes en XP. En lugar
de escribir algún código y luego las pruebas para
dicho código, las pruebas se elaboran antes de
escribir el código.
• Esto significa que la prueba puede correrse
conforme se escribe el código y descubrir
problemas durante el desarrollo
16. Programación en pares
• Otra práctica innovadora que se introdujo en XP es
que los programadores trabajan en pares para
desarrollar el software. En realidad trabajan junto a
las mismas estaciones de trabajo para desarrollar
el software
17. Ventajas de programación en pares
• Apoyar la idea de la propiedad y responsabilidad
colectiva para el sistema.
• Actúa como un proceso de revisión informal,
porque al menos dos personas observan cada
línea de código.
• Ayuda a la refactorización, que es un proceso de
mejoramiento de software.
18. Administración de un proyecto ágil
• Las responsabilidades principales de los
administradores de proyecto de software es dirigir
el proyecto, de modo que el software se entregue
a tiempo y con el presupuesto planeado para ello
19. Ventajas
• El producto se desglosa en un conjunto de piezas
y comprensibles
• Los requerimientos inestables no retrasan el
progreso
• Todo el equipo tiene conocimiento de todo
• Los clientes observan la entrega a tiempo de los
incrementos
• Se establece la confianza entre clientes y
desarrolladores
20. Conclusiones
• Los métodos de desarrollo de software presentan
un enfoque más dedicado a la práctica que a la
teoría.
• Todas las metodologías agiles cuentan con
características específicas mediante las cuales se
integran o fusionan para producir un método más
eficaz.
• Los métodos agiles proporcionan versiones del
sistema y se le entregan al cliente cada quince
días o dependiendo de la planificación.