Jika kamu
pernah terlibat dalam pengembangan perangkat lunak, kamu akan menemukan
berbagai macam peran (roles) di sana. Kita akan melihat peran-peran seperti
software developer, UI designer, interaction designer, project manager atau
product manager, hingga software tester.
Dalam Scrum,
peran-peran tersebut yang biasa kita temui dalam pengembangan harus berada
dalam satu tim dan bekerjasama sebagai sebuah tim, dan kita menyebutnya Tim
Scrum. Scrum mendefinisikan kembali peran-peran yang esensial bagi pengembangan
produk perangkat lunak.
Kali ini kita
akan membahas tiga peran yang didefinisikan oleh kerangka kerja Scrum, yaitu
Product Owner, Scrum Master, dan Development Team.
Product Owner
Product Owner
merupakan sebuah peran yang fokus terhadap kesuksesan produk. Product Owner
berusaha memaksimalkan nilai produk perangkat lunak (software product) bagi
penggunanya. Oleh karena itu, Product Owner bekerja secara kolaboratif dalam
satu tim bersama Development Team dan memberikan arah pengembangan produk
melalui visi produknya. Product Owner menyusun prioritas pekerjaan bagi
Development Team sehingga nilai terbaik dari produk perangkat lunak dapat
diperoleh secara bertahap dan iteratif.
Selain bekerja
dengan dengan Development Team, Product Owner juga membangun kolaborasi aktif
dengan stakeholders. Stakeholders merupakan siapapun di luar tim yang tertarik
dengan kesuksesan produk perangkat lunak. Manajemen, klien, hingga sponsor
produk dapat kita sebut stakeholders
Product Owner
merupakan individu, bukan suatu grup. Product Owner mewakili suara dari
stakeholders dan mencari titik temu di antara banyak kepentingan terhadap
produk melalui komunikasi yang terjalin baik. Agar Product Owner berhasil dalam
menjalankan perannya, stakeholders maupun Development Team harus menghargai
keputusan yang dibuat oleh Product Owner.
Sederhananya,
Product Owner is a value maximizer; a product visionary.
Development Team
Development
Team merupakan sebuah tim yang terdiri dari berbagai macam peran yang
dibutuhkan untuk membangun produk perangkat lunak. Beberapa peran spesifik yang
umum kita temui software developer, UI designer, interaction designer, dan
quality assurance. Peran-peran tersebut berkolaborasi dalam Development Team
setiap harinya, membangun produk perangkat lunak sesuai prioritas pekerjaan
yang disepakati bersama dengan Product Owner.
Dalam Scrum,
siapapun yang termasuk dalam Development Team disebut dengan Developer. Tidak
ada peran spesifik dalam Development Team yang didefinisikan oleh Scrum.
Semuanya adalah Developer dan siapapun dapat melakukan apapun yang diperlukan
untuk membangun perangkat lunak yang berkualitas.
Apakah kamu
pernah menemui Development Team yang individu-individu di dalamnya menjalankan
peran lebih dari satu? Lalu kamu melihat individu-melihat tersebut rela
melakukan peran lain di luar peran spesifiknya di tim saat mereka memiliki
kesempatan untuk melakukan hal tersebut? Dan mereka melakukan itu untuk saling
tolong-menolong dalam membangun perangkat lunak yang berkualitas tinggi? Jika
jawabannya iya, selamat! Kamu telah menemui Development Team yang
cross-functional atau lintas-peran.
Apakah kamu
juga pernah menemui Development Team yang mampu mengatur beban dan ritme
kerjanya secara mandiri? Dan mereka bekerja dengan baik, entah ada
supervisor-nya atau tidak? Dalam proses Scrum, tim tersebut bahkan menjalankan
pertemuan Scrum seperti Daily Scrum atau Sprint Retrospective meskipun Scrum
Master sedang berhalangan hadir, tidak dapat menemani mereka? Jika iya,
selamat! Kamu telah menemui Development Team yang self-organized atau mandiri.
Menciptakan
Development Team yang cross-functional sekaligus self-organized bukanlah hal
yang mudah. Ada proses yang harus dilalui bersama waktu dan kesabaran dalam
melakukan peningkatan tim hingga mencapai tingkatan seperti itu.
Sederhananya,
Development Team is a builder; a developer.
Scrum Master
Scrum Master
merupakan sebuah peran yang fokus terhadap kesuksesan implementasi proses
perangkat lunak bernama Scrum. Peran Scrum Master ini dapat dipahami dari
beberapa peran spesifik yang dijalankannya: process manager, coach,
facilitator, dan change agent.
Sebagai
process manager, Scrum Master memastikan aktivitas dalam pengembangan mengikuti
proses Scrum. Scrum Master membantu Product Owner dan Development Team untuk
bekerja secara kolaboratif dalam bingkai proses Scrum.
Sebagai coach,
Scrum Master melatih Tim Scrum dalam menggunakan Scrum secara tepat sesuai
konteks organisasi sehari-hari sehingga manfaat Scrum dapat diperoleh secara
optimal. Scrum Master membantu setiap orang dalam Tim Scrum memahami tujuan dan
manfaat Scrum bagi kesuksesan pengembangan produk perangkat lunak. Kaitannya
dengan Development Team, Scrum Master membantu tim mencapai tingkatan
cross-functional dan self-organized.
Sebagai
facilitator, Scrum Master menjadi fasilitator bagi Tim Scrum dalam
pertemuan-pertemuan Scrum. Scrum Master mengupayakan keputusan antara Product
Owner dan Development Team untuk memberikan perangkat lunak terbaik dihasilkan
melalui musyawarah mufakat.
Terakhir,
sebagai change agent, Scrum Master membawa perubahan bagi tim maupun organisasi
ke arah yang menjadi lebih baik dalam implementasi proses Scrum-nya. Untuk
organisasi yang masih baru, Scrum Master mengenalkan Scrum ke organisasi dan
membantu organisasi mengadopsi Scrum. Scrum Master memandu perubahan proses
dari proses perangkat lunak saat ini yang umumnya tidak terdefinisi menuju
proses Scrum.
Setelah
memahami peran-peran dalam Scrum, kita perlu menengok kembali ke organisasi
masing-masing. Untuk kamu yang organisasinya sudah menerapkan Scrum, kamu dapat
mengecek siapa Tim Scrum-nya, siapakah Scrum Master, Product Owner, dan
Development Team-nya, dan bagaimana mereka menjalankan perannya masing-masing.
Kamu dapat berdiskusi santai dengan mereka tentang hal ini dan memperbaiki apa
yang masih kurang bersama-sama.
Untuk kamu
yang organisasinya belum menerapkan Scrum, kamu perlu melihat beberapa peran
spesifik yang sudah terdefinisi di organisasi dan seperti apa penyesuaian peran
yang dibutuhkan untuk implementasi Scrum. Dua peran penting yang umum menjadi
perhatian di awal implementasi Scrum adalah Product Owner dan Scrum Master.
Catatan: Ingin
tahu ide besar dari Scrum? Silakan baca Kenalan sama Scrum dalam Membangun Produk