Disusun Oleh:
1. Nurhaini Rahmawati (F1D 016 066)
2. Salma Nabilla Ulpa (F1D 016 080)
SCRUM
Abstrak/Filosofi
Metode Scrum
merupakan suatu pendekatan iteratif pada pengembangan perangkat lunak yang mengusung prinsip agile (ketangkasan). Metode Scrum membuat beberapa
blok waktu yang dinamakan sprint. Pada sebuah produk yang menggunakan Scrum, kualitas bukan menjadi salah satu
variabel yang sangat menentukan. Fungsionalitas pada Scrum menekankan pada selesainya sebuah fungsi atau fitur yang di
dalamnya sudah terdapat kualitas, testing, dokumentasi, review dan sebagainya. Kelebihan dari metode Scrum ini yaitu salah satunya pekerjaan dilakukan terbagi-bagi
sehingga dapat diselesaikan dengan cepat. Proses Scrum mampu menyatakan
bahwa produk selesai kapanpun diperlukan.
Sejarah
Scrum bermula ketika anak buah Jeff Sutherland yang bekerja
di Easel Corporation membaca tulisan dari Professor Takeuchi Tanaka yang dimuat
di Harvard Business Review mengenai
manajemen produk pada tahun 1993. Tulisan tersebut memuat
bagaimana Professor Takeuchi Tanaka kagum dengan tim olahraga Rugby
yang bekerja bersama menyingkirkan semua hambatan yang ada di
depannya. Professor Takeuchi Tanaka lalu membawa konsep ini ke manajemen produk
dan menamakan metode kerja ini Scrum.
Pada tahun 1994, Jeff mengajak Ken Schwaber untuk bekerja di Easel
Corporation untuk mendokumentasikan dan memformalisasikan proses ini. Hasil
buah pikir antara Jeff dan Ken dipresentasikan di konferensi OOPSLA pada
tahun 1996. Sejak itu, Scrum telah
berangkat menjadi pilihan utama lainnya dari pendekatan pengembangan produk
klasik lainnya. Scrum telah diadopsi
oleh banyak manajer yang ingin memastikan bahwasanya mereka menghasilkan produk
yang terbaik mungkin dan oleh developer
yang ingin memastikan bahwasanya mereka bisa melakukan pekerjaan mereka dengan
sebaik mungkin.
Definisi SCRUM
Scrum adalah kerangka kerja proses yang telah digunakan
untuk mengelola pengembangan produk kompleks semenjak awal tahun 1990-an. Scrum juga sebagai sebuah metodologi agile untuk mengelola produk melalui
metode incremental dan iterative [2]. Scrum bukanlah sebuah proses ataupun teknik untuk mengembangkan produk;
daripada itu, ini adalah sebuah kerangka kerja di mana di dalamnya dapat
memasukkan beragam proses dan teknik. Scrum
akan mengekspos pergerakan efektifitas manajemen produk dan praktik
pengembangan yang sedang dijalani, dengan begitu dapat melakukan peningkatan [3].
Scrum Framework
terdiri atas tim Scrum beserta
peran-perannya, pertemuan-pertemuan, artefak-artefak, dan sekumpulan aturan
main. Setiap komponen pada kerangka kerja Scrum
memiliki tujuan tertentu dan sangat penting bagi keberhasilan dan penggunaan Scrum.
Prinsip-prinsip SCRUM
Scrum memiliki prinsip yaitu:
1. Ukuran tim yang
kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama
lain.
2. Proses dapat
beradaptasi terhadap perubahan teknis dan bisnis.
3. Proses
menghasilkan beberapa software increment.
4. Pembangunan dan
orang yang membangun dibagi dalam tim yang kecil.
5. Dokumentasi dan
pengujian terus menerus dilakukan setelah software
dibangun.
6. Proses Scrum
mampu menyatakan bahwa produk selesai kapanpun diperlukan.
Role-role dalam SCRUM
Roles dalam Scrum
adalah peran-peran yang dimainkan dalam proses pengembangan perangkat lunak [5].
Tiga peran utama pada Scrum
yaitu:
Product Owner
Merupakan pihak yang bertanggung jawab terhadap suksesnya pengembangan produk, biasanya adalah representasi dari konsumen. Product Owner adalah bagian dari tim Scrum dan bisa bekerja sama dengan anggota tim lainnya dan memastikan bahwa pekerjaan yang dibutuhkan, berhasil selesai sesuai keinginan [6].
Product Owner
diharapkan memiliki kriteria di bawah ini [6]:
Memiliki visi dan misi- Bisa memimpin tim
- Komunikator dan Negosiator
- Memiliki wewenang and berkomitmen
- Selalu ada dan memiliki kualifikasi
Scrum Master
Merupakan fasilitator
untuk melayani tim, tidak bertindak sebagai manajer produk. Scrum Master bekerja dengan memastikan
bahwa tim dapat melewati segala hambatan yang ditemukan dan sudah meminta
bantuan sebelumnya [8].
Scrum
Master bukan berarti orang menguasai Scrum,
tapi merupakan sebuah peran tertentu dalam kerangka kerja ini, karena Scrum Master juga memiliki peran yang
berhubungan dengan Product Owner [4].
Tanggung jawab
dari Scrum Master adalah sebagai
berikut [1]:
Menjaga anggota tim dari gangguan eksternal- Bertindak sebagai agen perubahan dan selalu beradaptasi untuk memaksimalkan produktivitas tim
- Memberi pelatihan kepada tim
- Meminimalisir hambatan pada tim
- Memastikan komunikasi yang efisien dan efektif antara tim dan product owner
- Memberikan fasilitas untuk setiap kegiatan yang berhubungan dengan Scrum
Scrum Team
Scrum
team merupakan sekelompok individu
yang bekerja sama untuk menghantarkan ataupun menaikkan nilai dari produk yang
diminta oleh pelanggan [1].
Prasyarat dari tim
Scrum adalah sebagai berikut [7]:
Berfungsi Antarlintas- Semua anggota berpartisipasi
- Mampu berkomunikasi dengan baik
- Meaningful Conversation
- Memiliki tujuan yang sama
Artefak Pada SCRUM
Scrum
juga mengidentifikasikan empat objek artefak yang dioperasikan oleh tim Scrum selama siklus pengembangan, yaitu:
1.
Product Backlog
Merupakan sebuah daftar
item yang diperlukan pada produk dan merupakan sumber dari persyaratan yang
dibutuhkan untuk membuat sebuah produk[3]. Produk backlog harus dilakukan dan sudah disusun berdasarkan prioritas
tertentu. Item tersebut bisa berupa hasil dari eksplorasi kebutuhan pelanggan,
deskripsi secara functional dan non-functional
dan hal-hal yang diperlukan untuk merilis sebuah produk jadi [6].
2.
Sprint Backlog
Sprint Backlog
adalah sekumpulan item Product Backlog yang telah dipilih untuk
dikerjakan di Sprint, juga di
dalamnya rencana untuk mengembangkan potongan tambahan produk dan
merealisasikan Sprint Goal. Sprint Backlog adalah
perkiraan mengenai fungsionalitas apa yang akan tersedia di iterasi selanjutnya
dan pekerjaan yang perlu dikerjakan untuk menghantarkan fungsionalitas tersebut
menjadi potongan produk yang dianggap selesai [3].
3.
Scrum
Burndown Charts
The Scrum Burndown Chart
adalah alat pengukuran visual yang menunjukkan pekerjaan selesai per hari
terhadap tingkat produksi penyelesaian pembebasan produk ini. Tujuannya adalah
untuk memungkinkan bahwa produk ini tetap pada jalurnya untuk memberikan solusi
yang diharapkan dalam jadwal yang ditentukan [1].
Penggunaan SCRUM
Scrum
dikembangkan untuk mengelola dan mengembangkan produk. Scrum mulai digunakan sejak dan telah digunakan secara meluas di
seluruh dunia, untuk:
1.
Meneliti dan
menggali potensi pasar, teknologi, dan kemampuan produk.
2.
Mengembangkan produk dan peningkatan-peningkatannya.
3.
Merilis produk dan
peningkatan-peningkatannya, sesering mungkin di setiap hari.
4.
Mengembangkan dan
memelihara operasional sistem komputasi awan (daring, keamanan, sesuai
permintaan) dan lingkungan operasional lain untuk penggunaan produk.
5. Mengelola dan memperbarui sebuah produk.Proses/tahapan SCRUM
1.
Sprint Planning
Sprint Planning
adalah sebuah aktivitas untuk membuat rencana pada Product Backlog Item (PBI) yang akan dan siap dikembangkan oleh tim
pengembang pada satu Sprint [7]
Ada beberapa hal
yang perlu dipersiapkan sebelum melakukan Sprint
Planning, yaitu:
Menentukan tujuan Sprint- Mempersiapkan pekerjaan sesuai dengan waktunya
- Memperkecil item dari product backlog sehingga cukup untuk dikerjakan pada satu sprint.
- Memastikan Kejelasan, kemampuan untuk dites, dan Kelayakan.
2.
Daily
Scrum
Daily
Scrum meeting atau biasa juga disebut daily
Stand up meeting adalah kegiatan/pertemuan dengan batasan waktu maksimum
selama 15 menit agar Tim Pengembang dapat mensinkronisasikan pekerjaan mereka
dan membuat perencanaan untuk 24 jam ke depan [3]. Dilakukan di waktu dan tempat
yang sama untuk menjaga konsistensi. Idealnya Scrum Team membentuk
sebuah lingkaran, dan duduk saling berhadapan dengan anggota tim yang lain.
Setiap tim diharuskan menjawab pertanyaan-pertanyaan di bawah ini :
- Apa yang sudah dikerjakan/dicapai semenjak Daily Scrum terakhir?
- Kendala apa yang ditemukan untuk mencapai target?
- Apa saja yang akan dikerjakan/dicapai sebelum Daily Scrum berikutnya?
3.
Sprint Review
Sprint Review
adalah sebuah aktivitas atau acara yang dilaksanakan pada akhir sprint yang tujuannya untuk meninjau
hasil pekerjaan tim pengembang pada sprint yang terakhir dikerjakan [7]. Sprint Review ini sangat direkomendasikan
untuk dilakukan secara informal, sehingga diharapkan tidak membebani tim secara
psikologis. Sprint Review biasanya
dihadiri oleh Product Owner, Scrum
Master, Customer, Management, dan Scrum
Team sendiri. Dalam rapat ini akan
dibandingkan hasil Sprint dengan Sprint Goal yang telah disepakati saat Sprint Planning Meeting berdasarkan backlog yang terikat dengan Sprint yang bersangkutan.
4.
Sprint Retrospective
Sprint Retrospective adalah sebuah kesempatan untuk tim Scrum
meninjau dirinya sendiri dan melakukan peningkatan yang akan diimplementasikan
pada sprint selanjutnya [7]. Sprint Review digunakan untuk
melihat perkembangan system yang dibangun, sedangkan Spring restrospective digunakan untuk melihat perkembangan tim yang
membangun sistem. Sprint Restrospective
merupakan satu tool yang sangat penting untuk membuat tim semakin berkembang
seiring pengembangan sistem.
Karakteristik Aplikasi Yang Dikembangkan Dengan Scrum
1.
Aplikasi/produk
yang kompleks dan besar, sesuai sifatnya Scrum adalah sebuah
proses kerangka kerja yang disusun untuk menunjang pengembangan produk yang
kompleks
2. Aplikasi/produk
yang fleksibel (sewaktu-waktu memerlukan perubahan), sesuai dengan karakteristik dari metode SCRUM yaitu berulang dan fleksibel
karena SCRUM team harus selalu siap
dengan adanya perubahan
3. Aplikasi/produk
yang membutuhkan waktu pengerjaan singkat (harus selesai secepat mungkin),
sesuai dengan sifatnya Proses Scrum
mampu menyatakan bahwa produk selesai kapanpun diperlukan karena control jadwal pengerjaan dan kemampuan
perkiraan yang baik.
4. Aplikasi/produk
yang memiliki budget/modal besar, karena Scrum
dapat mengerjakan produk kompleks dan dengan waktu yang singkat sesuai
keinginan owner dan kesepakatan di awal.
5.
Produk yang
pengerjaannya membutuhkan campur tangan user
/ produc owner.
6. Aplikasi/produk yang tidak membutuhkan dokumentasi lengkap, karena metode
Scrum tidak
berfokus pada dokumentasi
melainkan kualitas pengerjaan produk
Perbandingan Metode
Modern (Scrum) Dengan Metode Tradisional (Waterfall):
Kelebihan
1. Scrum
memberikan kepuasan pelanggan dengan mengoptimalkan waktu penyelesaian dan responsif
terhadap permintaan.
2. Meningkatkan
kualitas
3. Menerima dan dapat
memperkirakan perubahan
4. Memberikan
perkiraan yang lebih baik sambil menghabiskan lebih sedikit waktu untuk membuatnya
5. Memberikan control
lebih pada jadwal produk
6. Scrum
sangat ideal untuk kebutuhan akumulasi yang berubah dengan cepat
7. Manfaat bagi
pelanggan dan manajer produk
8. Scrum
cepat, tepat dan dapat beradaptasi dengan mudah
9. Tim berukuran kecil sehingga melancarkan komunikasi,
mengurangi biaya dan memberdayakan satu sama lain
10. Dokumentasi dan
pengujian terus menerus dilakukan setelah software dibangun
11. Proses Scrum mampu menyatakan bahwa produk
selesai kapanpun diperlukan
12. Perkiraan kerja jauh
lebih mudah, dst.
Kekurangan
1.
Kurang dalam hal
dokumentasi
2.
Dedikasi anggota
tim sangat penting
3. Kerja tim sangat
penting, jika anggota tim tidak bekerja sama dengan baik, produk akan
menghadapi kegagalan
4.
Developer harus selalu siap dengan perubahan karena perubahan
akan selalu diterima.
Kesimpulan
Scrum
adalah serangkaian proses kerangka kerja pengembangan system Agile yang
kompleks yang tidak dilakukan secara linear yang mengedepankan kerja sama tim
untuk hasil yang maksimal dengan minim dokumentasi. Scrum bukanlah kerangka kerja yang mengharuskan anggotanya untuk
mengikuti aturan dari buku secara keseluruhan, tapi juga diharapkan mampu
berpikir out of the box. Oleh karena itu, para anggota tim Scrum, dianjutkan untuk selalu belajar dan mengembangkan diri.
REFERENSI
[1] Evans, Jenny, Scrum Revealed, International Scrum InstituteTM.
[2] K. Schwaber dan M. Beedle,
Agile Software Development with Scrum,
Series in Agile Software Development, Prentice Hall, 2002.
[3] Ken Schwaber dan Jeff
Sutherland. 2017. “Panduan SCRUM” (Terjemahan Bahasa
Indonesia).
[4] Kim, Don, The State of Scrum: Benchmarks and Guidelines, ScrumAlliance, 2013.
[5] Nuraminah, A. (2016). Analisis
Tingkat Kematangan Manajemen Produk Pengembangan Perangkat Lunak Menggunakan Scrum Maturity Model : Studi Kasus PT .
XYZ. STIMIK ESQ.
[6] Pichler, Roman, Agile
product management with Scrum :
creating products that customers love, New York: Addison-Wesley, 2010.
[7] Partogi, Joshua,
Manajemen Modern dengan Scrum,
Yogyakarta: Penerbit Andi, 2015.
[8] Stellman, Andrew & Greene, Jennifer, Learning Agile: Understanding Scrum, Xp, Lean, And Kanban,California:
O’Reilly Media, 2015.
No comments:
Post a Comment