Teoría
15 febrero 2016
Las técnicas ágiles de desarrollo de software son una serie de ideas y conceptos que pueden o no aplicarse en el ciclo de vida de desarrollo de un proyecto determinado. Son muchas las ideas y conceptos que irán surgiendo conforme avancemos en los conocimientos que hay hoy en día sobre el tema, saber qué piensan las personas que están utilizándolas y sobre todo conocer sus experiencias al aplicarlas a situaciones reales nos permitirá llegar a tener gran cantidad de recursos para poder descubrir qué combinación de ellos es la más adecuada para nuestro equipo de trabajo.
El manifiesto ágil
El manifiesto ágil es simplista, busca un cambio en ciertos aspectos de la ingeniería clásica del software que se ha demostrado que no son universalmente válidos. Tras muchas deliberaciones 17 de las personas más influyentes en el mundo del desarrollo del software nos dijeron simplemente que…
Estamos descubriendo formas mejores de desarrollar software tanto por nuestra propia experiencia como ayudando a terceros. A través de este trabajo hemos aprendido a valorar: Individuos e interacciones sobre procesos y herramientas Software funcionando sobre documentación extensiva Colaboración con el cliente sobre negociación contractual Respuesta ante el cambio sobre seguir un plan Esto es, aunque valoramos los elementos de la derecha, valoramos más los de la izquierda.
Sus primeros firmantes fueron:
Kent Beck | James Grenning | Robert C. Martin |
Mike Beedle | Jim Highsmith | Steve Mellor |
Arie van Bennekum | Andrew Hunt | Ken Schwaber |
Alistair Cockburn | Ron Jeffries | Jeff Sutherland |
Ward Cunningham | Jon Kern | Dave Thomas |
Martin Fowler | Brian Marick |
Los principios del manifiesto ágil
Se trata de doce principios que fundamentan el desarrollo ágil de software:
Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos Ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente. Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al periodo de tiempo más corto posible. Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto. Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo. El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es la conversación cara a cara. El software funcionando es la medida principal de progreso. Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida. La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia.
La alianza ágil
La Alianza Ágil es una agrupación sin ánimo de lucro que persigue avanzar en el desarrollo de los principios y prácticas ágiles y dar soporte a quienes se dediquen a su investigación o los apliquen en sus empresas.
The Agile Alliance is a nonprofit organization with global membership, committed to advancing Agile development principles and practices. Agile Alliance supports those who explore and apply Agile principles and practices in order to make the software profession more productive, humane and sustainable. We share our passion to deliver software better everyday.
En este mapa interactivo puedes descubrir algunas prácticas y técnicas ágiles. Cada punto del mapa nos conduce a la explicación de la práctica ágil a la que representa, ve revisando la información que proporciona sobre las prácticas que ya conoces: Kanban board, Timebox, User stories, Refactoring…
En España existe una comunidad con el mismo propósito, agile-spain, aunque no mantienen muy actualizada su página web.
Técnicas ágiles
Las técnicas ágiles de desarrollo de software no surgen del manifiesto ágil, algunas de ellas ya existían y otras estaban llevándose a cabo sin una definición formal. El manifiesto ágil fue una exposición de las conclusiones a la que llegaron diversos personajes relevantes en el mundo del desarrollo de software.
- ASM
- Lean Development (LD)
- Adaptive Software Development (ASD)
- Agile Unified Process (AUP)
- Crystal Clear
- Feature Driven Development (FDD)
- Lean Software Development (LSD)
- Kanban
- Open Unified Process (OpenUP)
- Programación Extrema (XP)
- Método de desarrollo de sistemas dinámicos (DSDM)
- Scrum
- G300
Material para examen
Cualquiera de los siguientes enlaces nos servirá para obtener material para el examen final.