miércoles, 22 de marzo de 2017

Metodologías Ágiles



Los métodos ágiles son métodos de desarrollo incremental donde los incrementos son mínimos y, por lo general, se crean las nuevas liberaciones del sistema, y cada dos o tres semanas se ponen a disposición de los clientes.

Los métodos más populares son:

  • Programación extrema
  • SCRUM

Usualmente se emplean estas metodologías para proyectos donde se requiere un producto pequeño o mediano. En casos donde el cliente interviene en el proceso de desarrollo proyecto con nuevos requerimientos, información, evaluación de versiones, etc. Los principios de los métodos agiles son:

  1. Participación del cliente.
  2. Entrega incremental.
  3. Se da libertad a los miembros del equipo desarrollar sus formas de trabajar sin procesos establecidos
  4. Adoptar el cambio ante nuevos requerimientos.
  5. Mantener la simplicidad en el software a desarrollar con el proceso de desarrollo.

Sin embargo, en la práctica estos principios pueden fallar, debido a que:

  1. El cliente no siempre participa
  2. Algunos programadores no tienen la personalidad adecuada para trabajar intensamente.
  3. Cada programador da prioridad a procesos o tareas diferentes.
  4. Bajo la presión de fechas de entrega, es posible que los miembros del equipo carezcan de tiempo para realizar simplificaciones.
  5. Dificultad de trabajar con procesos informales.

Como resultado, los métodos ágiles deben apoyarse en contratos, en los cuales el cliente pague por el tiempo requerido para el desarrollo del sistema, en vez de hacerlo por el desarrollo de un conjunto especifico de requerimientos.

En relación a los métodos ágiles, se ahorra la documentación por ahorrar tiempo, sin embargo, el código debe ser legible de alta calidad, con el fin de escribir código bien estructurado y destinar el esfuerzo en mejorar el código, a pesar esto, el documento que nunca debe faltar es el documento de requerimientos, el cual indica al ingeniero de software la función específica del sistema.




Desarrollo dirigido por un plan y desarrollo ágil

Los enfoques ágiles en el desarrollo de software consideran el diseño y la implementación como las actividades centrales en el proceso del software. 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 identifica etapas separadas en el proceso de software con salidas asociadas a cada etapa. Las salidas de una etapa se usan como base para planear la siguiente actividad del proceso.

Ilustración 1. Desarrollo basado en un plan



Ilustración 2. Desarrollo Ágil

Para decidir sobre un enfoque basado en un plan y uno ágil, se deben responder los siguientes factores:

  1. Si es importante la especificación y diseño del sistema
  2. Que tan grande será el sistema a desarrollar
  3. El tiempo de vida del sistema
  4. Si el equipo de trabajo está distribuido en diferentes lugares
  5. La experiencia y velocidad de trabajo de los miembros del equipo

Referencia
Sommerville I.. (2011). Ingeniería de Software. México: Pearson.




No hay comentarios:

Publicar un comentario