El desarrollo de software ágil no se centra únicamente en los desarrolladores
Nadie quiere lanzar software con muchos errores, problemas de rendimiento y poca satisfacción del cliente. La integración continua y las revisiones del código ayudan a evitar estas situaciones, pero ¿quién tiene tiempo para ello? Pues bien, los equipos ágiles y DevOps encuentran tiempo.
Los desarrolladores ágiles se centran en un desarrollo sostenible, no en actos heroicos. La sostenibilidad tiene que ver con buenas estimaciones, estrategias eficaces de creación de ramas para gestionar el código, pruebas automatizadas para proteger la calidad y una implementación continua para obtener feedback rápidamente de los usuarios.
Adoptar prácticas de desarrollo sostenible requiere una disciplina a la que aspiramos la mayoría de nosotros, pero que a menudo no logramos alcanzar. Esto se debe a que no se puede adoptar la metodología ágil o DevOps sin una base. La cultura de toda la organización debe respaldarlo y, a veces, se necesita un motor para el cambio, como un ingeniero de DevOps. Por ello, los líderes del proyecto deben entender que la calidad es más importante que el alcance o la planificación, lo cual es a menudo la parte más difícil de adoptar una metodología ágil.
¡Pero merece la pena! Los desarrolladores tienen la libertad y la responsabilidad de desarrollar software de forma sostenible, a la vez que mantienen una buena relación con la empresa. Además, la empresa se beneficia de una mayor calidad del producto en el mercado, lo que refuerza aún más esa relación con los ingenieros. Y lo que es mejor, los desarrolladores ágiles pocas veces tienen que ir a marchas forzadas. Cuando el desarrollo se retrasa porque para mantener una buena calidad hay que esforzarse más de lo previsto, el lado del triángulo que representa el alcance puede ajustarse a la situación; así nadie tiene que sacrificar el fin de semana.
Todos los desarrolladores de software conocen el triángulo de la gestión de proyectos: alcance, plazos y calidad. La mayoría de nosotros ha participado en proyectos donde el alcance no era flexible, los plazos se venían abajo y el desarrollo se veía superado por una deuda técnica creciente. En ocasiones (por si acaso esto fuera poco), el producto final ni siquiera era lo que exigía el mercado. Es una situación frustrante y desgraciadamente familiar.
Pero no hay que tener miedo: hay buenas noticias.
Gracias al desarrollo de software ágil, el alcance se convierte en una variable dinámica para que los equipos puedan proteger la calidad, crear una cultura de desarrollo activa y trabajar estrechamente con la empresa. En Atlassian, la metodología ágil es el núcleo de todos los equipos de desarrollo (y de otros equipos también). Esto es así por un buen motivo.
Permite adquirir prácticas que creen un fundamento técnico sólido del producto e insuflar una cultura de colaboración en el equipo. Los desarrolladores de los equipos ágiles están más comprometidos, programan mejor y se divierten más.
Las relaciones sólidas implican un producto más sólido
La metodología ágil tiene que ver con el trabajo en equipo, lo cual no es ninguna sorpresa dado que la mayor parte del software de hoy en día lo crean equipos. Los desarrolladores crean relaciones sólidas con los gestores de productos, diseñadores, publicistas y encargados de operaciones debido a que la creación de código sostenible significa estar conectado en todas las facetas del proyecto. Atlassian ha visto enormes mejoras en la calidad del código y en la satisfacción de los desarrolladores al permitirles trabajar directamente con otras áreas de la empresa. Mejor código, menos "basura" (es decir, menos trabajo duplicado o flujos conflictivos) y más eficacia entre funcionalidades son algunas de las ventajas.
Los mentores también son muy importantes. Los equipos ágiles se forman entre sí para asegurar que el conocimiento de la base de código se extiende por todo el equipo. Una manera de lograrlo es mediante las revisiones del código, lo cual no solo protege la calidad, sino que también extiende la familiaridad con el código en todo el equipo. Independientemente de cómo se propague el conocimiento, en los equipos ágiles no participan desarrolladores esenciales que no pueden irse de vacaciones porque son los únicos que entienden una parte concreta del código. Porque nadie quiere ser ese desarrollador.
Los desarrolladores ágiles también trabajan a fondo con los recursos tecnológicos del proyecto con mayor facilidad que sus homólogos de cascada debido a que los equipos ágiles se autorganizan, dando a los miembros la oportunidad de adquirir nuevas habilidades. Es un hecho que los desarrolladores que entregan funcionalidades enteras (desde una interfaz de usuario a una base de datos) asumen mayor propiedad de su código. En Atlassian cultivamos desarrolladores completos porque creemos en compartir el conocimiento por todo el equipo y toda la empresa.
Programación, cultura y disfrutar del desarrollo de software ágil
Adoptar una metodología ágil implica crear una gran cultura de desarrollo en tu organización. Sigue leyendo para aprender más acerca de las estrategias de creación de ramas eficaces, técnicas de pruebas automatizadas, integración continua y la creación de relaciones fructíferas con otras partes de la empresa. Los siguientes artículos profundizan en los cambios específicos que miles de desarrolladores han adoptado durante su transición a la agilidad y gracias a las cuales han prosperado.
El desarrollo de software ágil implica recorrer un camino. Y estamos detrás de ti en cada paso.
Empieza gratis con la plantilla de plan de proyectos de DevOps
Desarrolla, implementa y gestiona aplicaciones con un enfoque de herramientas abierto.