> For the complete documentation index, see [llms.txt](https://shimozurdo.gitbook.io/frontend/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://shimozurdo.gitbook.io/frontend/medologias-agiles.md).

# Medologías Ágiles

## ¿Qué es Agile?

El principio de *Agile* se basa en la habilidad para **crear productos** que responden a las necesidades específicas de un cliente, tomando en cuenta un escenario particular: si las necesidades o los requerimientos del cliente, el negocio o el mercado cambian, **el producto se adapta**.

Esta capacidad de adaptación al cambio y la entrega de valor constante forman parte de los principios de las metodologías ágiles.

### Marcos de trabajo y metodologías ágiles

Estos son algunos de los marcos de trabajo ágiles más conocidos:

* Kanban
* XtremeProgramming
* Scrum

Por su parte, existen metodologías que se adaptan a estos marcos de trabajo *agile*, pero no son exclusivas del entorno ágil. Algunas de ellas son:

* Pair to pair programming
* Test Driven Development (TDD)

### Características de las metodologías ágiles

La metodología agile tiene que ver con una mentalidad acerca del desarrollo de software, la cual está fundamentada en el [Manifiesto Ágil](http://agilemanifesto.org/iso/es/manifesto.html) (2001):

* Agile se centra en las personas y en sus interacciones antes que en los procesos y las herramientas.
* La colaboración con el cliente está por encima de acuerdos y negociaciones.
* Lo importante es que el software funcione, más allá de las documentaciones y reportes.
* La capacidad para responder al cambio prima sobre un plan definido y concreto.

### Diferencias entre el desarrollo ágil y el desarrollo tradicional

Frente a las prácticas de desarrollo tradicionales, el desarrollo ágil plantea tres enfoques claves:

#### Grupos de trabajo

* Equipos de trabajo pequeños
* Tiempos de iteración cortos (dos semanas)

#### Requerimientos

* Definición de una lista de requerimientos
* División de los requerimientos en listas más pequeñas para trabajar durante cada iteración
* Objetivos de desarrollo claros

#### Generación de valor

Al trabajar mediante iteraciones cortas es posible hacer entregas paulatinas y constantes, por lo cual es más factible realizar ajustes, en caso de que sean necesarios y el cliente percibe más fácilmente el valor generado.

## **12 Principios Agile:**

**1. Satisfacción al cliente.** La prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor.

**2. Cambios.** Los cambios son bienvenidos en cualquier etapa del proyecto. Los procesos ágiles aprovechan el cambio para adaptarse a las necesidades del negocio y para proporcionar ventaja competitiva al cliente.

**3. Software funcional.** Entrega de software funcional en un periodo corto (entre dos semanas y dos meses).

**4. Colaboración.** Los responsables del negocio y los desarrolladores trabajan juntos durante todo el proyecto. La colaboración facilita la comunicación del equipo de trabajo con el cliente y esto también beneficia al usuario final del producto.

**5. Individuos motivados.** El éxito de los proyectos está determinado, en gran medida, por individuos que se sienten motivados. Se debe garantizar un buen entorno de trabajo y dar al equipo independencia para tomar decisiones y ejecutar las actividades relacionadas con el proyecto.

**6. Comunicación cara a cara.** Es el método más eficiente y efectivo de comunicar información al equipo.

**7. Progreso.** El software funcionando es la principal medida de progreso.

**8. Desarrollo sostenible.** El ritmo de desarrollo debe ser constante a lo largo de las iteraciones.

**9. Mejora continua.** Está determinada por la excelencia técnica y el buen diseño a lo largo del proceso, en cada una de las iteraciones, el equipo puede identificar fácilmente qué hizo bien y qué puede mejorar.

**10. Simplicidad.** El arte de maximizar la cantidad de trabajo no realizado es esencial. Se deben contemplar requerimientos bien definidos y un alcance claro para aprovechar al máximo los resultados de las tareas ejecutadas.

**11. Autoorganización.** Las mejores arquitecturas, requisitos y diseños emergen de equipos autoorganizados.

**12. Autoevaluación.** El equipo tiene la capacidad de ajustar y perfeccionar su comportamiento.

<figure><img src="https://static.platzi.com/media/user_upload/12_Principios_Agiles-91107b77-6783-4b60-8072-1b8c1fc7171e.jpg" alt="12_Principios_Agiles.jpg"><figcaption></figcaption></figure>
