En los años 80 y principios de los 90 se tenia un proceso de desarrollo de software el cual mediante una rigurosa definición de roles, actividades y una planificación cuidadosa del proyecto se garantizaba la calidad de este así como el buen funcionamiento, Este proceso demostró ser efectivo y necesario en proyectos de gran tamaño (respecto a tiempo y recursos), sin embargo, cuando se trato de aplicar a sistemas de negocios pequeños y de tamaño medio, el proceso no resultaba óptimo, pues se ocupaba mas tiempo en hacer la documentación que en la realización del software. Por esta razón las metodologías ágiles se hicieron presentes, pues estaban orientadas principalmente para proyectos pequeños.
En febrero de 2001 en una reunión celebrada en Utah-EEUU, nace el término ágil aplicado al desarrollo de software. El objetivo de esta reunión fue esbozar los valores y principios que deberían permitir a los equipos desarrollar software rápidamente y respondiendo a los cambios que puedan surgir a lo largo del proyecto.
Tras esta reunión se creo la organización The Agile Alliance, la cual partió del Manifiesto Ágil
que se resume en:
- Valorar las interacciones del equipo de desarrollo y el cliente sobre el proceso de desarrollo. Es importante tener un buen equipo de trabajo.
- Valora el desarrollo un software funcional más que conseguir una buena documentación. La regla a seguir es no producir documentos a menos que sean necesarios de forma inmediata"
- Se propone que exista una interacción constante entre el cliente y el equipo de desarrollo.
- Responder a los cambios que puedan surgir a lo largo del proyecto. La planificación de este debe ser flexible y abierta.
El manifiesto ágil también cuenta con 12 principios los cuales son:
- La prioridad es satisfacer al cliente .
- Dar la bienvenida a los cambios.
- Entregar frecuentemente software que funcione desde un par de semanas a un par de meses.
- La gente del negocio y los desarrolladores deben trabajar juntos a lo largo del proyecto.
- Construir el proyecto en torno a individuos motivados.
- Diálogo cara a cara.
- Tener un software funcional.
- Los promotores, desarrolladores y usuarios deberían ser capaces de mantener una paz constante.
- La atención continua a la calidad técnica y al buen diseño.
- Simplicidad.
- Tener un equipo organizado por si mismo.
- En intervalos regulares, el equipo descubre la manera de ser más efectivo, y según esto ajusta su comportamiento para la culminación del proyecto.
Con todo esto podríamos decir que una metodología de desarrollo de software ágil es
un conjunto de técnicas para la gestión de proyectos los cuales incluyen mejoras continuas, se realiza de forma colaborativa y con la mayor simplicidad posible.
No se basa tanto en la arquitectura del software.
Finalmente sin importar la metodología que se use se debe tomar en cuenta el contexto del proyecto
(tiempo de desarrollo, tipo de sistema, recursos técnicos, etc.)
Algunos nombres de las metodologías ágiles mas usadas son:
- SCRUM: Indicada para proyectos con un rápido cambio de requisitos. Sus principales características son las iteraciones, denominadas sprints, con una duración de 30 días y las reuniones a lo largo proyecto, entre ellas destaca la reunión diaria del equipo de desarrollo para coordinación e integración.
- Crystal Methodologies: Conjunto de metodologías para el desarrollo de software caracterizadas por estar centradas en las personas que componen el equipo y la reducción al máximo del número de artefactos producidos.
- Dynamic Systems Development Method (DSDM): Sus principales características son: es un proceso iterativo e incremental y el equipo de desarrollo y el usuario trabajan juntos. Propone cinco fases: estudio viabilidad, estudio del negocio, modelado funcional, diseño y construcción, y finalmente implementación.
- Adaptive Software Development (ASD): Sus principales características son: iterativo, orientado a los componentes software más que a las tareas y tolerante a los cambios. El ciclo de vida que propone tiene tres fases esenciales: especulación, colaboración y aprendizaje.
- Feature -Driven Development (FDD): Define un proceso iterativo que consta de 5 pasos. Las iteraciones son cortas (hasta 2 semanas). Se centra en las fases de diseño e implementación del sistema.
- Lean Development (LD): Los cambios se consideran riesgos, pero si se manejan adecuadamente se pueden convertir en oportunidades que mejoren la productividad del cliente.
Respuestas al Cuestionario:
- b
- a
- a
- e
- b
Canós, H., Letelier, P., & Penadés, Ma.. Metodologías Ágiles en el Desarrollo de Software.
Febrero 11, 2017, de DSIC -Universidad Politécnica de Valencia Sitio web: http://www.willydev.net/descargas/prev/TodoAgil.Pdf
Carvajal, J.. (Septiembre 2008). Metodologías Ágiles. Febrero 11, 2017, de Máster en Tecnologías de la Información - UPC Sitio web: http://upcommons.upc.edu/pfc/bitstream/2099.1/5608/1/50015.pdf pg 80-89
Pérez, J., Guía Comparativa de Metodologías Ágiles. Febrero 11, 2017, de Universidad de Valladolid Sitio web: https://uvadoc.uva.es/bitstream/10324/1495/1/TFG-B.117.pdf
No hay comentarios.:
Publicar un comentario