Mengenal Tim di dalam Scrum

Badr Interactive
- 02 March 2020


Jika kita pernah terlibat dalam pengembangan perangkat lunak, kita 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 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 stakeholder.

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 dengan 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 anda pernah menemui Development Team yang individu - individu di dalamnya menjalankan peran lebih dari satu? Lalu Anda melihat individu - individu 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! Anda telah menemui Development Team yang cross - functional atau lintas -peran. 

Apakah Anda 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! Anda telah menemukan Development Team yang self-organized atau mandiri.

Menciptakan Developmen 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 kontes 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 fasilitator, Scrum Master memfasilitasi 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 agent of change, Scrum Master membawa perubahan bagi tim maupun organisasi ke arah yang menjadi lebih baik lagi 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 Anda yang organisasinya sudah menerapkan Scrum, Anda dapat mengecek siapa tim Scrum-nya, siapakah Scrum Master, Product Owner, dan Development Team-nya, dan bagaimana mereka menjalankan perannya masing - masing. Kita dapat berdiskusi santai dengan mereka tentang hal ini dan memperbaiki apa yang masih kurang bersama - sama.

Untuk Anda yang organisasinya belum menerapkan Scrum, Anda 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.


Referensi:
https://medium.com/badr-startup-studio/kenalan-sama-peran-dalam-scrum-e9345cb578fd