pedro lopez salazar ----Código limpio manual de estilo para el desarrollo ágil de software
Desarrollo ágil de software
Click here to load reader
Transcript of Desarrollo ágil de software
INTEGRANTES: ELVIS ALBAALEX GUAMÁN
MICHAEL ENCALADA
FECHA: 05 /11 /2012
Desarrollo ágil de software
DESARROLLO DE SOFTWARE ÁGILCARACTERÍSTICAS FUNDAMENTALES
Los procesos de especificación, diseño e implementación están entrelazados.
El sistema se desarrolla en diferentes versiones.
Las interfaces de usuario del sistema se desarrollan usando un sistema de elaboración interactivo.
MÉTODOS ÁGILES
En la década de los 80 y a inicios de los 90 para obtener un buen software se necesitaba de una cuidadosa planeación el uso de métodos de análisis y procesos de desarrollo de software rigurosos y controlado.
Esta percepción se da por la comunidad de ingeniería de software de larga duración.
Un ejemplo de esto es el sistema de control de una aeronave moderna el desarrollo puede durar hasta a10 años hasta su implementación.
MÉTODOS ÁGILES
En la década de los 90 muchos desarrolladores propusieron nuevos métodos de desarrollo ágil.
Los cuales ayudaron a que el desarrollador se enfocara en el software en lugar dl diseño y la documentación.
Esto métodos tienen la intención de entregar con prontitud el software operativo a los cliente y estos pondrán requerimientos nuevos y variados para posteriores versiones.
MÉTODOS ÁGILES
El método mas ágil conocido es la programación extrema.
Otros métodos son los de :ScrumDe CrystalDe desarrollo de software adaptativo.El desarrollo dirigido por características.
MÉTODOS ÁGILESAplicación.
Se los puede aplicar en sistemas como:De desarrollo de un producto. Donde la
empresa desarrolla un producto pequeño o mediano para su venta.
Diseño de sistemas a la medida dentro de una organización. Donde el cliente tiene el compromiso de intervenir en el proceso de desarrollo.
PRINCIPIOS DE LOS MÉTODOS AGILES
PRINCIPIO DESCRIPCIÓN
Participación del cliente Es decir el cliente debe intervenir estrechamente durante el procesos de desarrollo su función consiste en ofrecer y priorizar nuevas requerimientos del sistema.
Entrega incremental El software se desarrolla en incrementos y el cliente especifica los requerimientos a añadir en el nuevo incremento .
Personas, no procesos Tiene reconocerse las habilidades del equipo de desarrollo.Debe permitirse que los desarrolladores empleen sus propias formas de trabajar.
Adoptar el cambio Esperar a que cambien los requerimientos del sistema y de esta forma diseñar al software para acoplar dichos cambios.
Mantener simplicidad Enfocarse tanto en la simplicidad del software a desarrollar como el proceso de desarrollo.
PROBLEMAS QUE SIGUEN A LOS MÉTODOS AGILES
Participación del cliente: en este principio de se necesita que el cliente se involucre al 100% en el equipo desarrollo por lo tanto es muy difícil encontrar el cliente adecuado.
Entrega incremental: Aquí se presenta el problema de que todos los integrantes del equipo tienen las mismas capacidades o el mismo trabajo por lo que la entrega se podría retrasar.
Problemas que siguen a los métodos agiles
Adoptar el cambio: Priorizar el cambio seria muy difícil tomando en cuenta que en el desarrollo intervienen varias personas.
Mantener la simplicidad: Bajo la presión de fechas de entrega, es posible que los miembros carezcan de tiempo para realizar las simplificaciones deseables al sistema.
PROGRAMACIÓN EN PARES
Es una practica innovadora de XP donde los programadores trabajan en pares para desarrollar el software . además que trabajan en la misma estación de trabajo aunque la programación no se lleva junta.
VENTAJAS DE LA PROGRAMACIÓN EN PARES
Apoya la idea de la propiedad y responsabilidad es decir si existe un problema en el código todos los miembros aportan ideas para la resolución del problema.
Actúa como un proceso de revisión informal esto ayuda a que los errores sean menores puesto que dos personas observan el código.
Ayuda a la refactorización : que es un proceso de mejoramiento del software a largo plazo si se implementa en un entorno de desarrollo normal.
ESCALAMIENTO DE MÉTODOS AGILES
Los métodos agiles fueron desarrollados para usarse en pequeños equipos de programación.
Por esto los métodos agiles se emplean principalmente para el diseño de sistemas pequeños y medianos.
A demás de la necesidad de entrega mas rápida del software. Por esto también se podría aplicarlos a sistemas grandes.
RESTRICCIONES DEL DESARROLLO DE SISTEMAS GRANDES
Por lo general son colecciones de sistemas separados desarrollados por equipos distanciados en muchas ocasiones por zonas horarias diferentes lo que no permite a cada equipo una visión completa del sistema .
Son sistemas abandonados que quiere decir que incluyen e interactúan con sistemas existentes.
Los grandes sistemas y sus procesos de desarrollo por lo general están restringidos por reglas y regulaciones externas que limita la forma con que puede desarrollarse.
DESARROLLO DIRIGIDO POR UN PLAN Y DESARROLLO
Los enfoque agiles en el desarrollo de software consideran el diseño y la implantación como las actividades centrales en el proceso del software, se incorporan otras actividades en el diseño y la implementación como la adquisición de requerimientos y pruebas, un enfoque basado en un plan para la ingeniería de software con salidas asociadas a cada etapa
ADMINISTRACIÓN DE UN PROYECTO ÁGIL
La responsabilidad principal de los administradores del proyecto de software es dirigir el proyecto, de modo que el software se entregue a tiempo y con el presupuesto planeado para ello, supervisan el trabajo de los ingenieros de software y monitorizan el avance en el desarrollo del software, los administradores se apoyan en un plan para el proyecto que muestra lo que se debe entregar y cuando, así como quien trabajara en el desarrollo del proyecto.
VENTAJAS
El producto se desglosa en un conjunto de piezas manejables y comprensibles.
Los requerimientos inestables no retrasan el progreso, todo el esquipo tiene conocimiento de todo y en
constancia se mejora la comunicación con el equipo. Los clientes observan la entrega a tiempo de los
incrementos y obtienen retroalimentación sobre como funciona el producto.
Se establece la confianza entre clientes y desarrolladores a la ves que todos esperan obtener el triunfo a futuro del proyecto.