QUINTO SISTEMAS

                          Integrantes:
                          Luis Cando
                          Huashington Criollo
                          Alex Pujota



Desarrollo ágil de software
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.
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.
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.
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.
Principios de los métodos agiles
•   Participación del cliente
•   Entrega incremental
•   Personas, no procesos
•   Adoptar el cambio
•   Mantener simplicidad
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.
Desarrollo ágil y dirigida por un plan
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?
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.
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.
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
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.
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
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
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
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.
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
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
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.

Metodos agiles de software

  • 1.
    QUINTO SISTEMAS Integrantes: Luis Cando Huashington Criollo Alex Pujota Desarrollo ágil de software
  • 2.
    Desarrollo ágil desoftware • 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 procesosde 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 • Seproduce 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 desarrollode 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 losmétodos agiles • Participación del cliente • Entrega incremental • Personas, no procesos • Adoptar el cambio • Mantener simplicidad
  • 7.
    Desarrollo dirigido porun 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.
  • 8.
    Desarrollo ágil ydirigida por un plan
  • 9.
    Preguntas técnicas, humanay 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 • Laprogramació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ónextrema • 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ónextrema • 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 • Desarrollode 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 • Eldesarrollo 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ónen 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 unproyecto á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 productose 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étodosde 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.