En el mundo del desarrollo de software es muy comun escuchar terminos como “somos agiles”, “utilizamos metodos agiles”, “nos basamos en las metodologias agiles”, “usamos agile”, ects. En esas frases se esconden algunos grises, muchas empresas creen que son agiles solo por aplicar un de estas metodologias desde el marco teorico de las metodologias, realizar todas sus seremonias y tener todos sus roles en el equipo, pero a pesar de realizar todo como la teoria lo indica no logran salir a produccion de forma rapida y con buena calidad. Entonces aqui es donde se pone en evidenciaa que las metodologias no garantizan que realmente el proceso de desarrollo sea eficiente, ser agiles es mucho mas que utilizar una metodologia de desarrollo de software agil.

Para entender mejor … hablemos un poco de metodologias agiles

Una metodología de desarrollo de software es un marco de trabajo (framework) utilizado para estructurar, planificar y controlar el proceso de desarrollo de un software. Tiene por objetivo establecer un enfoque sistemático en el desarrollo informático.
Las ventajas de aplicar una metodologia de desarrollo son varias, ordenar el trabajo, coordinar equipos, validar requerimientos, reducir costos y evitar perdida de dinero y esfuerzo.

Metodologias mas populares

Agile

Quizas la mas popular hoy en dia, principalmente enfocada en satisfacer al usuario final, relegando documentacion y rigidez en los procesos. Es fundamental la comunicación fluida entre el equipo de desarrolladores y los usuarios finales. Dividiendo las iteraciones en sprints de 1 a 4 semanas, con feedback constante de los usuarios.

Scrum

Esta metodologia se tiene a confundir con Agile y esto es un error enorme. SCRUM esta basada en el marco de trabajo de agile y es hoy en dia quizas la metodologia mas utilizada y flexible. Similar a agile se divide el trabajo en Sprints de enetre 1 a 3 semanas, existen dos roles fundamentales en esta metodologia el Product Owner, es el rol que conoce el negocio y se encarga de reacudar toda la informacion necesaria para llevar el producto adelante y el Scrum master, el facilitador que coordina y se encarga de que todos los miembros del equipo puedan tener lo que necesitan para trabajar.

Lean

La metodología Lean Software Development se centra en maximizar el valor para el cliente mientras minimiza el desperdicio. Inspirada en la manufactura lean, prioriza la entrega rápida de software funcional, mejora continua, y la capacidad de adaptarse a cambios. Se basa en 7 principios: eliminar lo que no agrega valor, calidad integrada, aprender continuamente, demoras mínimas, empoderar al equipo, tomar decisiones lo más tarde posible, y entregar rápido.

Rapid Application (RAD)

RAD es una metodología de desarrollo de software que enfatiza la rapidez y flexibilidad en la creación de aplicaciones. Permite cambios rápidos e iterativos, involucra a usuarios finales para retroalimentación continua y se basa en prototipos reutilizables. Ideal para proyectos con requisitos cambiantes.

Cascada?

Consideramos que no vale la pena hablar de esta metodologia hoy en 2024, al menos para el desarrollo de software.

En todas estas metodologias vamos a escuchar hablar de muchos terminos como:
Sprint
Boards
Reuniones de refinamiento
Reuniones de planificacion
Reuniones diarias de estado
Reuniones semanales de estado
Reuniones, reuniones y mas reuniones ….