Desarrollo ágil de software

INTEGRANTES: ELVIS ALBA
             ALEX GUAMÁN
          MICHAEL ENCALADA

FECHA: 05/11/2012
DESARROLLO DE SOFTWARE ÁGIL
CARACTERÍ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 :
 Scrum
 De Crystal
 De desarrollo de software adaptativo.
 El desarrollo dirigido por características.
MÉTODOS ÁGILES
Aplicació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.

Desarrollo ágil de software

  • 1.
    Desarrollo ágil desoftware INTEGRANTES: ELVIS ALBA ALEX GUAMÁN MICHAEL ENCALADA FECHA: 05/11/2012
  • 2.
    DESARROLLO DE SOFTWAREÁGIL CARACTERÍ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.
  • 3.
    MÉTODOS ÁGILES  Enla 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.
  • 4.
    MÉTODOS ÁGILES  Enla 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.
  • 5.
    MÉTODOS ÁGILES  Elmétodo mas ágil conocido es la programación extrema. Otros métodos son los de :  Scrum  De Crystal  De desarrollo de software adaptativo.  El desarrollo dirigido por características.
  • 6.
    MÉTODOS ÁGILES Aplicación.  Selos 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.
  • 7.
    PRINCIPIOS DE LOSMÉ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.
  • 8.
    PROBLEMAS QUE SIGUENA 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.
  • 9.
    Problemas que siguena 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.
  • 10.
    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.
  • 11.
    VENTAJAS DE LAPROGRAMACIÓ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.
  • 12.
    ESCALAMIENTO DE MÉTODOSAGILES  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.
  • 13.
    RESTRICCIONES DEL DESARROLLODE 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.
  • 14.
    DESARROLLO DIRIGIDO PORUN 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
  • 15.
    ADMINISTRACIÓN DE UNPROYECTO Á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.
  • 16.
    VENTAJAS  El productose 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.