Lección 2 Manifiesto Ágil
Lección 2 Manifiesto Ágil
Lección 2 Manifiesto Ágil
Módulo 1
Origen de la Agilidad
Lección 2
Los 12 principios del manifiesto ágil
Ellos son:
1 Nuestra principal prioridad es satisfacer al cliente a través de la entrega temprana y
continua de software de valor.
2 Son bienvenidos los requisitos cambiantes, incluso si llegan tarde al desarrollo. Los
procesos ágiles se doblegan al cambio como ventaja competitiva para el cliente.
3 Entregar con frecuencia un software que funcione, en periodos de un par de semanas
hasta un par de meses, con preferencia en los periodos breves.
4 Las personas del negocio y los desarrolladores deben trabajar juntos de forma
cotidiana a través del proyecto.
5 Construcción de proyectos en torno a individuos motivados, dándoles la oportunidad
y el respaldo que necesitan y procurándoles confianza para que realicen la tarea.
6 La forma más eficiente y efectiva de comunicar información de ida y vuelta dentro de
un equipo de desarrollo es mediante la conversación cara a cara.
7 El producto que funciona es la principal medida del progreso.
8 Los procesos ágiles promueven el desarrollo sostenido. Los patrocinadores,
desarrolladores y usuarios deben mantener un ritmo constante de forma indefinida.
9 La atención continua a la excelencia técnica enaltece la agilidad.
10 La simplicidad como arte de maximizar la cantidad de trabajo que se hace es esencial.
11 Las mejores arquitecturas, requisitos y diseños emergen de equipos que se auto-
organizan.
12 En intervalos regulares, el equipo reflexiona sobre la forma de ser más efectivo y
ajusta su conducta en consecuencia.
Agilidad
La agilidad es un conjunto de metodologías, frameworks, herramientas y prácticas, basadas
en el manifiesto ágil y sus principios, que busca entregar el mayor valor al cliente en el menor
tiempo posible.
Agilidad
Story mapping, plannig poquer, refactoring, backlog
Herramientas / Prácticas
priorizado, daily, planning release, retrospectiva
Metodologías / Frameworks Scrum, Kanban, SAFE, LESS, Lean Startup...
Otras definiciones
A continuación, se presentan algunas otras definiciones de agilidad:
1 Agilidad es un enfoque de desarrollo iterativo que se basa en el esfuerzo colaborativo,
a través de la auto-organización, y que se originó en el área de desarrollo de software.
2 Agilidad representa el gran avance del management: ha permitido a los equipos de
alto rendimiento lograr sistemáticamente tanto la ejecución disciplinada como la
innovación continua.
3 Agilidad se resume como: entrega frecuente, ciclos cortos, alto valor agregado,
feedback temprano y adaptación al cambio.
4 Agilidad no es rapidez, sino adaptabilidad.
5 Agilidad no es una metodología, sino una forma de ver el mundo.
6 Agilidad no es una cura milagrosa.
¿La agilidad, se aplica sólo al mundo
del desarrollo de software?
Inicialmente sí, el término fue
pensado para representar una
forma de desarrollar proyectos
de software. Pero actualmente se
puede observar que la agilidad se ha
extendido a muchos otros entornos.
¿Qué no es la Agilidad?
Muchas veces el significado de agilidad se ha tergiversado y se usa como sinónimo de
conceptos que se alejan de su sentido original. En el ámbito corporativo, por ejemplo, suele
asociarse básicamente con rapidez para hacer y miles de jefes alrededor del mundo la usan
como excusa para exigirles un mayor rendimiento a “sus” equipos: que generen más en menos
tiempo.
Las premisas que movilizan al mundo ágil son básicamente las siguientes:
Valor
Las empresas que compiten en mercados inestables y
cambiantes, cuyos productos se basan en innovación y
flexibilidad, necesitan gestionar de manera ágil porque
su permanencia depende de su capacidad de innovar
continuamente y lanzar novedades de manera
ininterrumpida, ya que compiten con los productos de
otras empresas que también están en continua innovación.
Agilidad
Capacidad para producir partes completas del producto en periodos breves de tiempo.
Flexibilidad
Capacidad para adaptar la forma y el curso del desarrollo a las características del proyecto
y a la evolución de los requisitos.
Principales modelos y frameworks ágiles
A partir de la adopción de la agilidad para gestionar proyectos de software, muchos de
sus profesionales han documentado y propagado las formas particulares (modelos y
frameworks) en las que han implementado los principios de la agilidad en sus equipos
de trabajo.
Algunos determinan cómo realizar las pruebas, o la duración que emplean para
desarrollar cada iteración, o el protocolo para realizar las reuniones de trabajo.
Unos métodos cubren áreas concretas de la ingeniería del software (diseño, desarrollo
pruebas), como es el caso de:
AD (Agile Database Techniques).
AM (Agile Modeling).
TDD (Test-Driven Design).
XP (eXtreme Programming).
Mientras que otros se centran en la gestión del proyecto:
Scrum.
XBreed (o Agile Enterprise).
ASD (Adaptive Software Development).
AUP (Agile Unified Process).
Crystal.
DSDM (Dynamic Systems Development Method).
Lean Software Development.
Estos modelos se encuentran inscritos en la organización Agile Alliance (www.
agilealliance.org) para promocionar y difundir su conocimiento. Cada uno de ellos
expone formas concretas de aplicación de principios ágiles en el desarrollo de software.
La siguiente figura muestra la enorme diversidad de modelos existentes:
Sobre Scrum: resumen de su historia
Como se explicó anteriormente, en 1986 se empieza a esbozar Scrum. Los japonenses Hirotaka
Takeuchi e Ikujiro Nonaka imaginan en esta época una manera de aumentar la velocidad de
desarrollo de una aplicación, conservando al mismo tiempo una fuerte noción de flexibilidad.
Para esto, imaginaron un equipo de competencias múltiples, que pudiera abordar el conjunto
de tareas necesarias para la realización del producto, superponiendo los procesos. Su enfoque
se basa en el concepto enunciado por el rugby de quince jugadores: un equipo unido que tiene
como objetivo común hacer avanzar el balón hacia el campo contrario.