Під час зустрічі з SCRUM команда продукту обговорювала функцію в API, яку споживатиме мобільний додаток. У нас був макет, який показав, як повинен виглядати екран і які ключові елементи він повинен містити ("макет").
На підставі цього та обговорення, який я мав із власником продукту, я створив прототип відповіді API (HAL + JSON). Це був дуже простий, сумісний з HAL JSON, який не мав нічого іншого, як представляти речі, що були в макетах. На мене не впливали майбутні ідеї, які були передбачені діловими людьми, оскільки вони мають тенденцію часто змінювати свої ідеї, і я вирішив застосувати мінімалістичний підхід. Мою пропозицію команда відхилила, і я перехитрив 7 - 1.
Команда вирішила використати більш складну, несемантичну абстрактну структуру json, що дозволяє досягти більшої гнучкості в організації компонування. Недоліком цього підходу є те, що ми закінчилися набором рівномірних об'єктів, які можуть мати нульові та порожні властивості за задумом. Вони також подумали, що було б непогано зробити тестування A / B можливим, але це базувалося на їх прогнозах лише тому, що у нас не було такої вимоги.
Більшу частину часу ми дискутували про речі, які не були частиною спринту та не згадувались у макетах. Описані проблеми були "що, якщо маркетинг у майбутньому буде ...", "що, якщо бізнес може захотіти, щоб ми ...".
Я та власник продукту - досвідчені програмісти, і подібні проблеми ми спостерігали раніше. Ми намагаємось слідувати принципам YAGNI та KISS . Решта команди трохи менш досвідчені, і хоча вони знають ці принципи, вони, схоже, не розуміють їх.
Ми погодилися з їх вирішенням, оскільки команда в цілому для нас важливіша, і ми не хотіли битися за щось, що не так важливо. Але я боюся, якщо таке може стати прецедентом для спірних, складніших дебатів? Як боротися з такою поведінкою? Чи є щось, що я, як керівник команди, можу зробити краще?
Варто згадати, що продукт є MVP на ранній стадії.
I'm afraid if such thing can become a precedence for upcoming, more complicated debates?
- Це також порушує YAGNI: турбуватися про майбутнє, яке може не відбутися. Якби ви збиралися стояти на своєму, ви вже повинні були це зробити.