Rabu, 11 Maret 2020

Kenalan sama Tim Scrum


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

Sumber : medium.com