Lors d'une réunion SCRUM, l'équipe produit débattait d'une fonctionnalité d'une API qui serait utilisée par l'application mobile. Nous avons eu une maquette qui a montré à quoi devrait ressembler l'écran et quels éléments clés il devrait contenir (une "disposition").
Sur la base de cela et de la discussion que j'ai eue avec le propriétaire du produit, j'ai créé un prototype pour une réponse API (HAL + JSON). C'était un JSON très simple, conforme à HAL, qui ne faisait rien d'autre que représenter les choses qui étaient sur les maquettes. Je n'ai pas été influencé par les idées futures qui étaient prévues par les gens d'affaires car ils ont tendance à changer souvent d'idées et j'ai décidé d'adopter l'approche minimaliste. Ma proposition a été rejetée par l'équipe et j'ai été mis à l'écart 7 contre 1.
L'équipe a décidé d'utiliser une structure json abstraite non sémantique plus complexe, ce qui permet une plus grande flexibilité dans l'organisation de la mise en page. L'inconvénient de cette approche est que nous nous sommes retrouvés avec un ensemble d'objets uniformes qui peuvent avoir des propriétés nulles et vides par conception. Ils pensaient également qu'il serait bien de rendre possible les tests A / B, mais cela ne reposait que sur leurs prédictions car nous n'avions pas de telles exigences.
La plupart du temps, nous débattions de choses qui ne faisaient pas partie du sprint et qui n'étaient pas mentionnées sur les maquettes. Les problèmes décrits étaient «et si le marketing à l'avenir…», «et si l'entreprise voulait que nous…».
Moi et le propriétaire du produit sommes des programmeurs expérimentés et nous avons vu ce genre de problèmes dans le passé. Nous essayons de suivre les principes YAGNI et KISS . Le reste de l'équipe est un peu moins expérimenté et bien qu'ils connaissent ces principes, ils semblent ne pas les comprendre.
Nous nous sommes mis d'accord sur leur solution car l'équipe dans son ensemble est plus importante pour nous et nous ne voulions pas nous disputer pour quelque chose qui n'est pas si important. Mais j'ai peur si une telle chose peut devenir un précédent pour des débats à venir et plus compliqués? Comment faire face à un tel comportement? Y a-t-il quelque chose que je, en tant que chef d'équipe, puisse faire mieux?
Il convient de mentionner que le produit est un MVP à un stade précoce.
I'm afraid if such thing can become a precedence for upcoming, more complicated debates?
- Cela viole également YAGNI: s'inquiéter d'un avenir qui pourrait ne pas se produire. Si vous deviez défendre votre position, vous auriez déjà dû le faire.