Anggota Kelompok :
Andry Setiawan (20115754)
Bachtiar Adiguna (21115215)
Fajri Fadli (22115445)
Kevin Clarence (23115691)
Kelas : 3KB01
Mata Kuliah : Manajemen Proyek & Resiko
1. SEJARAH SINGKAT METODOLOGI SCRUM
Scrum pertama kali diperkenalkan
dalam artikel Takeuchi and Nonaka yang berjudul "The New New Product Development Game"
dan dipublikasikan oleh Harvard Business Review (HBR) pada tahun 1986. Pada artikel tersebut Takeuchi dan Nanaka melakukan survey pada beberapa perusahaan di
Jepang, antara lain ; Fuji Xerox, Canon, 3M dan Honda. Survei tersebut
dilakukan untuk melihat bagaimana perusahaan-perusahaan tersebut dapat membuat
produk baru dengan kualitas produk yang sangat bagus, secara sukses.
Takeuchi dan Nanaka menemukan
bahwa perusahaan-perusahaan tersebut menggunakan pendekatan yang sama dalam
mengembangkan produknya. Metode Scrum digunakan pertama kali dalam pengembangan
perangkat lunak dimulai oleh Jeff
Sutherland, Easel Corporation pada tahun 1993. Metode Scrum pertama kali diformulasikan dan
dipresentasikan pada Object Management Group tahun 1995 dengan judul paper
"Scrum Development Process"
2. PENGERTIAN METODOLOGI SCRUM
Scrum adalah suatu metodologi
yang mengatur (manage) proses pembuatan software. Scrum merupakan suatu
kerangka kerja. Jadi, bukannya menyediakan deskripsi rinci tentang bagaimana
segala sesuatu yang harus dilakukan pada proyek seperti diserahkan kepada tim
pengembangan perangkat lunak pada umumnya. Hal ini dilakukan supaya tim akan
tahu bagaimana cara terbaik untuk memecahkan masalah yang mereka disajikan. Ada
3 elemen organisasi utama pada scrum yaitu product owner, Scrum master, dan the
Scrum team. Scrum Master dapat dianggap sebagai pelatih bagi tim, membantu
anggota tim menggunakan kerangka Scrum untuk tampil di tingkat tertinggi.
Product Owner mewakili bisnis, pelanggan atau pengguna dan memandu tim ke arah
pegembangan produk yang tepat. Sedangkan The Scrum Team merupakan grup
pengembang kecil biasanya terdiri dari 5-9 orang. Untuk projek yang sangat
besar, pekerjaan biasanya dibagi dan didelegasikan ke grup-grup kecil. Jika
sangat dibutuhkan the scrum master juga dapat ikut membantu dalam koordinasi
team.
Selain itu Scrum juga menarik
karena scrum lebih condong pada cara me-manage proyek secara praktikal
(practical process model). Lebih menuntun tim untuk melakukan hal-hal yang
perlu dan menyarankan hal-hal yang tidak perlu dalam menginspeksi proses dan
melakukan adaptasi terus meneus untuk menyetir arah dari proses. Tidak seperti
metodologi manajemen proyek lain yang cenderung deskriptif dan heavyweight.
Dalam
menjalankan kerjasama antara anggota team, scrum menekankan lokasi fisik yang
sama atau sarana online yang akrab antara semua member, dan juga pertemuan muka
dengan muka setiap hari antara semua anggota team. Prinsip kunci dari scrum
adalah memahami bahwa dalam project yang tengah berlangsung, klien mungkin
mengubah apa yang menjadi kebutuhan dan keinginannya. Perubahan sulit
diadaptasi oleh framework pengembangan aplikasi yang bersifat tradisional. Scrum menerima perubahan ini dan
memaksimalkan seluruh anggota team untuk menyesuaikan perubahan mendadak ini. Scrum
mengadopsi permainan Rugby yang begitu mudah menyesuaikan diri semua anggota
team setelah ada sedikit pelanggaran. Kemudian menyesuaikan diri inilah yang
mengimpirasi scrum. Anggota team yang bekerja menggunakan metodologi Scrum
terbagi menjadi beberapa roles atau peranan, yang terbagi sebagai berikut :
I.
Development Team
Development team atau tim
pengembang adalah team yang mendesain dan melakukan proses problem-solvers.
Biasanya team tersebut terdiri dari 3-9 orang.
3-9 orang adalah team yang paling
optimal dalam menggunakan metode scrum berdasarkan beberapa penelitian yang
ada. Pembagian tugas dan distribusi informasi ditentukan diantara anggota tim
itu sendiri. Setiap anggota tim bertanggungjawab atas keberhasilan keluaran
sprint yang dilakukan.
II.
Product Owner
Product Owner atau pemilik
proyek harus memastikan bawha tim pengembang bekerja sesuai dengan target yang
telah ditetapkan dilihat dari kacamata bisnis. Pemilik proyek melakukan
manajemen terhadap Product Backlog, yang dibreakdown menjadi to-do-list,
sehingga semua keinginan dan kebutuhan sistem dapat terekam dengan baik
berdasarkan keuntungan yang diterima dengan mempertimbangkan sisi bisnisnya.
Pemilik proyek fokus pada
bagaimana produk dihasilkan nantinya. Selain itu pemilik proyek juga harus
selalu melihat berapa banyak dana yang dikeluarkan dalam mengembangkan produk
dan seberapa besar pendapatan yang dihasilkan oleh produk tersebut.
III.
Scrum Master
Scrum master atau tenaga
ahli Scrum adalah kombinasi dari pelatih, fixer dan penjaga gawang. Hal
yang paling penting dari Scrum Master adalah, Scrum Master harus
dapat mengarahkan dan melatih Tim Pengembang dan Pemilik Proyek untuk
memastikan bahwa mereka selalu berada dalam kondisi terbaiknya dalam meraih
kesuksesan.
Scrum Master memimpin
rapat setiap harinya - Daily Scrum. Scrum master harus memastikan bahwa
tim pengembang tidak teralihkan fokusnya pada hal-hal diluar proyek/pekerjaan.
IV.
Scrum Team
Scrum Team atau Tim Scrum
adalah gabungan dari Tim Pengembang, Pemilik Proyek dan Tenaga Ahli Scrum.
3.
Istilah-istilah dalam Scrum
I.
Product Backlog
Pemilik Proyek menyusun dan
mengumpulkan semua permintaan dan kebutuhan sistem, misalnya fitur-fitur yang
dibutuhkan dan-atau kebutuhan non-fungsional sistem. Setelah tujuannya sudah
ditetapkan, semua permintaan dan kebutuhan tersebut dibagi-bagi menjadi
bagian-bagian kecil yang mana setiap bagian kecil tersebut harus mempunyai
nilai dan layak untuk dikembangkan.
Pemilik Proyek juga menentukan
skala prioritas dalam pengerjaan bagian-bagian kecil tersebut. Bagaimana dan
seperti apa bagian-bagian kecil tersebut diimplementasikan dan di-deliver?
Pertanyaan tersebut akan menghasilkan sebuah to-do-list berdasarkan kebutuhan pasar dan kebutuhan pelanggan yang selalu berubah seiring dengan berjalannya waktu.
Pertanyaan tersebut akan menghasilkan sebuah to-do-list berdasarkan kebutuhan pasar dan kebutuhan pelanggan yang selalu berubah seiring dengan berjalannya waktu.
II.
Backlog Refinement
Backlog harus di-maintain dengan
baik dan tepat oleh Tim Scrum untuk dilakukan perencanaan, sehingga Sprint
dapat berjalan dengan lancar. Hal-hal yang harus dilakukan dalam me-maintain
backlog antara lain adalah melakukan proses estimasi dan breakdown kebutuhan,
Hal tersebut dilakukan agar kondisi Sprint (1-4 minggu) terpenuhi.
Oleh karena itu, sangat membantu
apabila tim mengalokasikan waktu khusus setiap minggu untuk melakukan
Penghalusan Backlog (Backlog Refinement), dan disaat yang sama juga melakukan
perencanaan.
III.
Sprint
Sprint adalah kotak-waktu yang
berisi periode kerja dimana pada sprint fokus terhadap delivery
produk berdasarkan item-item yang dipilih dari Product Backlog. Didalam Sprint selalu ditetapkan waktu
pekerjaan secara konsisten dan Sprint yang baru dimulai sesegera mungkin
setelah sprint yang ada telah selesai dikerjakan.
IV.
Daily Scrum
Setiap hari, Tim Scruam harus
melakukan pertemuan (rapat) selama maksimal 15 menit. Hal ini dilakukan dengan
tujuan untuk mensinkronkan progres, mengidentifikasi masalah dan menyelesaikan
masalah yang ada dalam mengerjakan pekerjaannya.
Pertanyaan yang biasa ditanyakan adalah :
- Apa yang anda lakukan sejak pertemuan terakhir ?
- Apa rencana yang anda lakukan sampai pertemuan berikutnya ?
- Apa ada suatu masalah yang membuat anda tidak dapat mengerjakan pekerjaan yang telah direncanakan sebelumnya ?
Pertanyaan 1 dan 2 digunakan
untuk melihat sejauh mana progress yang telah dibuat dan untuk menentukan siapa
yang mengerjakan apa setiap harinya. Pertanyaan ketiga digunakan untuk mencari
solusi dari permasalahan yang muncul. Mulai dari pertanyaan yang bersifat
teknis hingga non-teknis yang dinilai dapat mengacaukan pekerjaan.
V.
Sprint Review
Setiap Sprint selalu berakhir
dengan mendemontrasikan dan mempresentasikan fitur-fitur yang telah dikerjakan.
Hal tersebut dilakukan untuk memastikan bahwa fitur-fitur tersebut dapat
bekerja dengan baik.
Sebaiknya Sprint review
dilakukan dalam team yang kecil, sebelum produk tersebut didemontrasikan dan
dipresentasikan pada team yang besar (Pemilik Produk, pelanggan dan manajemen
perusahaan).
VI.
Sprint Retrspective
Didalam Sprint Retrspective,
Tim Scrum merefleksikan bagaimana pekerjaan-pekerjaan berjalan pada Sprint
sebelumnya? Harapan yang ingin dicapai pada Sprint Retrspective adalah
adanya perbaikan tindakan sehingga Sprint berikutnya dapat dikerjakan dengan
lebih baik lagi. Perbaikan-perbaikan tersebut harus di-implementasi-kan pada
Sprint berikutnya.
4. PRINSIP METODOLOGI SCRUM
- · Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lain
- · Proses dapat beradaptasi terhadap perubahan teknis dan bisnis
- · Proses menghasilkan beberapa software increment
- · Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
- · Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
- · Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
5. KELEBIHAN DAN KEKURANAN METODOLOGI SCRUM
I.
Kelebihan Metodologi Scrum antara lain:
- · Keperluan berubah dengan cepat
- · Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama lain
- · Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
- · Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
- · Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
- · Scrum membantu perusahaan dalam menghemat waktu dan uang.
- · Metode scrum membolehkan perusahaan dimana persyaratan bisnis sulit untuk diukur menjadi mudah dikembangkan.
- · Pergerakan pengembangan cutting edge dapat dengan cepat dikodekan dan diuji menggunakan metode ini. Bagaikan kesalahan yang mudah untuk diperbaiki.
- · Scrum merupakan sebuah metode yang mudah dikontrol yang mana peningkatan pekerjaan dapat terjadi setiap periode waktu yang ditentukan
- · Scrum merupakan metode iteratif yang membutuhkan feedback secara kontinu dari user.
- · Karena short sprint dan constant feedback, scrum dapat dengan mudah mengatasi setiap perubahan
- · Daily scrum meeting memungkinan untuk mengukur produktfitas individu. Ini mengarah pada peningkatan produktifitas dari setiap anggota tim.
- · Setiap isu diidentifikasi dengan baik pada setiap pertemuan harian dan oleh karena itu dapat diselesaikan dengan cepat.
- · Mudah untuk mengirim produk berkualitas sesuai waktunya.
- · Scrum dapat bekerja dengan berbagai teknologi dan bahasa pemrograman namun secara khusus berguna untuk peningkatan web 2.0 maupun media proyek baru.
- · Biaya overhead dari proses dan manajemen sangat minim sehingga mengarah ke hasil lebih cepat dan lebih murah.
II.
Kekurangan Metodologi Scrum antara lain :
- · Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
- · Lemah dalam perencanaan arsitektur
- · Scrum adalah salah satu penyebab utama scope creep karena kecuali ada tanggal akhir tertentu, stakeholder proyek manajemen akan tergoda untuk terus menuntut fungsi baru disampaikan.
- · Jika tugas tidak didefinisikan dengan baik, perkirakan biaya proyek dan waktu tidak akan akurat. Dalam kasus seperti itu, tugas dapat tersebar di beberapa sprint.
- · Jika anggota tim tidak berkomitmen, maka proyek tidak akan selesai atau bahkan gagal
- · Proyek yang kecil dapat bergerak dengan sangat baik karena hanya diselesaikan oleh tim yang kecil
- · Metode ini hanya membutuhkan anggota tim yang berpengalaman, jika tim berisi orang - orang yang masih pemula maka proyek tidak dapat selesai sesuai waktunya
- · Scrum dapat bekerja dengan baik jika scrum master mempercayai tim yang mereka kelola, jika scrum master terlalu mengontrol secara ketat setiap anggota tim ini dapat menyebabkan tim menjadi stress yang mengakibatkan demoralisasi dan kegagalan dari proyek tersebut.
- · Jika setiap anggota tim meninggalkan tim selama pengembangan proyek dapat menyebabkan efek yang kurang baik bagi perkembangan proyek tersebut
- · Project quality management sangat sulit untuk diimplementasikan dan diukur kecuali team dapat melakukan pengujian regresi setelah beberapa sprint.
Sumber & Referensi :