Agilidad técnica: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{Meta-bok|min=4}} | {{Meta-bok|min=4}} | ||
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 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. | 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 == | == 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)]]: | Las prácticas de ingeniería más directamente asociadas a la agilidad técnica provienen principalmente del [[Extreme programming|Extreme Programming (XP)]]: | ||
'''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. | * '''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. | * '''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]]. | * '''[[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. | * '''[[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. | * '''[[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. | * '''Despliegue continuo:''' automatización del proceso de entrega hasta producción, reduciendo el riesgo de cada despliegue. | ||
== Agilidad técnica con IA == | == Agilidad técnica con IA == | ||
Las herramientas de IA generativa están cambiando la práctica de la agilidad técnica: | 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. | * '''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. | * '''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. | * '''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"> | <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. | 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> | </div> | ||
== Error frecuente == | == Error frecuente == | ||
<div class="bok-aviso"> | <div class="bok-aviso"> | ||