Los 12 principios del agilismo - Scrum

Los 12 principios del agilismo - Scrum

Estos días estuve conversando mucho sobre dirigir equipos de desarrollo de software con alguna metodología ágil como Scrum o Kanban y quiero compartir en este blog sobre los principios del Agilismo.

Así como cuando aprendemos a documentar el desarrollo de un proyecto con UML, cascada o cualquier otra metodología siguiendo paso paso estas metodologías, el desarrollo ágil también cuenta con principios y reglas, aunque evidentemente mucho mas practicas y faciles de aprender. 

Pues en este artículo hablaremos sobre los principios y valores que rigen el agilismo.

Los doce principios del agilismo

  • 1 - Entrega temprana y continua de software funcional: Es importante, cuando desarrollemos un proyecto de software de forma ágil, entregar constantemente piezas de software funcionales, que satisfagan las necesidades del cliente y que puedan ser validados y probadas por el cliente. estas entregas deben ser de forma periódica hasta terminar con el proyecto, de tal forma que no se pueda avanzar otra pieza de software sin haber acabado la anterior.

  • 2 - Aceptar que los requisitos cambien, y utilizar estos cambios para bien:  Es importante tener en cuenta que cuando se desarrolla con metodologías ágiles, debemos aceptar nuevos cambios en los requerimientos del sistema, incuso fases finales del desarrollo; se entiende que el cliente conoce muy bien su empresa por tanto los cambios que pida deben ser bien recibidos y utilizados para entender que dichos cambias traen mejoras a la funcionalidad del software.
  • 3 - Se entrega software funcional en el menor tiempo posible: se debe planificar el trabajo de tal forma que en el menor tiempo posible se pueda entregar una pieza de software funcional. Ejemplo: en una periodo de dos semana se entregará el módulo de pagos online desde cualquier dispositivo. Es recomendable que las piezas de software elegidas no demanden más de 2 semanas, aunque pueden existir casos en los que se elijan hasta dos meses de tiempo para entregar una pieza de software completamente funcional.
  • 4 - Incluir al cliente en en el dia a dia del desarrollo:  los responsables del negocio y los responsable del desarrollo trabajan de forma cotidiana durante todo el proyecto, el cliente debe ser parte del proyecto tanto como un miembro del equipo de desarrollo.
  • 5 - Debe existir respeto mutuo entre cliente y equipo de trabajo: es importante que haya una buena relación social entre el cliente y el equipo que desarrollara el proyecto, para el agilismo es muy importante que el equipo de trabajo esté siempre motivado.
  • 6 - Todo cambio y planificación se lleva entre el cliente y el equipo de desarrolladores: el agilismo plantea que la mejor forma de comunicarse entre el que solicita el proyecto y el equipo que lo desarrolla es cara a cara, es decir que tanto el cliente y el equipo de desarrollo deberán conversar para todo cambio que surja en los requerimientos del proyecto.  
  • 7 - El software funcionando es la medida principal de progreso: El agilismo nos dice que no se puede medir el éxito de un proyecto solo en base al cumplimiento efectivo de un plan, ya que incluso al tener el 100% del plan cumplido esto no garantiza que se haya cumplido con todas las expectativas del cliente. Entonces se dice que un proyecto es exitoso si se entrega software funcionando y que cumpla con todos los requerimientos solicitados por el cliente.
  • 8 - El desarrollo de software debe ser constante y continuado: no importa que se tenga limitaciones de tiempo, el agilismo nos dice que debemos priorizar la calidad del software. Al realizar entregas tempranas y constantes el cliente podrá ver la magnitud del proyecto y entender el tiempo real que demandará su construcción, por tanto el equipo de desarrollo nunca debe dejar de programar un producto excelente.
  • 9 - Se debe buscar la excelencia técnica y un buen diseño: el agilismo nos recomienda que la búsqueda constante de la perfección, proponiendo buenas prácticas de programación que aseguren tanto la mantenibilidad del software y su escalabilidad.
  • 10 - El arte de maximizar la cantidad de trabajo no realizado, es esencial: al cumplir con el principio de entregar piezas pequeñas de software de forma funcional, el agilismo nos ayuda a que en estos periodos de tiempo echemos un vistazo atrás y ver que cosas se pueden mejorar, qué cosas cambiar para una mejor productividad del equipo de trabajo.
  • 11 - Equipos autoorganizados: es importante tener miembros que pueda tomar decisiones por iniciativa propia, los miembros del equipo elegir que parte del proyecto pueden llevar adelante.
  • 12 - Mejorar la efectividad del equipo de trabajo:  volvemos a las entregas tempranas de piezas de software, al hacer una revisión de todo el trabajo realizado, el equipo debe ser capaz de ver mejoras en la calidad del trabajo, que fragmentos se puede mejorar de tal forma que la calidad tienda a ser excelente. 

Cumpliendo estos principios podemos decir que nuestro equipo de trabajo va por buen camino en el desarrollo ágil de software. Es difícil encontrar equipo que nos ayuden a cumplir con todos los principios del agilismo pero con cada nuevo proyecto iremos moldeando habilidades y el equipo lograra encontrar su máximo nivel de trabajo.

Déjanos tu correo y entérate de mas de estos artículos: