Trabajo ágil – iterativo e incremental
Scrum, como todos los procesos ágiles, es simultáneamente iterativo e incremental. Como estos dos términos se usan con tanta frecuencia sin ser definidos, voy a hacerlo ahora.
Trabajar con iteraciones
En un proceso iterativo, las mejoras se realizan paso a paso. Cuando un equipo descubre que un sistema aún no está terminado o no es lo suficientemente bueno en algunos puntos, mejora esos puntos paso a paso hasta que el producto sea satisfactorio. En cada iteración, el software se mejora añadiendo detalles. ¡Encuentra información más detallada aquí!
En una primera iteración quizás se trabaje en una máscara de búsqueda que solo sirva para una búsqueda muy simple. En la segunda iteración se añaden criterios de búsqueda adicionales. Y finalmente, en una tercera iteración se abordan posibles correcciones de errores.
Un buen ejemplo de esto son las esculturas. Primero, el escultor elige una piedra del tamaño adecuado. Luego trabaja la forma general de la obra de arte. En ese punto quizás ya se pueda reconocer la cabeza y el cuerpo y ver que será más un humano que un pájaro. En el siguiente paso, el escultor refina su obra y elabora los detalles. No considerará terminada ninguna parte de su obra hasta que toda la pieza esté completa.
Trabajar con incrementos
En un proceso incremental, el software se desarrolla y entrega en partes individuales. Cada una de estas partes – o incrementos – representa una funcionalidad propia y completa. El tamaño de los respectivos incrementos es completamente irrelevante.
Para todos los incrementos se escriben códigos completos y se realizan pruebas. Básicamente, se asume que el trabajo de una iteración no necesitará ser revisado de nuevo. Un escultor que trabaja de forma incremental se concentrará en una parte de su trabajo hasta que esté terminada. Pueden ser incrementos pequeños (primero la nariz, luego los ojos, luego la boca, etc.) o incrementos grandes (cabeza, torso, piernas, brazos). Independientemente del tamaño de los incrementos, el escultor siempre intentará completar totalmente el trabajo en un determinado incremento.
Scrum y el desarrollo ágil de software son simultáneamente incrementales e iterativos
Iterativo, porque el trabajo de una iteración debería mejorarse en las iteraciones siguientes. E incremental, porque los trabajos individuales se completan y entregan durante el proceso.
Un ejemplo de la diferencia entre iterativo e incremental:
Imaginemos crear un sitio web de citas. Con un enfoque iterativo, el equipo trabajaría un poco en cada parte del sitio: gestión de perfiles, función de búsqueda, anuncios publicitarios, etc. Después, el equipo vuelve a todas las partes individuales y las mejora.
Con este enfoque puramente iterativo, se mejora todo el sitio.
Si este sitio web se creara de forma incremental, el equipo primero perfeccionaría la gestión de perfiles antes de completar la función de búsqueda, etc. Es decir, siempre se termina todo el trabajo para un área antes de comenzar con algo nuevo.
Conclusión sobre la forma de trabajo iterativa e incremental
La forma de trabajo iterativa y la incremental, consideradas por separado, no son particularmente útiles. Sin embargo, en combinación – como en Scrum – son fantásticas.
Descubre más sobre el trabajo iterativo e incremental en Agile Academy
Si quieres profundizar en esta materia, te recomendamos nuestra formación para directivos en Agile Leader.
Como Scrum Master ofrecemos las siguientes formaciones y oportunidades de capacitación gratuitas que también te familiarizarán con el trabajo iterativo e incremental:
Curso Online de Scrum Master & Agile Coach
Mejora tus habilidades como Scrum Master o Agile Coach con nuestro curso online.
Sumérgete en el mundo de Ágil y Scrum y aprende a gestionar mejor equipos ágiles con modelos prácticos y ejemplos de la industria.
Obtén el curso online