métodos Ágiles

14
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)

Upload: juan-pablo-bustos-thames

Post on 13-Jun-2015

5.890 views

Category:

Business


0 download

DESCRIPTION

Unidad I. Diseño de Sistemas. UTN-FRT. 3K1. Métodos Agiles de Diseño. 2011

TRANSCRIPT

Page 1: Métodos Ágiles

Ingeniería en Sistemas de Información

Diseño de Sistemas(3K1)

Page 2: Métodos Ágiles

Contenidos de la Unidad 1Introducción al Diseño

e) Modelos de desarrollo rápido del software

Sommervillle. Introducción Cap. 17

1.Métodos ágiles. Sommervillle. Sección 17.1.Kendall&Kendall. Capítulo 6.Sección PROGRAMACIÓN EXTREMA Larman, 2ª.Ed., Cap. 37.3

2. Desarrollo rápido de aplicaciones.

Sommervillle. Sección 17.3Pressman. Sección 2.6 Kendall&Kendall. Capítulo 6. Sección DESARROLLO RÁPIDO DE APLICACIONES.

3. Prototipado del software.a.Clases de prototipos.b.Desarrollo de un prototipo c.Ventajas y Desventajas de

prototipos.d.Papel del usuario en la

elaboración de prototipos.   

Sommervillle. Sección 17.4.Pressman. Sección 2.5 Kendall&Kendall. Capítulo 6     

Page 3: Métodos Ágiles

En los años 80 y 90, se creía que la mejor forma de obtener un mejor software era a través de:

una planificación cuidadosa del proyecto, una garantía de calidad formalizada, la utilización de métodos de análisis y diseño soportados

por herramientas CASE, procesos de desarrollo de software controlados y

rigurosos. 1.Esta opinión provenía de ingenieros de software

implicados en el desarrollo de grandes sistemas de larga vida compuestos de muchos programas individuales.

Métodos Agiles (Sommerville, 17.1)

Page 4: Métodos Ágiles

Estos programas eran a menudo sistemas críticos. Este software era desarrollado por grandes

equipos que podían trabajar para compañías diferentes.

Podían estaban dispersos geográficamente y trabajar en el software durante largo tiempo.

Ejemplo => Los Sistemas de Control de un Avión moderno, en los cuales pueden transcurrir hasta 10 años desde la especificación inicial hasta la utilización.

Métodos Agiles

Page 5: Métodos Ágiles

Estos enfoques implican una importante sobrecarga de trabajo en cuanto a la planificación, diseño y documentación del sistema.

Este esfuerzo adicional se justifica cuando:1.se tiene que coordinar el trabajo de múltiples

equipos de desarrollo2.es un sistema crítico3.muchas personas diferentes estarán involucradas

en el mantenimiento del software durante su vida.

Métodos Agiles

Page 6: Métodos Ágiles

Cuando este enfoque «pesado» de desarrollo, basado en la planificación, fue aplicado a sistemas pequeños y medios, el esfuerzo invertido era tan grande que dominaba todo el proceso de desarrollo del software.

Se pasaba más tiempo pensando en cómo se debía desarrollar el sistema que en programar el desarrollo y las pruebas.

Cuando cambiaban los requerimientos, hacía que rehacer el trabajo.

Métodos AgilesOrigen

Page 7: Métodos Ágiles

El descontento con estos enfoques pesados condujo, en los años 90, a proponer nuevos métodos ágiles.

Éstos permitieron centrarse en el software y no tanto en su diseño y documentación.

Los Métodos Ágiles tienen un enfoque iterativo para la especificación, desarrollo y entrega del software.

Fueron diseñados para el desarrollo de aplicaciones donde los requerimientos del sistema cambian rápidamente en el proceso de desarrollo.

Métodos AgilesOrigen

Page 8: Métodos Ágiles

Están pensados para entregar software funcional rápidamente a los clientes, quienes pueden entonces proponer (para iteraciones posteriores) nuevos requerimientos o cambios en los mismos.

El método ágil más conocido es la programación extrema.

Los Métodos Ágiles se basan en el desarrollo y la entrega increméntales, pero proponen procesos diferentes para alcanzarla.

Métodos AgilesOrigen

Page 9: Métodos Ágiles

Métodos AgilesPrincipios que comparten

Page 10: Métodos Ágiles

1. La participación del cliente es atractiva, pero su éxito depende de tener un cliente dispuesto, con tiempo para el equipo de desarrollo y que pueda representar a todos los usuarios del sistema.

2. Frecuentemente, el cliente está sometido a otras presiones y no puede participar plenamente en el proyecto.

2. Los miembros del equipo pueden no tener la personalidad apropiada para una participación intensa, típica de los métodos ágiles.

Por eso, pueden no relacionarse adecuadamente con los otros miembros del equipo.

Métodos AgilesPrincipios que comparten

Page 11: Métodos Ágiles

3. Priorizar los cambios puede ser muy difícil, especialmente en sistemas donde hay muchos usuarios.

Por lo general, cada usuario proporciona prioridades distintas.

4. Mantener la simplicidad requiere un trabajo extra.

Bajo presión por las entregas, puede no haber tiempo para las simplificaciones deseables del sistema.

Métodos AgilesPrincipios que comparten

Page 12: Métodos Ágiles

Normalmente el documento de Requerimientos del Software (producto del Análisis) es parte del Contrato entre el Cliente y el Proveedor.

Es difícil redactar contratos para los Métodos Agiles; pues con la entrega incremental el desarrollo puede ser difícil.

Por eso, en los contratos para los métodos ágiles, el cliente paga por el tiempo necesario para el desarrollo del sistema, en vez que por el desarrollo de un conjunto específico de requerimientos.

Métodos AgilesProblemas Contractuales

Page 13: Métodos Ágiles

Si va todo bien, ésto beneficia a ambos. Si surgen problemas, puede haber disputas sobre quién

es el culpable y quién debe pagar por el tiempo extra y recursos necesarios para resolver los problemas.

Todos los métodos tienen límites, y los Métodos Ágiles son sólo apropiados para algunos tipos de desarrollo.

Son los mejores para el desarrollo de sistemas de negocio pequeños y medios y el desarrollo de productos para computadoras personales.

Métodos AgilesProblemas Contractuales

Page 14: Métodos Ágiles

No son adecuados para desarrollar sistemas a gran escala;

O con equipos de desarrollo ubicados en diferentes lugares;

O donde puedan haber complejas interacciones con otros sistemas.

No se los deben utilizar para desarrollar Sistemas Críticos, donde es necesario un análisis detallado de todos los requerimientos para comprender sus implicaciones de seguridad o protección.

Métodos AgilesInconvenientes