Scrum Guide’a product backlog başlığı altında geçen bir aktiviteler topluluğudur. Product backlog’da yer alan işlerin olgunlaştırıldığı, detaylandırıldığı her daim devam eden bir süreçtir.
Scrum Guide’ın 2013 yılındaki güncellenmesine kadarki versiyonlarında Grooming olarak da geçmektedir. Bu sebeple hem Grooming hem de Refinement ifadeleri ile görebilirsiniz.
Product Backlog’un tek sorumlusunun Product Owner olduğunu daha önceki yazımızda paylaşmıştık. Refinement’da product backlog’un detaylandırılması olduğundan bu aktivitelerden Product Owner sorumludur. Product Owner’ın zamanının birçoğu Product Backlog’u detaylandırmak için gerçekleştirdiği aktivitelerle geçmektedir. Yalnız Product Owner’da herşeyi tek başına yapabilmesi mümkün değildir. Bu sebeple developer’lar da refinement aktivitelerine dahil olmalıdır. Bu sürenin de ihtiyaca göre yapılması Scrum Guide tarafından önerilmektedir.
Refinement aktiviteleri Scrum Guide’da zorunlu etkinlikler altında çerçevelendirilmemiştir, yalnız Scrum’ın kurucuları başta olmak üzere birçok Agile koç tarafından refinement aktivitelerinin gerçekleştirilmesi şiddetle tavsiye edilmektedir. Planlama etkinliklerinin kalitesi ise yeterli refinement yapılıp yapılmadığının en büyük göstergesidir.
Refinement aktivitelerinde bir sonraki sprintte ele alınacak işlerin detaylandırılması sağlanmaktadır. Eğer refinement aktivitelerinde mevcut sprintin işleri detaylandırılıyorsa bir önceki sprintteki refinement’ın yeterli yapılmadığının işaretidir.
Product Owner’ın refinement aktiviteleri olarak;
- Gelen bir maili, talebi okunması o işin detaylandırılması yolundaki ilk adımın atılmasını sağlayacaktır.
- Kendi bilgi birikimi ile talebi detaylandırması, ilgili paydaşları ile çeşitli etkinliklerde bir araya gelerek requirement’ları netleştirmesi de bir refinement aktivitesidir.
- Product Owner’ların herseyi bilmesi mümkün değil, taleplerin olgunlaştırılması için developer’lardan destek isteyebilir. Zaman zaman paydaşlarla yaptıkları etkinliklere davet edebilir, soru-cevap şeklinde destek isteyebilmektedir.
- Elde ettiği tüm bilgileri ise refinement etkinliğinde hem tüm developer’lara hem de ilgili paydaşlarla paylaşabilir.
Refinement etkinliği; Product Owner taleple elde ettiği bilgileri tüm developer’lar ile paylaşması, gelecek sorulara cevap verilmesi için yapılmaktadır. Bu etkinliğe sadece scrum takım üyeleri değil, talebin netleştirilmesi fayda sağlayacak, developer’ların soracağı sorulara daha sağlıklı bilgi vereceğini düşündüğü herkesi Product Owner davet edebilir. Bu etkinlikler de Product Owner her şeyi bilemeyeceği için her soruya cevap veremeyebilir. Bir sonraki refinement veya planlama etkinliğine kadar soruları cevabını netleştirmesi gerekmektedir.
Developer’ların refinement aktivitesi olarak;
- Product Owner’a verilen soru-cevap veya çeşitli etkinliklerde destek verebilir.
- Refinement etkinliklerinde Product Owner’a cevaplaması için ödevler çıkabilir, aynı zamanda development team üyelerine de detaylandırması için ödevler çıkabilir.