Pada pertemuan SCRUM, tim produk berdebat tentang fitur pada API yang akan dikonsumsi oleh aplikasi seluler. Kami memiliki mock up yang menunjukkan bagaimana tampilan layar dan elemen kunci apa yang harus dikandungnya ("tata letak").
Berdasarkan hal ini dan diskusi yang saya lakukan dengan pemilik produk, saya membuat prototipe untuk respons API (HAL + JSON). Itu sangat sederhana, JSON-compliant-HAL yang tidak lebih dari mewakili hal-hal yang ada di maket. Saya tidak terpengaruh oleh ide-ide masa depan yang diramalkan oleh para pebisnis karena mereka cenderung sering mengubah ide-ide mereka dan saya memutuskan untuk mengambil pendekatan minimalis. Proposal saya ditolak oleh tim dan saya kalah suara 7 banding 1.
Tim memutuskan untuk menggunakan struktur json abstrak non-semantik yang lebih kompleks, yang memungkinkan lebih banyak fleksibilitas dalam mengatur tata letak. Kelemahan dari pendekatan itu adalah kita berakhir dengan satu set objek seragam yang mungkin memiliki sifat nol dan kosong berdasarkan desain. Mereka juga berpikir akan lebih baik untuk membuat pengujian A / B menjadi mungkin, namun itu didasarkan pada prediksi mereka hanya karena kami tidak memiliki persyaratan seperti itu.
Sebagian besar waktu kami berdebat tentang hal-hal yang bukan bagian dari sprint atau disebutkan di maket. Masalah yang dijelaskan adalah "bagaimana jika pemasaran di masa depan akan ...", "bagaimana jika bisnis mungkin ingin kita ...".
Saya dan pemilik produk adalah programmer berpengalaman dan kami telah melihat masalah seperti ini di masa lalu. Kami mencoba mengikuti prinsip YAGNI dan KISS . Anggota tim lainnya kurang berpengalaman dan meskipun mereka tahu prinsip-prinsip ini, mereka tampaknya tidak memahaminya.
Kami menyetujui solusi mereka karena tim secara keseluruhan lebih penting bagi kami dan kami tidak ingin memperebutkan sesuatu yang tidak terlalu penting. Tapi saya khawatir jika hal seperti itu bisa menjadi preseden untuk debat yang lebih rumit dan lebih rumit? Bagaimana cara menghadapi perilaku seperti itu? Adakah sesuatu yang saya, sebagai pemimpin tim, dapat lakukan lebih baik?
Perlu disebutkan bahwa produk tersebut adalah MVP tahap awal.
I'm afraid if such thing can become a precedence for upcoming, more complicated debates?
- Itu juga melanggar YAGNI: mengkhawatirkan masa depan yang mungkin tidak terjadi. Jika Anda akan berdiri tegak, Anda seharusnya sudah melakukannya.