Adaptación de marcos ágiles en proyectos de software
Introducción al Seminario TIC 2026
Bienvenida y Presentación
- La maestra Patricia da la bienvenida a los participantes del segundo seminario TIC de 2026, destacando la puntualidad en el inicio y cierre de las sesiones.
- Se invita a los asistentes a suscribirse al canal de YouTube "Aprendeetic UNAM" para acceder a contenido educativo y seguir las redes sociales relacionadas.
- Se menciona la oferta académica disponible, incluyendo nuevos diplomados que se han creado para este año, enfatizando la importancia de la capacitación continua.
Tema del Seminario
- El tema del seminario es "Adaptación de marcos ágiles en proyectos de software", un área relevante en el desarrollo tecnológico actual.
- Se presenta al maestro Jaime Minor Gómez como experto en desarrollo de software con más de 15 años de experiencia, quien liderará la sesión.
Metodologías Ágiles: Realidad vs. Teoría
Introducción a las Metodologías Ágiles
- Jaime Minor Gómez inicia su presentación agradeciendo y compartiendo su perspectiva sobre el auge de las metodologías ágiles en empresas.
- Se discute cómo muchas veces se espera que los equipos sean ágiles sin considerar las realidades prácticas que enfrentan.
Desafíos Comunes
- Los libros presentan una visión idealizada donde todos los equipos son perfectos y colaborativos, lo cual rara vez refleja la realidad laboral.
- La disponibilidad del cliente es crucial según los textos, pero frecuentemente no se cumple debido a diversas razones logísticas o personales.
Expectativas Irrealistas
- En entornos inciertos (concepto VUCA), surgen cambios inesperados que complican la implementación efectiva de metodologías ágiles.
- La falta de multidisciplinariedad en los equipos puede ser un obstáculo; se espera que cada miembro tenga múltiples habilidades técnicas y funcionales.
Conclusiones Iniciales
- La demanda por conocimientos amplios puede llevar a confusiones entre ser multidisciplinarios versus multitarea, lo cual afecta el rendimiento del equipo.
¿Cómo abordar la transformación ágil en sistemas heredados?
Desafíos de trabajar con sistemas heredados
- Muchos desarrolladores no crean software desde cero, sino que deben lidiar con sistemas heredados que carecen de documentación adecuada, lo que dificulta su comprensión y mantenimiento.
- La cultura de agilidad puede percibirse como una carga adicional en lugar de una solución, ya que se añaden más tareas sin una clara reducción del trabajo existente.
Metodologías ágiles y su implementación
- Adoptar metodologías ágiles como Scrum no garantiza automáticamente agilidad; es crucial transformar la cultura organizacional para lograr resultados efectivos.
- Muchas organizaciones implementan ceremonias ágiles sin cambiar realmente su cultura, lo que limita el impacto positivo de estas metodologías.
Importancia de la documentación
- A pesar de la creencia común en las metodologías ágiles sobre eliminar la documentación, esta sigue siendo esencial para entender los flujos y procesos dentro del sistema.
- Los equipos deben reconocer la necesidad de documentar sus procesos a pesar de considerarlo aburrido o tedioso.
Entregas puntuales y factores externos
- Las entregas puntuales dependen no solo de la metodología utilizada, sino también de factores externos como riesgos tecnológicos y experiencia del equipo.
- Es fundamental evaluar si las entregas aportan valor al producto final y si se cuentan con los recursos necesarios para cumplir con los objetivos establecidos.
Autoorganización y liderazgo en equipos ágiles
- La autoorganización requiere madurez dentro del equipo; esto implica confianza, comunicación efectiva y tiempo para desarrollar relaciones sólidas entre los miembros.
- Dependiendo del contexto organizacional, puede ser necesario contar con un líder o un jefe; ambos roles tienen ventajas y desventajas que deben ser consideradas.
Velocidad en la adopción ágil
- Aunque se espera rapidez en las metodologías ágiles, el inicio suele ser lento debido a la necesidad de un cambio cultural significativo dentro de la organización.
- La flexibilidad organizacional juega un papel crucial; algunas empresas pueden adaptarse rápidamente a nuevas metodologías mientras que otras enfrentan resistencia debido a procesos arraigados.
¿Cómo afecta la organización al trabajo en equipo?
La importancia del equipo y la autoorganización
- El éxito de un proyecto ágil depende más del equipo humano que de la tecnología. Los problemas surgen por fallas en el sistema organizacional, no en el equipo técnico.
- La entrega de valor al cliente es fundamental; se debe asegurar que lo entregado sea útil para las operaciones del cliente y cumpla con sus necesidades.
- La experiencia del equipo y su integración son cruciales. Cada rol (líder, scrum master, product owner) debe estar alineado para evitar dependencias externas que obstaculicen el avance.
Obstáculos externos y presión del cliente
- Las dependencias externas pueden surgir de requerimientos como dispositivos o licencias necesarias para avanzar en el proyecto.
- Los jefes deben facilitar el trabajo eliminando obstáculos, no creando más. Sin embargo, a menudo carecen de control sobre factores externos como las fechas límite impuestas por los clientes.
- La presión por cumplir plazos puede llevar a situaciones críticas donde se requiere validar cambios rápidamente antes de un despliegue.
Requerimientos ambiguos y comunicación efectiva
- Los requerimientos ambiguos son un desafío común. Es vital tener claridad sobre lo que se necesita para evitar malentendidos durante el desarrollo.
- A pesar de la experiencia previa, siempre hay que cuestionar los requerimientos y buscar entender todos los flujos alternativos posibles para minimizar riesgos.
Métricas tradicionales vs productividad
- Las métricas tradicionales suelen enfocarse en horas trabajadas, pero es esencial cambiar hacia una evaluación basada en resultados y productividad real.
- En México, la productividad puede ser baja; sin embargo, implementar entornos ágiles puede mejorar esta situación con tiempo y educación adecuada.
Estructura del equipo ágil según Scrum
- Un marco ágil como Scrum establece roles claros: un product owner responsable del backlog y un equipo diverso con habilidades complementarias.
- En la práctica, los equipos pueden ser más pequeños de lo ideal debido a limitaciones presupuestarias o cambios en los alcances iniciales del proyecto.
¿Cómo mejorar la efectividad del trabajo en equipo?
La importancia de la claridad en el equipo
- La falta de aterrizaje de la realidad impide que un equipo funcione correctamente; es esencial tener claridad sobre lo que está sucediendo para fomentar una buena respuesta del grupo.
- Reconocer que no todo está bajo nuestro control es clave para alcanzar la madurez; compartir necesidades entre los miembros del equipo puede llevar a una colaboración más eficiente.
Contexto y tecnología
- Es fundamental entender el contexto antes de implementar tecnologías o frameworks, ya que esto determina qué herramientas son las más adecuadas para el proyecto.
- La desinformación y la falta de experiencia pueden llevar a fracasos al introducir tecnologías inapropiadas; aprender de estos errores es importante, aunque conlleva costos.
Roles claros en el equipo
- Los roles dentro del equipo deben ser claros: se necesita un Product Owner, un Scrum Master y otros especialistas como desarrolladores y diseñadores para asegurar un funcionamiento óptimo.
- Las reuniones diarias (dailies) deben ser breves y efectivas; sin embargo, muchas veces se convierten en largas juntas si no se manejan adecuadamente.
Manejo de retrospectivas
- Las retrospectivas requieren habilidades específicas en manejo de personas, ya que no todos están dispuestos a aceptar críticas constructivas.
- Factores emocionales como presión o alegría pueden influir negativamente en las dinámicas durante las retrospectivas, dificultando su efectividad.
Agilidad y adaptación continua
- Adoptar metodologías ágiles implica adaptarse constantemente; esto requiere comunicación efectiva y colaboración entre los miembros del equipo.
- La planificación debe considerar limitaciones técnicas y económicas; reconocer cuándo un alcance es inalcanzable ayuda a ajustar expectativas realistas.
¿Cómo gestionar cambios en proyectos de software?
Importancia de la comunicación con el cliente
- Los analistas deben identificar si un cambio es crítico o mínimo, y comunicar al cliente los riesgos asociados a dicho cambio.
- Es esencial explicar al cliente que no se pueden realizar cambios imposibles debido a limitaciones técnicas, como el impacto en la base de datos y los reportes.
Rol del Product Owner y Scrum Master
- El Product Owner debe tener poder de decisión para representar adecuadamente al cliente; su empoderamiento es crucial.
- A diferencia del Project Manager tradicional, el Scrum Master debe ser flexible y proactivo en eliminar obstáculos para el equipo.
Efectividad de las reuniones diarias (Daily)
- Las reuniones diarias no son solo para informar al gerente, sino para asegurar que todo el equipo esté alineado sobre los objetivos del sprint.
- La falta de una buena planificación puede llevar a frustración en el equipo, resultando en "scrums de cartón" donde no se logra un verdadero progreso.
Cultura organizacional y mejora continua
- Adoptar metodologías ágiles requiere un cambio cultural dentro de la organización; simplemente seguir un libro no es suficiente.
- La retrospectiva debe enfocarse en integrar al equipo y fomentar una cultura organizacional que motive mejoras reales, más allá de incentivos superficiales.
Planificación efectiva frente a escenarios caóticos
- La planificación debe considerar los peores escenarios posibles para definir rutas críticas y alcanzar objetivos realistas.
- Un tablero Kanban puede ser útil si se adapta a las necesidades del equipo; sin embargo, puede volverse caótico si no hay límites claros sobre las actividades.
La Importancia de la Organización en los Flujos de Trabajo
Desafíos en la Gestión de Tareas
- La falta de un orden claro en las tareas puede generar confusión, especialmente cuando hay múltiples columnas y estados (pendiente, revisión, etc.).
- Es crucial entender cómo son nuestros flujos de trabajo para establecer métricas efectivas que midan la productividad real.
- Comparar actividades por cantidad sin considerar su complejidad puede llevar a malentendidos sobre el rendimiento del equipo.
Métricas y Productividad
- Las métricas deben ser adecuadas al tipo de trabajo; Kanban es útil para equipos de soporte donde las tareas son similares y fácilmente cuantificables.
- La metodología Lean busca eliminar lo innecesario y reducir tiempos de espera, pero debe aplicarse con conocimiento del área específica.
Comparación entre Metodologías
- Scrum se basa en iteraciones fijas mientras que Kanban promueve un flujo continuo; cada uno tiene su lugar dependiendo del contexto (producto vs. servicio).
- Mezclar metodologías tradicionales y ágiles puede ser beneficioso si se entiende bien la necesidad del negocio.
Identificación de Problemas
- Un flujo estable es prometido por Kanban, pero depende del entendimiento mutuo entre el equipo y los líderes sobre cómo funciona realmente el trabajo.
- La mejora continua implica identificar requisitos innecesarios para evitar retrabajos costosos.
Validación y Comunicación
- Los errores suelen surgir por falta de validación adecuada entre programadores y product owners; es esencial tener procesos claros para evitar malentendidos.
- La implementación efectiva requiere reducir la carga entre desarrolladores mediante una buena planificación y automatización donde sea posible.
Planificación Efectiva
- Las pruebas manuales pueden ser una carga significativa; automatizarlas ayuda a optimizar recursos.
- Lean no se trata solo de hacer más con menos personas, sino hacer menos cosas mejor con el equipo adecuado para cada tarea.
¿Cuál es el rol del Scrum Master en un equipo ágil?
Importancia de la comunicación en el rol del Scrum Master
- Un Scrum Master no necesita ser programador, pero debe comunicarse activamente con los desarrolladores sobre sus actividades y necesidades.
- Es esencial que el Scrum Master entienda las limitaciones y capacidades de los desarrolladores para facilitar una mejor colaboración y negociación.
- La agilidad no se trata solo de implementar Scrum; implica entregar valor rápidamente y adaptarse a las circunstancias cambiantes.
Adaptabilidad y gestión de equipos ágiles
- La capacidad de adaptación varía entre individuos; un desarrollador experimentado puede tardar más en aprender nuevas tecnologías que uno junior.
- La gestión efectiva requiere atención a tres variables: tiempo, alcance y costo. Ignorar estas puede llevar al fracaso del proyecto.
Elementos clave para una gestión ágil exitosa
- Para gestionar equipos ágiles, es crucial transparentar la comunicación y los flujos de trabajo, utilizando herramientas como root maps para establecer metas claras.
- El Scrum Master actúa como facilitador, protegiendo al equipo de interferencias externas mientras asegura la calidad del trabajo.
Desafíos humanos en la agilidad
- Los miedos relacionados con la pérdida de control son comunes; por ello, es vital empoderar al equipo para fomentar un ambiente colaborativo.
- No todas las empresas necesitan ser ágiles; la implementación depende completamente de las necesidades específicas del negocio.
Transformación ágil: más allá del proceso
- La transformación ágil implica un cambio mentalidad más que un simple ajuste en procesos. Se trata de aprender a hacer las cosas correctamente, aunque sea incómodo.
Preguntas sobre metodologías ágiles
Relación entre habilidades blandas y marcos ágiles
- Las habilidades blandas son esenciales para el liderazgo efectivo y la comunicación dentro de equipos ágiles; estas no se enseñan formalmente en escuelas.
Aplicación de metodologías ágiles en inteligencia artificial
- Las metodologías ágiles pueden aplicarse a proyectos de inteligencia artificial dependiendo del tipo específico del producto y su necesidad particular.
La Importancia de la Planeación en Proyectos
Necesidades del Proyecto
- La planeación de actividades es crucial, ya que ciertos elementos deben cumplirse antes de avanzar a la siguiente operación. Es esencial entender las necesidades del proyecto y adaptar la metodología en consecuencia.
Metodologías Tradicionales vs. Ágiles
- Se menciona que se puede comenzar con una metodología tradicional e ir adaptando una ágil conforme avanza el proyecto, lo cual permite flexibilidad y adaptación a los cambios.
Medición del Triángulo del Proyecto
- Se discute la necesidad de medir el triángulo de tiempo, costo y alcance en proyectos ágiles, aunque no siempre se mencione explícitamente en literatura sobre agilidad.
Presupuesto y Objetivos Claros
- Un proyecto necesita un presupuesto definido y un objetivo claro para su desarrollo. La gestión del proyecto es fundamental para que la metodología elegida pueda avanzar efectivamente.
Habilidades Blandas en Equipos de Trabajo
Comunicación Asertiva
- Las habilidades blandas son esenciales; entre ellas destaca la comunicación asertiva, que permite expresar ideas claramente dentro del equipo.
Reconocimiento Personal
- Es importante que los desarrolladores reconozcan cuándo necesitan ayuda. No pedir asistencia puede entorpecer el trabajo colaborativo.
Proactividad en el Equipo
- Ser proactivo es vital, especialmente para aquellos con perfiles introvertidos. Adaptarse a situaciones sociales mejora la dinámica del equipo.
Indicadores Clave: OKR vs KPI
Definición de KPI
- Los KPI (Indicadores Clave de Desempeño) son métricas medibles que ayudan a evaluar la productividad en tareas específicas.
Función de OKR
- Los OKR (Objetivos y Resultados Clave), por otro lado, están diseñados para motivar al equipo mediante metas claras sin centrarse únicamente en métricas cuantitativas.
Impacto de la Inteligencia Artificial en Programación
Uso Crítico de IA
- Se advierte sobre el uso excesivo de inteligencia artificial; aunque puede facilitar tareas programáticas, no sustituye el pensamiento crítico necesario para comprender el código generado.
¿Cómo optimizar el uso de la inteligencia artificial en el trabajo?
La inteligencia artificial y su impacto en el trabajo
- La inteligencia artificial puede ser una herramienta útil si se utiliza correctamente; no nos hace más torpes, sino que puede agilizar nuestro trabajo.
- Se plantea la preocupación sobre los constantes cambios solicitados por los usuarios, sugiriendo que estos deben ser cobrados adecuadamente para reflejar el tiempo y esfuerzo invertido.
Manejo de cambios en requerimientos
- Es importante educar al cliente sobre cómo los cambios implican tiempo y esfuerzo; aceptar cambios sin esta comprensión puede llevar a problemas.
- Se menciona un ejemplo donde un cliente pide múltiples cambios de color, enfatizando que cada cambio debe tener un costo asociado.
Capacitación y formación recomendada
- Se recomienda iniciar con diplomados para identificar necesidades en metodologías ágiles como Scrum, así como considerar certificaciones relevantes.
- Las certificaciones pueden incluir temas como Scrum, Product Owner e historias de usuario, lo cual es esencial para mejorar las habilidades del equipo.
Proyectos y liderazgo ágil
- Se destaca la importancia de profesionalizar proyectos mediante capacitación adecuada; muchos ya trabajan sin saber que sus métodos están basados en marcos establecidos.
- Existen diplomados específicos sobre administración efectiva de proyectos y liderazgo ágil que son recomendables para quienes desarrollan software.
Próximos eventos y seminarios
- Se invita a planificar la capacitación durante el año, mencionando un próximo seminario programado para el 12 de febrero sobre actualizaciones del penbook.
- Este seminario será relevante para desarrolladores de proyectos, abordando cambios recientes importantes en la metodología.