viernes, junio 27, 2014

El objetivo de Scrum Master, NO PUEDE SER, dejar de ser necesario para el equipo

Existe una corriente dentro de Scrum que argumenta que cuando el equipo es maduro no es necesario el SM, es una postura respetable, pero en el artículo copiado al final, expone una serie de razones por las cuales el SM es necesario para el equipo, aunque este se encuentre maduro o en un alto grado de madurez.

En mi opinión, coincido con el autor, pues por más auto-gestionado que sea el equipo, alguien que este enfocado en facilitar y apoyar al equipo, y a la organización, tendrá más habilidades y disposición que alguien que esta enfocado en la calidad del producto que esta construyendo.


queda abierta la discusión...







Ver más...


jueves, junio 12, 2014

Ser ágil es y no es...

Tal vez de las principales discusiones que hay en el inconsciente colectivo de los ingenieros de software es ¿qué significa ser ágil?, algunos creen que es:

  • no planear
  • no cumplir horarios
  • no cumplir compromisos
  • no hacer ni ingeniería, ni arquitectura
  • no documentar
  • desarrollar a "la maldita sea", (como caiga el código con tal de entregar rápido).
  • no tener un proceso ordenado
  • y creer que la propiedad colectiva del código les solucionará sus malas prácticas.


Para mí ser ágil completamente diferente, :
  • es estar centrado en las personas y los equipos, su motivación y capacidad de auto-critica para buscar la mejora en todos los aspectos (personas, software, procesos y herramientas).
  • es ser disciplinado
  • es enfocarse en entregar software funcionando, de forma temprana, rápida, frecuente y de valor para el cliente
  • es trabajar de forma colaborativa y transparente con nuestros clientes
  • es planear constantemente (no solo al inicio), para lograr el objetivo (visión) y estar afinando y mejorando la estrategia. Es tener un plan adaptable centrado en el valor.
  • es cumplir los compromisos
  • es tener en el centro una buena arquitectura, pero tener el valor para cuestionarla y reemplazarla si es necesario.
  • es tener buenas prácticas de ingeniería (integración continua, tdd, atdd, refactoring, etc)
  • es respetar los procesos, pero estar repensando cada retrospectiva como hacerlos mejor o como hacerlos más livianos de forma que sea más fácil convivir con ellos, entreguen más valor al software y a nuestros clientes.
  • es poner a disposición de nuestros clientes nuestra capacidad y equipos que le permita enfocarse en sus prioridades de negocio.
  • es tener un equipo que no le tiene aversión al cambio, y que recibe el cambio con facilidad y lo plasma fácilmente en el software
  • es tener la capacidad de moverse con flexibilidad y rapidez para responder de forma efectiva a las necesidades del cliente

  • es hacer solo la documentación que agrega valor
  • es buscar ser liviano, práctico y excelente en todos los aspectos que tocamos o involucramos para construir software de valor en nuestros clientes.
  • es tener capacidad de responder al cambio y liberarnos de la sicorigidez de los planes, cascada y RUP. 
  • ser ágil es trabajar con foco y coraje, buscando en hacer cada vez más con los recursos que tenemos pero sin llevar nuestras fuerzas al límite.
  • es estar trabajando en la inspección y adaptación del equipo, proceso y producto, cuestionando de forma transparente para mejorar el ecosistema en el que construimos las soluciones de software.
  • es estar enfocado en la felicidad y motivación del equipo para lograr resultados sorprendentes.
  • es estar abiertos a que la mejora emerja de cualquiera, no solo de los proclamados líderes: gerentes de proyecto, o analista líder, o líder de procesos.
  • ser ágil es estar abierto a intentar, a fallar rápido para aprender, pero no es una alabanza al error, pero es ver en los errores que se cometen una oportunidad de oro corregir el camino, para hacerlo mejor
  • Ser ágil es una forma de vida más comprometida, que no es sico-rigida, es organizada, más consciente , y tiene claro que hacer software es complejo y no es predecible (según nuestro actual estado del arte), por lo que se deben proporcionar entornos donde se logre la mayor eficacia y eficiencia.