Trong một cuộc họp SCRUM, nhóm sản phẩm đã tranh luận về một tính năng trên API sẽ được ứng dụng di động sử dụng. Chúng tôi đã có một bản mô phỏng cho thấy màn hình sẽ trông như thế nào và những yếu tố chính nào nên chứa (một "bố cục").
Dựa trên điều này và cuộc thảo luận tôi đã có với chủ sở hữu sản phẩm, tôi đã tạo một nguyên mẫu cho phản hồi API (HAL + JSON). Nó rất đơn giản, JSON tuân thủ HAL, không làm gì khác hơn là đại diện cho những thứ có trong mockup. Tôi đã không bị ảnh hưởng bởi những ý tưởng trong tương lai mà những người kinh doanh thấy trước vì họ có xu hướng thay đổi ý tưởng của họ thường xuyên và tôi quyết định thực hiện phương pháp tối giản. Đề xuất của tôi đã bị nhóm từ chối và tôi đã vượt quá 7-1.
Nhóm đã quyết định sử dụng cấu trúc json trừu tượng phi ngữ nghĩa phức tạp hơn, cho phép linh hoạt hơn trong việc sắp xếp bố cục. Nhược điểm của phương pháp đó là chúng tôi đã kết thúc với một tập hợp các đối tượng thống nhất có thể có các thuộc tính rỗng và rỗng theo thiết kế. Họ cũng nghĩ rằng sẽ rất tốt nếu thực hiện thử nghiệm A / B, nhưng nó chỉ dựa trên dự đoán của họ vì chúng tôi không có yêu cầu như vậy.
Hầu hết thời gian chúng tôi đã tranh luận về những thứ không phải là một phần của nước rút cũng như không được đề cập trên các mockup. Các vấn đề được mô tả là "nếu tiếp thị trong tương lai sẽ ...", "nếu doanh nghiệp có thể muốn chúng tôi ...".
Tôi và chủ sở hữu sản phẩm là những lập trình viên giàu kinh nghiệm và chúng tôi đã thấy những loại vấn đề này trong quá khứ. Chúng tôi cố gắng tuân theo các nguyên tắc YAGNI và KISS . Phần còn lại của đội là một ít kinh nghiệm và mặc dù họ biết những nguyên tắc này, họ dường như không hiểu chúng.
Chúng tôi đã đồng ý về giải pháp của họ vì toàn bộ đội ngũ quan trọng hơn đối với chúng tôi và chúng tôi không muốn đấu tranh vì điều gì đó không quan trọng. Nhưng tôi có sợ nếu điều đó có thể trở thành tiền lệ cho những cuộc tranh luận phức tạp hơn, phức tạp hơn không? Làm thế nào để đối phó với hành vi như vậy? Có điều gì mà tôi, với tư cách là trưởng nhóm, có thể làm tốt hơn không?
Điều đáng nói là sản phẩm này là một MVP giai đoạn đầu.
I'm afraid if such thing can become a precedence for upcoming, more complicated debates?
- Điều đó cũng vi phạm YAGNI: lo lắng về một tương lai có thể không xảy ra. Nếu bạn sẽ đứng vững, bạn nên làm như vậy.