Adaptive Software Development: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{ | {{Meta-bok|min=5}} | ||
| | |||
}} | |||
''Adaptive Software Development'' (ASD) es | '''Adaptive Software Development''' (ASD) es un marco de desarrollo de software diseñado por Jim Highsmith a finales de los años noventa, publicado en su libro homónimo en el año 2000. Su aportación central fue sustituir el ciclo clásico ''planificar-diseñar-construir'' por un ciclo de tres fases que asume explícitamente la incertidumbre como condición normal del trabajo: '''especular, colaborar y aprender'''. | ||
==Características básicas== | |||
*Trabajo orientado y guiado por la misión del proyecto. | ASD bebe de la teoría de los sistemas adaptativos complejos: la idea de que en entornos de alta incertidumbre los resultados no pueden predecirse con precisión, sino que emergen de la interacción continua entre el equipo, el cliente y el producto. Esta base teórica lo sitúa entre los marcos más conceptualmente ricos del ecosistema ágil, aunque su adopción práctica haya sido menor que la de Scrum o XP. | ||
*Basado en la funcionalidad. | |||
*Desarrollo iterativo | == Características básicas == | ||
*Guiado por los riesgos. | * Trabajo orientado y guiado por la misión del proyecto, no por un plan detallado. | ||
* | * Basado en la funcionalidad: el producto se construye y mide en términos de valor entregado. | ||
== | * Desarrollo iterativo con ciclos cortos y acotados temporalmente. | ||
===Especulación=== | * Guiado por los riesgos: las decisiones se toman en función de lo que más puede salir mal. | ||
* Tolerante al cambio: el cambio no es una excepción que gestionar sino una constante que abrazar. | |||
#Inicio | * Orientado a la colaboración intensa entre el equipo técnico y el cliente. | ||
#Fijación del marco temporal del proyecto. | |||
#Determinación del número de iteraciones y | == Las tres fases del ciclo ASD == | ||
#Definición del objetivo de cada iteración. | |||
#Asignación de | === Especulación === | ||
===Colaboración=== | |||
El término ''especulación'' sustituye deliberadamente a ''planificación''. Highsmith argumenta que en proyectos complejos hablar de "plan" implica una falsa certeza: en realidad se está haciendo una apuesta informada sobre cómo podría desarrollarse el trabajo. La especulación incluye: | |||
===Aprendizaje=== | |||
# Inicio del proyecto: definición de la misión y los objetivos de alto nivel. | |||
**Calidad | # Fijación del marco temporal global del proyecto. | ||
** | # Determinación del número de iteraciones y su duración. | ||
** | # Definición del objetivo de cada iteración. | ||
** | # Asignación provisional de funcionalidades a cada iteración. | ||
=== Colaboración === | |||
El desarrollo del producto se realiza de forma concurrente entre el equipo técnico y el cliente. ASD enfatiza que la colaboración no es solo una práctica deseable sino una condición estructural del método: sin acceso continuo al cliente, el ciclo de aprendizaje se rompe. | |||
=== Aprendizaje === | |||
Al final de cada iteración el equipo revisa cuatro dimensiones: | |||
* '''Calidad desde el punto de vista del cliente:''' ¿el producto hace lo que el cliente necesita? | |||
* '''Calidad técnica:''' ¿el código es mantenible y sostenible? | |||
* '''Funcionalidad entregada:''' ¿se ha completado lo previsto para esta iteración? | |||
* '''Estado del proyecto:''' ¿qué hemos aprendido que afecta a las próximas iteraciones? | |||
Esta revisión no es solo una validación sino el principal mecanismo de adaptación del marco. | |||
== ASD y el desarrollo de productos con IA == | |||
El ciclo especular-colaborar-aprender de ASD tiene una vigencia especial en el contexto del desarrollo de productos con IA generativa, donde la incertidumbre sobre el comportamiento del sistema es inherente y la planificación detallada resulta aún más difícil que en el software tradicional. | |||
Tres conexiones concretas: | |||
* '''Especulación y prompts:''' diseñar un prompt o configurar un modelo es, en términos de ASD, especulación pura: se hace una apuesta sobre cómo responderá el sistema y se itera a partir del resultado real, no del previsto. | |||
* '''Colaboración con el cliente:''' los productos de IA requieren retroalimentación del usuario para evaluar la calidad del output, especialmente en tareas subjetivas. ASD ya describía esta necesidad antes de que existiera la IA generativa. | |||
* '''Aprendizaje como mecanismo central:''' en el desarrollo con IA el ciclo de entrenamiento-evaluación-ajuste es funcionalmente idéntico al ciclo de aprendizaje de ASD. Equipos que ya trabajan con marcos adaptativos tienen más facilidad para integrar flujos de trabajo con modelos de lenguaje. | |||
== ASD en perspectiva: dónde encaja hoy == | |||
ASD no es un marco de adopción habitual en 2025 y ha sido en gran medida absorbido por Scrum y otros enfoques ágiles que incorporaron sus principios de forma más concreta y operativa. Su valor actual es principalmente conceptual: | |||
* Para equipos que quieren entender la base teórica de la agilidad más allá de las ceremonias de Scrum. | |||
* Para organizaciones que trabajan en entornos de alta incertidumbre donde la idea de "especulación" resulta más honesta que la de "planificación". | |||
* Como referencia histórica que ayuda a entender por qué el [[El manifiesto ágil|Manifiesto Ágil]] (2001) fue posible: ASD, junto con XP, Scrum y otros marcos, aportó el sustrato intelectual del que surgió. | |||
== Error frecuente == | |||
<div class="bok-aviso"> | |||
'''Tratar ASD como un método operativo completo.''' A diferencia de Scrum, ASD no prescribe roles, eventos ni artefactos concretos. Es un marco conceptual que necesita complementarse con prácticas específicas para ser operativo. Quien busque instrucciones paso a paso encontrará más utilidad en Scrum o XP; quien busque fundamentos para entender por qué la agilidad funciona encontrará en ASD una lectura valiosa. | |||
</div> | |||
== Referencias == | |||
* Highsmith, Jim. (2000). ''Adaptive Software Development: A Collaborative Approach to Managing Complex Systems''. Dorset House Publishing. | |||
* Highsmith, Jim. (2002). ''Agile Software Development Ecosystems''. Addison-Wesley. | |||
== Véase también == | |||
<div class="bok-tags"> | |||
[[El manifiesto ágil]] [[Extreme programming]] [[Gestión evolutiva]] [[Crystal]] [[DSDM]] [[FDD]] [[Agilidad]] [[Mapa de metodologías]] | |||
</div> | |||
<div class="bok-ecosistema"> | |||
<div class="texto"> | |||
<span class="titulo">'''¿Quieres seguir aprendiendo?'''</span> | |||
<span class="sub">En el Club Agile practicas y mides tu avance a tu ritmo, con recursos exclusivos, aulas e-learning y retos en Skill Arena. Y cuando quieras certificar lo que sabes, tienes convocatorias disponibles durante todo el año.</span> | |||
</div> | |||
<div class="botones"> | |||
<div class="bok-btn-outline">[https://scrummanager.com/club/ Club Agile]</div> | |||
<div class="bok-btn-filled">[https://www.scrummanager.com/website/c/calendar/show-courses.php Ver convocatorias]</div> | |||
</div> | |||
</div> | |||
[[Category:Glosario de términos]] | [[Category:Glosario de términos]] | ||
[[Category:Marcos_y_modelos]] | [[Category:Marcos_y_modelos]] | ||
[[Category:Metodologías ágiles]] | |||