En los últimos años, las metodologías ágiles revolucionaron el mundo de la gestión de proyectos y del desarrollo de software. Más que un método que brinda rapidez y flexibilidad a la hora de llevar adelante un proyecto, “Agile” es una filosofía que implica una forma diferente de trabajar y organizarse. Su objetivo es crear productos y servicios de calidad que se ajusten a las necesidades y metas de los clientes, las que cambian a una velocidad cada vez mayor.
En Syloper trabajamos con diferentes aplicaciones de estás metodologías. La que más utilizamos es Scrum, un marco de trabajo Agile que nos permite tomar decisiones con más rapidez y flexibilidad, y nos evita consumir tiempo en variables que ya sabemos de antemano que pueden modificarse.
Las metodologías ágiles de trabajo surgieron en el seno de la industria del desarrollo de software, cuando las empresas de este sector comprendieron que la forma de trabajo tradicional retrasaba mucho la entrega del producto final.
Las metodologías tradicionales se apoyan en un contrato fijo, cerrado, sin comunicación entre los trabajadores, y esto conducía a demoras y a entregas de mala calidad. Habitualmente los procesos se basaban en una planificación detallada: cronograma de entregas, diagramas de Gantt, presupuestos, etc. Esta planificación consumía mucho tiempo del proyecto en sí. Luego venía la ejecución, y si aparecía algún cambio en el proceso, había que invertir mucho tiempo en modificar el plan y volver a empezar.
En resumen, cuando se comenzaba a desarrollar un proyecto nuevo, se ponía en marcha un proceso lineal que podía demorar uno o dos años hasta lograr entregar el producto, con un alto riesgo de que este ya no se adaptara a la demanda del cliente. Cuando esto sucedía, en la mayoría de los casos, se optaba por soluciones de urgencia o incluso por comenzar nuevamente el proyecto desde cero.
Mientras que el sistema tradicional se centra en la planificación inicial, dándole importancia a factores como costos, alcance y tiempo, las metodologías ágiles priorizan la flexibilidad, el equipo de trabajo y la colaboración con el cliente. Es un modelo de mejora continua que se enfoca en el feedback del cliente y en las versiones continuas que se van dando en cada iteración a lo largo de cada proyecto.
Lo esencial detrás del desarrollo de software ágil es que se hace foco en los cambios evolutivos y en la colaboración del equipo para obtener resultados, en lugar de llevar adelante un proceso predefinido. Se busca reaccionar rápido sobre el cambio, sobre lo que irrumpe, y poder ser flexibles sin sacrificar la estabilidad del proyecto. Y eso es lo principal: saber combinar la estabilidad del proyecto con la flexibilidad ante el cambio.
Las metodologías ágiles para la gestión de proyectos nos brindan innumerables ventajas. Algunas de ellas son:
Existen distintas aplicaciones específicas de metodologías ágiles: Scrum, Kanban, Programación extrema (XP), Lean Startup, etc.
En Syloper trabajamos con todas estas aplicaciones en mayor o menor medida. La que más utilizamos es Scrum, un marco de trabajo Agile que se ha ganado el reconocimiento en el rubro por incentivar a la toma de decisiones y evitar el consumo de tiempo en variables que ya están destinadas al cambio. Se centra en la satisfacción del cliente y que utiliza los recursos disponibles con el fin de acelerar el desarrollo de software en cada una de sus etapas.
Scrum se utiliza para el desarrollo de software, aunque en realidad se puede aplicar a cualquier desarrollo de proyectos. Es una metodología que se utiliza para fabricar productos complejos, en la que se aplican un conjunto de buenas prácticas para trabajar en equipo y obtener el mejor resultado posible en el menor tiempo posible. Siempre aceptando las necesidades y modificaciones que puedan surgir en el proceso.
Scrum es lo suficientemente flexible como para adaptarse a cada proyecto en particular, y es el marco de trabajo ideal para proyectos en entornos complejos, donde se necesita resultados rápidos y los requisitos son cambiantes.
Según la Guía Oficial de Scrum, para que el uso de esta metodología sea exitoso es necesario que el equipo se guíe por cinco valores: compromiso, enfoque, franqueza, respeto y coraje.
Estos valores le dan una dirección al grupo en lo que respecta a su trabajo, sus acciones y su comportamiento.
Es vital que las personas comprendan e interioricen este sistema de valores. Es lo que permite unificar los comportamientos del equipo y conformar un grupo de trabajo altamente efectivo.
Cuando eso sucede, los pilares empíricos de Scrum de transparencia, inspección y adaptación cobran vida y generan confianza, tanto entre los integrantes como en su ecosistema (managment, comunidad, clientes, etc.).
Son muchos los beneficios que nos brinda este marco de trabajo. Enumeramos algunos de ellos:
El equipo Scrum suele ser pequeño, y dentro del mismo no hay sub-equipos ni jerarquías. Es una unidad formada por profesionales enfocados en un objetivo a la vez, que a la larga constituirán el producto final.
Una de sus características principales es la de ser multifuncional, ya que todos los miembros tienen las habilidades necesarias para crear valor en cada Sprint. También es autogestivo, ya que las personas que lo integran deciden internamente quién, cómo y cuándo se realiza cada tarea. Están estructurados y facultados por la organización para gestionar su propio trabajo.
El equipo Scrum es responsable de todas las actividades relacionadas con el producto a desarrollar. Esto incluye la investigación, la experimentación, el desarrollo, la operación, la verificación, el mantenimiento, la colaboración de todas las partes interesadas, y cualquier otra cosa que sea necesaria. La responsabilidad de crear un incremento valioso y útil en cada Sprint es de todo el grupo en su totalidad.
Para una mejor organización, dentro del equipo Scrum se definen tres roles principales:
• El Product Owner: representa al cliente y determina la visión del producto. También define las prioridades a la hora de ejercer las tareas.
• El Scrum Master: es el facilitador del equipo, potencia su productividad y supervisa y garantiza el buen uso de Scrum.
• Developers (Desarrolladores): tienen la responsabilidad de la calidad del proyecto y de las entregas parciales y final del producto. Es un equipo auto-organizado.
Para trabajar de manera ágil, la metodología Scrum opera a través de eventos. Estos son bloques de tiempo que poseen una duración máxima predeterminada y cuya finalidad es crear regularidad y consistencia.
El ciclo de trabajo de Scrum se compone de los siguientes eventos:
El desarrollo del producto se realiza en iteraciones sucesivas llamadas Sprint. Son bloques temporales cortos y fijos. Suelen durar entre dos y cuatro semanas y su contenido no se puede cambiar.
Cada Sprint debe tener un objetivo definido y entregar una muestra que incremente el valor del producto. Su duración es fija y siempre se inicia apenas finaliza el anterior, sin que quede tiempo muerto entre ambos.
Todo es fijo en la ejecución de un Sprint: la duración, las personas que trabajan y el alcance. Por lo tanto, no permite alteraciones de ningún tipo. Pero al ser iteraciones cortas, sí permiten cambiar el rumbo del proyecto.
Es una reunión que se realiza para definir el objetivo del Sprint y los ítems del backlog que serán desarrollados o ejecutados. En ella participa todo el equipo de Scrum y entre todos determinan qué se puede entregar en la iteración que comienza y cómo se realizará el trabajo necesario para lograrlo.
Una reunión de Sprint Planning no debería durar más de dos horas por cada semana de Sprint y en ella se abordan temas como el valor de la iteración que comienza, qué se puede realizar en ella y cómo se llevará adelante ese trabajo.
Conocida comúnmente como “La Daily”, el Daily Scrum es una reunión diaria de quince minutos de duración en la que participa el equipo de desarrollo. Se realiza todos los días a la misma hora y en el mismo lugar.
Está orientada a realizar una inspección y adaptación a través de la auto-organización del equipo. En ella cada integrante debe referirse a tres puntos esenciales:
La Revisión de Sprint una reunión cuyo propósito es inspeccionar el resultado del Sprint y determinar futuras adaptaciones. Se revisa el trabajo realizado por el equipo de desarrollo, se presentan los resultados ante las partes interesadas y se discute cómo continuará el progreso hacia el objetivo final. La retroalimentación que surge en esta revisión puede afectar el backlog con nuevos ítems, modificaciones o eliminaciones.
El Sprint Review es el penúltimo evento del Sprint y posee un límite de tiempo de cuatro horas para un Sprint de un mes de duración, aproximadamente.
La Retrospectiva de Sprint es una reunión que busca optimizar el desempeño del equipo. Su objetivo es reflexionar y planificar formas de aumentar la calidad y la eficacia. En ella se analiza cómo fue el último Sprint en lo que respecta a personas, interacciones, procesos, herramientas y resultado final. El equipo reflexiona sobre lo que salió mal, los problemas que encontraron y cómo se resolvieron (o no) esos problemas.
La Sprint Retrospective concluye el Sprint. Tiene un tiempo que se limita a un máximo de tres horas para un Sprint de un mes. Para Sprints más cortos, el evento suele ser más corto.
En el marco de trabajo Scrum, los artefactos representan trabajo o valor, y están diseñados para aumentar la transparencia de la información.
Los tres siguientes son los artefactos principales:
Es un inventario de todo lo que se necesita para mejorar el producto: requerimientos, casos de uso, tareas, funcionalidades, etc. Es la principal fuente de información sobre el proyecto en Scrum. Se trata de una lista realizada en cualquier formato, y debe ser siempre gestionada por el Product Owner.
Es una lista de todos los elementos en los que hay que trabajar durante el Sprint. Sirve para poder visualizar las tareas a realizar en cada etapa y está gestionado por el equipo de desarrollo. Su finalidad es mantener la transparencia durante el proceso de desarrollo. Se va actualizando durante toda la iteración, especialmente a partir de la información que aportan los Daily Scrums.
Se trata del resultado del Sprint. Es la suma de todas las tareas y elementos que se desarrollaron durante la iteración. Cada incremento se suma a todos los anteriores y se verifica cuidadosamente para garantizar que todos los incrementos funciones juntos.
Para poder proporcionar valor, cada incremento debe ser utilizable.
En el mundo actual, todas las organizaciones operan en un contexto marcado por la incertidumbre y la complejidad. Los cambios son constantes y veloces y el ciclo de vida de los productos es cada vez menos duradero.
Para poder mantener el valor competitivo, es imprescindible que las empresas tengamos la capacidad de acomodarnos en este nuevo entorno. Adoptar formas de trabajo que faciliten la reacción y la adaptación al cambio siempre tendrá como resultado la innovación, la simplicidad, la autonomía y la calidad. Y en este sentido, las metodologías ágiles constituyen una gran herramienta de cara al cliente, al negocio y al mercado.
En Syloper adoptamos la filosofía Agile porque se ajusta perfectamente a nuestros objetivos y valores. Una de nuestras prioridades es poner al alcance de todos las oportunidades que nos brinda esta nueva era digital. Y eso se refleja en nuestros valores: el cliente en un lugar central, nuestro equipo como un todo y la innovación digital.
Y las metodologías ágiles encajan perfectamente con nuestros tres pilares. Nos ayuda a organizarnos, a tener claras las prioridades y a alinear las fuerzas de las distintas áreas de nuestra empresa. Y por sobre todo, nos permite funcionar integradamente como equipo, poner al cliente en primer lugar e innovar, aportando valor de forma global.
✚ Seguí leyendo:
↓↓↓
⏏ El futuro es hoy. ¿Estás listo para innovar?
❤ Somos Syloper y queremos acompañarte en tu viaje hacia la transformación digital.
✉ Comunicate con nosotros.