Agilidad técnica: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| (3 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{ | {{Meta-bok|min=4}} | ||
| | |||
}} | |||
La '''agilidad técnica''' es | La '''agilidad técnica''' es la capacidad de un equipo u organización de construir y mantener productos de forma iterativa e incremental gracias a sus prácticas de ingeniería. Indica que los procedimientos, la tecnología y las técnicas de trabajo empleadas son adecuados para el [[gestión evolutiva|desarrollo evolutivo]], permitiendo entregar producto de calidad de forma sostenible sprint a sprint. | ||
== | La agilidad técnica es una condición habilitadora de la agilidad de proceso: un equipo puede querer ser ágil y tener las mejores intenciones, pero si su código es difícil de modificar, si no tiene pruebas automatizadas o si sus despliegues son lentos y arriesgados, la agilidad de proceso no puede funcionar bien. | ||
*[[ | == Prácticas que la sustentan == | ||
*[[ | Las prácticas de ingeniería más directamente asociadas a la agilidad técnica provienen principalmente del [[Extreme programming|Extreme Programming (XP)]]: | ||
*[[Gestión evolutiva]] | |||
* '''Integración continua:''' los cambios de código se integran en la rama principal con frecuencia, ejecutando pruebas automáticas en cada integración. Detecta conflictos y errores de forma temprana. | |||
* '''Desarrollo guiado por pruebas (TDD):''' las pruebas se escriben antes que el código de producción. Garantiza cobertura desde el primer día. | |||
* '''[[Refactorización]]:''' mejora continua de la estructura interna del código sin cambiar su comportamiento externo. Previene la acumulación de [[deuda técnica]]. | |||
* '''[[Pair programming|Programación en pareja]]:''' dos desarrolladores trabajan juntos en el mismo código, mejorando calidad y distribuyendo conocimiento. | |||
* '''[[Revisión por pares]]:''' revisión del código por otro miembro del equipo antes de integrarlo. | |||
* '''Despliegue continuo:''' automatización del proceso de entrega hasta producción, reduciendo el riesgo de cada despliegue. | |||
== Agilidad técnica con IA == | |||
Las herramientas de IA generativa están cambiando la práctica de la agilidad técnica: | |||
* '''Asistentes de código''' (GitHub Copilot, Cursor y similares) aceleran la escritura de código y la generación de pruebas. Equipos con buena base de agilidad técnica —pruebas automatizadas y estándares de calidad claros— pueden aprovechar estas herramientas con más seguridad, porque tienen mecanismos para detectar cuando el código generado no cumple los estándares. | |||
* '''Revisión asistida por IA:''' los modelos de lenguaje pueden ayudar en la revisión de código, detectando patrones problemáticos. No sustituyen la revisión humana, pero pueden actuar como primer filtro. | |||
* '''Deuda técnica y código generado:''' el uso masivo de generadores de código puede aumentar la deuda técnica si el equipo no revisa con rigor. La refactorización y los estándares de calidad son más importantes, no menos, cuando parte del código lo genera una IA. | |||
<div class="bok-aviso"> | |||
Un equipo que usa IA para generar código sin pruebas automáticas ni revisión estructurada está acumulando [[deuda técnica]] a mayor velocidad que antes. La agilidad técnica no es opcional cuando se trabaja con generadores de código: es la red de seguridad que hace que esas herramientas sean útiles en lugar de peligrosas. | |||
</div> | |||
== Error frecuente == | |||
<div class="bok-aviso"> | |||
'''Confundir agilidad técnica con adoptar un framework de proceso.''' Usar Scrum no convierte automáticamente a un equipo en técnicamente ágil. La agilidad técnica requiere inversión en prácticas de ingeniería concretas: pruebas, refactorización, integración continua. Sin esa inversión, el proceso ágil genera incrementos de baja calidad que se acumulan como deuda técnica. | |||
</div> | |||
== Véase también == | |||
<div class="bok-tags"> | |||
[[Agilidad]] [[Extreme programming]] [[Deuda técnica]] [[Refactorización]] [[Pair programming]] [[Revisión por pares]] [[Gestión evolutiva]] [[AgiLevel]] | |||
</div> | |||
<div class="bok-ecosistema"> | <div class="bok-ecosistema"> | ||