SCRUM toplantısında ürün ekibi, mobil uygulama tarafından tüketilecek bir API'daki bir özellik hakkında tartışıyordu. Ekranın nasıl görünmesi gerektiğini ve hangi temel öğeleri içermesi gerektiğini gösteren bir modelimiz vardı ("düzen").
Buna ve ürün sahibiyle yaptığım tartışmaya dayanarak bir API yanıtı (HAL + JSON) için bir prototip oluşturdum. Çok basit, HAL uyumlu JSON, maketlerdeki şeyleri temsil etmekten başka bir şey yapmadı. Fikirlerini sık sık değiştirme eğilimi gösterdikleri için iş adamları tarafından öngörülen gelecekteki fikirlerden etkilenmedim ve minimalist yaklaşımı benimsemeye karar verdim. Teklifim ekip tarafından reddedildi ve 7'den 1'e reddedildim.
Ekip, yerleşimin düzenlenmesinde daha fazla esneklik sağlayan daha karmaşık, anlamsız soyut json yapısını kullanmaya karar verdi. Bu yaklaşımın dezavantajı, tasarım gereği boş ve boş özelliklere sahip olabilecek bir dizi tek tip nesne ile sonuçlanmış olmamızdır. Ayrıca A / B testini mümkün kılmanın iyi olacağını düşünüyorlardı, ancak sadece böyle bir gereksinimimiz olmadığından tahminlerine dayanıyordu.
Çoğu zaman süratin bir parçası olmayan ya da maketlerde bahsi geçen şeyler hakkında tartışıyorduk. Açıklanan sorunlar "ya gelecekte pazarlama yapacaksa ...", "ya iş yapmamızı isteseydi ..." idi.
Ben ve ürün sahibi deneyimli programcıyız ve geçmişte bu tür sorunları gördük. YAGNI ve KISS ilkelerini takip etmeye çalışıyoruz . Ekibin geri kalanı biraz daha az deneyimlidir ve bu ilkeleri bilmelerine rağmen, onları anlamıyor gibi görünmektedir.
Bir bütün olarak ekip bizim için daha önemli olduğu için onların çözümü üzerinde anlaştık ve o kadar da önemli olmayan bir şeyle savaşmak istemedik. Ama korkuyorum ki böyle bir şey yeni çıkan, daha karmaşık tartışmalar için bir emsal olabilir mi? Böyle bir davranışla nasıl başa çıkılır? Takım lideri olarak daha iyisini yapabileceğim bir şey var mı?
Ürünün erken aşamada bir MVP olduğunu belirtmek gerekir.
I'm afraid if such thing can become a precedence for upcoming, more complicated debates?
- Bu da YAGNI'yı ihlal ediyor: gerçekleşmeyecek bir gelecek hakkında endişelenmek. Yerinizde duracak olsaydınız, bunu zaten yapmış olmalısınız.