En una reunión SCRUM, el equipo de producto estaba debatiendo sobre una característica en una API que será consumida por la aplicación móvil. Tuvimos una maqueta que mostraba cómo debería verse la pantalla y qué elementos clave debería contener (un "diseño").
Basado en esto y en la discusión que tuve con el propietario del producto, creé un prototipo para una respuesta API (HAL + JSON). Era un JSON muy simple y compatible con HAL que no hacía más que representar las cosas que estaban en las maquetas. No me influyeron las ideas futuras que preveían los empresarios, ya que tienden a cambiar sus ideas a menudo y decidí adoptar un enfoque minimalista. Mi propuesta fue rechazada por el equipo y me votaron 7 a 1.
El equipo decidió utilizar una estructura json abstracta más compleja y no semántica, que permite una mayor flexibilidad en la organización del diseño. La desventaja de ese enfoque es que terminamos con un conjunto de objetos uniformes que pueden tener propiedades nulas y vacías por diseño. También pensaron que sería bueno hacer posible la prueba A / B, sin embargo, se basó en sus predicciones solo porque no teníamos ese requisito.
La mayoría de las veces debatíamos sobre cosas que no formaban parte del sprint ni se mencionaban en las maquetas. Los problemas descritos fueron "qué pasaría si la comercialización en el futuro ...", "qué pasaría si la empresa quisiera que ...".
Yo y el propietario del producto somos programadores experimentados y hemos visto este tipo de problemas en el pasado. Intentamos seguir los principios de YAGNI y KISS . El resto del equipo tiene un poco menos de experiencia y, aunque conocen estos principios, parecen no entenderlos.
Acordamos que su solución como equipo en su conjunto es más importante para nosotros y no queríamos pelear por algo que no es tan importante. Pero me temo que tal cosa puede convertirse en un precedente para los próximos debates más complicados. ¿Cómo lidiar con tal comportamiento? ¿Hay algo que yo, como líder del equipo, pueda hacer mejor?
Vale la pena mencionar que el producto es un MVP en etapa inicial.
I'm afraid if such thing can become a precedence for upcoming, more complicated debates?
- Eso también viola a YAGNI: preocuparse por un futuro que podría no suceder. Si iba a mantenerse firme, ya debería haberlo hecho.