Scrum Methodology

Posted on

Dalam sebuah proses pengembangan perangkat lunak, dibutuhkan proses-proses yang saling terintegrasi yang dimulai dari tahap requirement, design, implementasi, testing sampai dengan deployment. Metodologi yang umum digunakan di Indonesia saat ini yakni menggunakan RUP (Rational Unified Process), di mana tahap-tahap di atas dilakukan secara urut dan terstruktur. Tetapi, seringkali pada proses pengembangan perangkat lunak, ada banyak perubahan yang terjadi karena dinamika perusahaan yang memungkinkan adanya penambahan requirement (permintaan). Kalau sudah begini, jika menggunakan metodologi RUP, tim developer akan mengalami kesulitan jika dihadapkan pada banyaknya perubahan yang terjadi. Untuk menyelesaikan problem inilah, metodologi Scrum diciptakan. Apa metodologi Scrum itu? Apa yang membedakannya dengan RUP?

Scrum Framework
Scrum! – ilustrasi diambil dari http://www.scrumhint.com/agile-glossary/

Scrum saat ini menjadi alternatif yang mulai banyak digunakan dalam proses pengembangan perangkat lunak. Scrum sendiri sebenarnya adalah sebuah framework yang mengimplementasikan proses Agile Development. Untuk menjelaskan bagaimana Scrum mengubah paradigma dalam proses bekerja dan apa perbedaannya dengan RUP, saya akan mencontohkan dengan sebuah ilustrasi berikut.

Sebuah development team beranggotakan sekitar 5 orang, dibagi berdasarkan tahap-tahap yang dilakukan pada proses software development, yakni proses Requirement, Design, Implementation, Testing, dan Deployment. Beberapa saat kemudian tim ini menerima sebuah project dari klien, di mana tim diminta untuk membuat sebuah aplikasi untuk membantu proses bisnis yang klien minta. Karena tim sadar bahwa sang klien adalah seorang petinggi perusahaan yang sedang berkembang, maka tim memutuskan untuk menggunakan Scrum karena kelebihannya yang dapat menerima berbagai perubahan yang mungkin akan muncul pada proses pengembangan aplikasi.

Oke, diasumsikan bahwa tim telah memutuskan untuk menggunakan Scrum dalam metodologi dalam pengerjaan project yang diminta client. Tapi kira-kira apa alasan penggunaan Scrum pada project kali ini. Sebelum itu, saya ingin menunjukkan perbedaan Scrum dibandingkan dengan RUP yang mengadopsi metodologi waterfall.

The Agile Manifesto
Agile Manifesto – ilustrasi diambli dari http://www.woolpertlabs.com/2013/10/the-agile-method/

Bisa dilihat pada ilustrasi di atas, bahwa Scrum menitikberatkan pada hasil berupa produk jadi dibandingkan dengan dokumentasi yang lengkap dan komprehensif. Pada Scrum ada beberapa peran yang terlibat dalam proses pengerjaan, yaitu Scrum Master, Product Owner, dan Development Team. Tunggu, kenapa kok tidak ada Project Manager? Pada RUP Project Manager berperan sebagai pengatur dan pengarah berjalannya project, sementara Scrum menitik beratkan pada kinerja dan inisiatif dari masing-masing anggota tim. Peran Project Manager dihilangkan dan diserahkan kepada anggota tim untuk saling berdiskusi demi mencapai target yang telah disepakati.

Scrum Team
Peran dalam Scrum Team – ilustrasi diambil dari http://agileatlas.org/articles/item/scrum-framework

Aktivitas-aktivitas meeting yang dilakukan pada Scrum setidaknya ada 5 jenis, yaitu Backlog Grooming, Sprint Planning, Daily Scrum, Sprint Review dan Sprint Retrospective. Masing-masing aktivitas memiliki definisi dan tujuan masing-masing.

1. Backlog Grooming
Backlog Grooming merupakan tahap pertama yang harus dilakukan sebelum melakukan tahap-tahap sprint pada Scrum. Meeting ini dilakukan dengan tujuan memilih tahapan prioritas mana saja yang harus dilakukan selama pengerjaan sprint. Backlog Grooming wajib dihadiri oleh seluruh Scrum Team, yang meliputi Product Owner, Scrum Master dan Development Team. Keputusan tertinggi terletak pada Product Owner. Untuk itu Development Team harus mengetahui apa yang sebenarnya diinginkan oleh Product Owner.

2. Sprint Planning
Sprint Planning merupakan meeting yang harus dilakukan setiap kali akan memulai sprint baru. Pada meeting ini Scrum Team merumuskan task-task apa saja yang akan dikerjakan pada 1 sprint. Perlu diperhatikan bahwa dalam 1 kali sprint yang penting bukan banyaknya task yang bisa dikerjakan, tetapi kemampuan task yang dapat dikerjakan dari requirement sampai dengan testing dalam 1 kali waktu sprint berjalan. Waktu sprint ideal berkisar 1-2 minggu, tetapi masih memungkinkan apabila sprint berjalan dalam waktu 1 bulan apabila scope tasknya cukup besar dan tidak dapat dipisah.

3. Daily Scrum
Daily Scrum merupakan meeting yang dilakukan setiap hari pada pengerjaan sprint. Pada meeting ini anggota tim saling berbagai apa yang telah dikerjakan kemarin, apa yang akan dikerjakan hari ini, dan apa saja hambatan yang ditemui selama pengerjaan. Scrum Master harus memastikan seluruh anggota Development Team mengutarakan pendapatnya masing-masing.

4. Sprint Review
Sprint Review merupakan meeting yang dilakukan setelah 1 kali pengerjaan sprint selesai. Meeting ini dilakukan dengan cara mendemonstrasikan apa yang telah dicapai 1 sprint. Dalam hal ini Scrum Team mendemonstrasikan hasil pekerjaannya kepada stakeholder terkait. Apabila stakeholder memiliki masukan terkait hasil produk pada sprint terakhir, stakeholder dapat meminta meeting dengan Scrum Team.

5. Sprint Retrospective
Sprint Retrospective merupakan meeting yang dilakukan pada terakhir 1 masa sprint. Pada meeting ini masing-masing anggota Development Team mengutarakan pendapat mereka terkait kinerja tim pada 1 sprint terakhir. Pendapat yang diutarakan lebih mengarah ke kemampuan komunikasi, pembagian tugas, tanpa membahas sisi teknis project.

Tahapan-tahapan meeting yang dilakukan pada Scrum jika diilustrasikan kira-kira sebagai berikut

Scrum Meeting
Scrum Meeting – ilustrasi diambil dari http://mm1.com/scrum-poster-for-easy-implementation-of-scrum-published-by-mm1-consulting-management/

Untuk pembaca yang ingin mengetahui bagaimana cara Scrum bekerja, bisa mengikuti free training series di http://scrumtrainingseries.com/ dan di sini. Semoga bermanfaat 🙂

Iklan

One thought on “Scrum Methodology

    […] wawasan tentang manajemen perangkat lunak, salah satunya Scrum yang bisa dibaca di artikel saya sebelumnya. Ada banyak rangkaian meeting yang dilakukan pada Scrum, tetapi di sini saya akan fokus pada […]

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s