Durante una riunione SCRUM il team del prodotto stava discutendo su una funzione su un'API che verrà utilizzata dall'app mobile. Avevamo un mock up che mostrava come dovrebbe apparire lo schermo e quali elementi chiave dovrebbe contenere (un "layout").
Sulla base di questo e della discussione che ho avuto con il proprietario del prodotto ho creato un prototipo per una risposta API (HAL + JSON). E 'stato molto semplice, JSON HAL-compatibile che non ha fatto altro che rappresentare le cose che erano sui prototipi. Non sono stato influenzato dalle idee future che erano previste dagli uomini d'affari perché hanno la tendenza a cambiare spesso le loro idee e ho deciso di adottare l'approccio minimalista. La mia proposta è stata respinta dal team e sono stato svalutato 7 a 1.
Il team ha deciso di utilizzare una struttura json astratta più complessa, non semantica, che consente una maggiore flessibilità nell'organizzazione del layout. Lo svantaggio di questo approccio è che abbiamo finito con un insieme di oggetti uniformi che possono avere proprietà nulle e vuote di design. Hanno anche pensato che sarebbe stato bello rendere possibile il test A / B, tuttavia era basato sulle loro previsioni solo perché non avevamo tale requisito.
La maggior parte delle volte discutevamo di cose che non facevano parte dello sprint, né menzionate sui prototipi. I problemi descritti erano "cosa succederebbe se il marketing in futuro ...", "e se il business potrebbe volerci ...".
I e il proprietario del prodotto sono programmatori esperti e in passato abbiamo riscontrato questo tipo di problemi. Cerchiamo di seguire YAGNI e KISS . Il resto della squadra è un po 'meno esperto e sebbene conoscano questi principi, sembra che non li capiscano.
Abbiamo concordato la loro soluzione in quanto la squadra nel suo complesso è più importante per noi e non abbiamo voluto lottare per qualcosa che non è così importante. Ma temo che una cosa del genere possa diventare un precedente per i dibattiti in salita, più complicati? Come affrontare un simile comportamento? C'è qualcosa che io, in quanto leader di una squadra, posso fare meglio?
Vale la pena menzionare che il prodotto è un MVP in fase iniziale.