Anda di halaman 1dari 21

MAKALAH

METODOLOGI XP & SCRUM


ANALISA DAN PERANCANGAN SISTEM
Dosen : Fadly Ariadi S.Kom., M.Kom.

Disusun oleh:
Nama : Reza Ardian Sitorus
Nim : 211011401391
Kelas : 05TPLE006

TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS PAMULANG

Jl. Surya Kencana No. 1 Pamulang Telp (021)7412566, Fax.


(021)7412566 Tangerang Selatan – Banten

1
KATA PENGANTAR

Puji syukur kami ucapkan kehadirat Allah SWT atas segala rahmat-Nya
sehingga makalah ini dapat tersusun sampai dengan selesai. Tidak lupa kami
mengucapkan terima kasih terhadap bantuan dari pihak yang telah berkontribusi dengan
memberikan sumbangan baik pikiran maupun materinya.
Penulis sangat berharap semoga makalah ini dapat menambah pengetahuan dan
pengalaman bagi pembaca. Bahkan kami berharap lebih jauh lagi agar makalah ini bisa
pembaca praktekkan dalam kehidupan sehari-hari.
Bagi kami sebagai penyusun merasa bahwa masih banyak kekurangan dalam
penyusunan makalah ini karena keterbatasan pengetahuan dan pengalaman Kami. Untuk
itu kami sangat mengharapkan kritik dan saran yang membangun dari pembaca demi
kesempurnaan makalah ini.

Pamulang, 25 Oktober 2023

Penulis

2
DAFTAR ISI

MAKALAH METODOLOGI XP & SCRUM.....................................................i


KATA PENGANTAR............................................................................................ii
DAFTAR ISI.........................................................................................................iii
DAFTAR GAMBAR..............................................................................................1
BAB I PENDAHULUAN......................................................................................2
1.1 Latar Belakang Masalah.......................................................................2
1.2 Tujuan Penulisan...................................................................................2
BAB II PEMBAHASAN........................................................................................3
2.1 Pemrograman Ekstrim/Extreme Programming (XP)........................3
2.1.1 Nilai-nilai dasar Extreme Programming.........................................3
2.1.2 Aspek Dasar Extreme Programming...............................................5
2.1.3 Penerapan Extreme Programming...................................................7
2.1.4 Kerangka Kerja Extreme Programming.........................................8
2.1.5 Keuntungan dan Kerugian Extreme Programming.....................10
2.2 Scrum....................................................................................................11
2.2.1 Tahapan atau Aktivitas Pengembangan Metode Scrum..............11
2.2.2 Pilar dalam Metode Pengembangan Scrum..................................14
2.2.3 Jenis Role dalam Metode Pengembangan Scrum.........................15
2.2.4 Kelebihan dan Kekurangan Metode Pengembangan Scrum.......15
BAB III PENUTUP.............................................................................................17
3.1 Kesimpulan...........................................................................................17
3.2 Saran.....................................................................................................17

3
DAFTAR GAMBAR

Gambar 2. 1 Nilai Dasar Extreme Programming.....................................................3


Gambar 2. 2 Aspek Dasar Extreme Programming...................................................5
Gambar 2. 3 Extreme Programming Life Cycle......................................................8
Gambar 2. 4 Kerangka Kerja Extreme Programming..............................................8
Gambar 2. 5 Tahapan/Aktivitas Sprint dalam model Scrum.................................14

4
BAB I
PENDAHULUAN

1.1 Latar Belakang Masalah


Perkembangan sistem informasi saat ini telah mengalami pertumbuhan yang
sangat pesat. Hal ini mengakibatkan timbulnya persaingan yang semakin ketat pada
sektor bisnis dan antar organisasi. Oleh karena itu, banyak organisasi yang memulai
memanfaatkan sistem informasi dan teknologinya dengan hanya memperhatikan
kebutuhan sesaat dan penerapan sistem informasi yang belum terintegrasi dengan baik.
Dengan adanya perencanaan strategis sistem informasi yang matang dan tepat, maka
akan menghasilkan sebuah aliran informasi yang baik, tepat, dan sesuai dengan
kebutuhan perusahaan. Sehingga akan mendukung setiap fungsi bisnis yang ada
didalam organisasi perusahaan untuk melaksanakan kegiatannya dan menempatkan
perusahaan dalam posisi yang unggul didalam persaingan bisnis yang ada.
Pada pengembangan/perkembangan perangkat lunak saat ini terdapat berbagai
metode yang digunakan baik dilakukan secara individu maupun team work. Terdapat
hubungan erat antara kualitas, biaya, dan waktu dalam pengembangan perangkat lunak.
Secara garis besar terdapat enam langkah yang digunakan dalam metodologi
pengembangan perangkat lunak diantaranya perencanaan, implementasi, testing,
dokumentasi, deployment, dan maintenance. Ada tiga kelas yang berbeda dari
metodologi pengembangan sistem diantaranya structured design (desain terstruktur),
rapid application development (pengembangan aplikasi cepat), dan pengembangan
agile.
Penembangan agile adalah kumpulan metodologi pengembangan perangkat lunak
yang didasarkan pada prinsip-prinsip yang sama atau pengembangan sistem jangka
pendek dimana memerlukan adaptasi yang cepat dari pengembang terhadap perubahan
dalam bentuk apapun, dalam penggunaannya pengembangan agile memerlukan inovasi
dan tanggung jawab yang baik antara tim pengembang dan klien agar kualitas dari
perangkat lunak yang dihasilkan bagus dan seimbang. Adapun dua dari contoh
metodologi pengembangan agile yang lebih populer diantarnya yaitu Pemrograman
Ekstrim/Extreme Programming (XP) dan Scrum.

1.2 Tujuan Penulisan


Tujuan dari makalah ini adalah untuk memberikan penjelasan mengenai dua
contoh metodolgi pengembangan agile yaitu Pemrograman Ekstrim/Extreme
Programming (XP) dan Scrum.

5
BAB II
PEMBAHASAN

2.1 Pemrograman Ekstrim/Extreme Programming (XP)


Pemrograman Ekstrim/Extreme Programming (XP) adalah metode pengembangan
perangkat lunak yang sederhana dan mencakup salah satu metode tangkas yang
dipelopori oleh Kent Beck, Ron Jeffries, dan Ward Cunningham pada tahun 1999
dengan menggunakan pendekatan OOP (Object Oriented Programming), terdiri dari
aktifitas perencanaan, aktifitas desain, aktifitas pengkodean dan aktifitas pengujian.
Model ini melakukan pendekatan secara sistematis dan urut mulai dari level
perencanaan, desain, coding dan testing. Pada level perencanaan menentukan kebutuhan
sistem dengan mengumpulkan data dan menganalisa data penggajian, pada level desain
melakukan perancangan sistem dengan menggambarkan alur data dan alur sistem
menggunakan data flow diagram (DFD), merancang tabel, entity relasi diagram (ERD)
dan merancang interface sistem dan pada level testing, desain yang telah dirancang
diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu kedalam
bahasa pemrograman melalui proses coding, bahasa pemrograman yang digunakan
adalah PHP (Hypertext Preprocessor) dengan database MySQL.
2.1.1 Nilai-nilai dasar Extreme Programming
Pada setiap metodologi pengembangan sistem tentunya ada beberapa hal
dasar yang harus diperhatikan sebelum lanjut kedalam kerangka kerja agar tidak
terjadi kesalahan pemilihan metodologi. Pada setiap tahapan proses
pengembangan sistem yang menggunakan model proses Extreme Programming
juga memiliki nilai-nilai mendasar yang harus diperhatikan, yaitu:

Gambar 2. 1 Nilai Dasar Extreme Programming


1) Communication
Extreme Programming berfokus bagaimana cara agar hubungan
komunikasi antar anggota tim terjalin dengan baik. Setiap anggota
tim harus bisa saling pengertian dan berbagi pengetahuan serta
keterampilan mengenai pengembangan perangkat lunak. Terutama
dalam hal ego yang tinggi para programmer, disini mereka harus

6
bisa menekankan ego masing-masing dan bersosialisasi agar dapat
bekerja sama dengan programmer lain, karena ini merupakan tugas
utama tim developer .
2) Courage
Demi tercapainya proyek pengembangan yang sukses, setiap
masing-masing anggota tim harus selalu memiliki keberanian,
keyakinan serta integritas dalam melakukan tugasnya. Anggota tim
harus konsisten dalam menjaga segala jenis kondisi termasuk saat
adanya tekanan dari klien atau pemilik perusahaan. Anggota tim
juga dituntut untuk berani mengerjakan tugas dan setiap
menemukan kesalahan harus segera diperbaiki.
3) Simplicity
Dengan menggunakan Extreme Programming, artinya tim
developer harus tetap melakukan semuanya dengan sederhana,
karena salah satu nilai dasar dari Extreme Programming adalah
mencoba untuk selalu mencari solusi yang paling sederhana dan
paling praktis. Gunakanlah method yang mudah, pendek atau tidak
terlalu rumit dalam pembuatan desain serta hilangkanlah fitur-fitur
yang tidak berguna. Inilah yang membedakan Extreme
Programming dengan metodologi pengembangan sistem
konvensional lainnya. Extreme Programming berfokus pada
kebutuhan saat ini dibandingkan kebutuhan besok.
4) Feedback
Hal ini merupakan salah satu hal penting yang bertujuan untuk
mengetahui kemajuan dari proses maupun kualitas perangkat lunak
yang dibangun. Dan sudah menjadi kewajiban anggota tim maupun
pihak lainnya untuk terlibat dalam memberikan feedback yang
baik. Anggota tim harus selalu mendengarkan pendapat anggota
tim lainnya tanpa adanya cemohan terhadap pendapatnya tersebut.
Dengan hal tersebutlah terkadang akan menyadari kita di bagian
mana yang dapatditingkatkan lagi.

7
2.1.2 Aspek Dasar Extreme Programming

Gambar 2. 2 Aspek Dasar Extreme Programming


Terdapat 12 aspek dasar Extreme Programming, yaitu :
1) The Planning Game
Pendekatan Extreme Programming pada tahap ini sangat mirip
dengan metode penerapan RAD (Rapid Application Development)
yang prosesnya pendek dan cepat serta mengutamakan aspek teknik.
Proses ini juga menggunakan istilah game karena menurut Beck,
untuk menentukan requirements dibutuhkan penggunaan teknik score
card.
2) Small Releases
Semua developer akan menyelesaikan setiap bagian dari
perangkat lunak dan kemudian hasilnya akan dipresentasikan kepada
perusahaan (klien). Apabila bagian sistem tersebut disetujui oleh
perusahaan maka bagian tersebut akan diterapkan ke seluruh sistem
yang ada di perusahaan dan kemudian akan dilakukan tes awal pada
penerapan sistem tersebut.
3) Metaphor
Metaphor pada dasarnya sama dengan arsitektur software yaitu
sama-sama menggambarkan visi tujuan dari pengembangan sistem
secara luas. Selain itu, metaphor bertujuan untuk menjaga
komunikasi antara klien dengan developer tetap baik.
4) Simple Design
Pada proses ini, Extreme Programming didesain sesederhana
mungkin untuk menghindari pengembangan sistem yang sulit
dimengerti. Dengan desain yang sederhana ini akan memberikan
keuntungan apabila terjadi perubahan pada desain yang

8
mengharuskan untuk membuat desain baru maka resiko kegagalan
pada desain dapat diperkecil.
5) Refactoring
Refactoring merupakan suatu aspek khusus pada Extreme
Programming. Refactoring adalah proses mengubah kode program
dari perangkat lunak yang bertujuan untuk meningkatkan kualitas
dari struktur program agar developer tidak harus mengulang proses
desain.
6) Testing
Pada proses ini, developer team harus membuat tes yang akan
dipakai untuk menjalankan software dan mengembangkannya. Pada
saat proses coding selesai maka software tersebut akan diuji
menggunakan model tes yang telah dibuat sebelumnya.
7) Pair Programming
Pair programming merupakan aspek di mana 2 orang
programmer bersama-sama dalam satu tempat atau komputer ,mereka
saling berinteraksi dan berdiskusi tentang suatu masalah dan
menyelesaikannya bersama.
8) Collective Ownership
Didalam aspek ini, para programmer dituntut untuk saling
berbagi informasi, sehingga ketergantungant erhadap seorang
programmer terhadap programmer lain dapat diminimalisir.
9) Coding Standart
Coding standart merupakan suatu kesepakatan antara
programmer dalam memahami script/program tersebut, sehingga para
programmer memiliki pemahaman yang sama.
10) Continous Integration
Di dalam aspek ini, para software developer diwajibkan untuk
melakukan build, build ditujukan agar kesalahanpada program dapat
dideteksi dan diperbaiki secepat mungkin. Maksimal waktu yang di
butuhkan untuk melakukan build di dalam Extreme Programming
adalah 1 hari.
11) 40-hours week
Kent Beck berpendapat bahwa, waktu ideal seorang
programmer bekerja adalah 8 jam/hari atau 5 kali dalam seminggu.
12) On-Side Customer
Dalam proses pengembangan software, Extreme
Programming menganjurkan untuk mengikut sertakan seorang
klien. Klien tersebut ikut berpartisipasi dalam proses build dan test

9
yang di lakukan. Klien tersebut di harapkan dapat memberikan
masukan dan koreksi atas pengembangan yang di lakukan.

2.1.3 Penerapan Extreme Programming


Penggunaan sebuah metodologi pengembangan sistem tidaklah
sembarangan. Extreme Programming itu sendiri tepat digunakan jika:
 Keperluan berubah sangat cepat
 Tingginya resiko
 Terdapat proyek dengan tantangan baru
 Memiliki sedikit tim programmer hanya sekitar 2-10 orang
 Mampu mengotomatisasikan tes
 Adanya peran serta pelanggan secara langsung
Jadi, untuk menerapkan Extreme Programming, tim dalam sebuah
organisasi tidak boleh asal sembarangan saja, tetapi mereka harus mengetahui
metodologi yang akan di pakai. Ada beberapa metodologi lain selain Extreme
Programming seperti metodologi waterfall, metodologi agile, metodologi scrum,
metodologi iterative dan metodologi lainnya.
Sebuah tim dalam Extreme Programming harus melakukan
pengembangan sistem secara bersamaan. Analisis, Desain, Coding, Testing,
Implementasi, terjadi sangat cepat ketika tim sedang melakukan pengembangan
perangkat lunak.
Ada beberapa hal penting yang harus diketahui oleh tim Extreme
Programming, tentunya seperti :
 Tim harus secara intensif berhubungan dengan user sehingga apa yang di
inginkan oleh user untuk sistem yang sedang dikembangkan sesuai
dengan apa yang ditentukan oleh user.
 Tim harus berkomunikasi dengan baik antar sesama anggota ataupun
dengan user, agar tujuan pengembangan sistem dapat diselesaikan
dengan cepat.
 Ada baiknya jika manajer tim proyek pernah menangani dalam
pengembangan, pembuatan, pembaharuan suatu sistem, agar manajer
proyek bisa memimpin timnya dengan lancar.
Penerapan Extreme Programming bisa dilakukan di banyak perusahaan
atau organisasi. Sebuah organisasi seperti software house atau pengembangan
sebuah software dapat menerapkan extreme programming karena extreme
programming mengedepankan extreme programming life cycle.

10
Gambar 2. 3 Extreme Programming Life Cycle

Extreme programming sangat menghemat waktu untuk membangun atau


membuat sebuah sistem. Dalam software house, penerapan extreme
programming dapat dilakukan karena struktur kerja dan struktur organisasi yang
menyerupai extreme programming. Pada organisasi software house terdapat
analis, desainer, programmer, dan tester. Oleh karena itu extreme programing
sangat tepat diterapkan di software house.

2.1.4 Kerangka Kerja Extreme Programming


Menurut Pressman dalam bukunya yang berjudul Software Engineering,
edisi keenam, proses Extreme Programming memiliki kerangka kerja yang
terbagi menjadi empat konteks aktivitas utama. Empat konteks tersebut adalah
Planning, Design, Coding dan Testing. Keempat aktivitas inilah yang akan
menghasilkan sebuah perangkat lunak yang didasari dengan konsep model
Extreme Programming. Selain gambar dibawah ini yang memberikan
kesimpulan bagaimana penggunaan Extreme Programming, akan dijelaskan
mengenai empat konteks tersebut secara lebih detail.

Gambar 2. 4 Kerangka Kerja Extreme Programming

11
1) Planning
Pada Planning berfokus untuk mendapatkan gambaran fitur dan
fungsi dari perangkat lunak yang akan dibangun. Aktivitas
planning dimulai dengan membuat kumpulan gambaran atau cerita
yang telah diberikan oleh klien yang akan menjadi gambaran dasar
dari perangkat lunak tersebut. Kumpulan gambaran atau cerita
tersebut akan dikumpulkan dalam sebuah indeks dimana setiap
poin memiliki prioritasnya masing-masing. Tim pengembang
aplikasi juga akan menentukan perkiraaan waktu serta biaya yang
dibutuhkan untuk masing-masing indeks. Setelah semua kebutuhan
terpenuhi, tim XP akan menentukan alur dari pengembangan
aplikasi sebelum memulai pengembangan tugas. Selama proses
pengembangan perangkat lunak, klien dapat mengubah setiap
rencana dari aplikasi yang dibuat. Tim XP akan
mempertimbangkan semua hal yang ingin diubah oleh klien
sebelum mengubah aplikasi tersebut.
2) Design
Aktivitas design dalam pengembangan aplikasi ini, bertujuan untuk
mengatur pola logika dalam sistem. Sebuah desain aplikasi yang
baik adalah desain yang dapat mengurangi ketergantungan antar
setiap proses pada sebuah sistem. Jika salah satu fitur pada sistem
mengalami kerusakan, maka hal tersebut tidak akan mempengaruhi
sistem secara keseluruhan. Tahap Design pada model proses
Extreme Programming merupakan panduan dalam membangun
perangkat lunak yang didasari dari cerita klien sebelumnya yang
telah dikumpulkan pada tahap planning. Dalam XP, proses design
terjadi sebelum dan sesudah aktivitas coding berlangsung. Artinya,
aktivitas design terjadi secara terus-menerus selama proses
pengembangan aplikasi berlangsung.
3) Coding
Setelah menyelesaikan gambaran dasar perangkat lunak dan
menyelesaikan design untuk aplikasi secara keseluruhan, XP lebih
merekomendasikan tim untuk membuat modul unit tes terlebih
dahulu yang bertujuan untuk melakukan uji coba setiap cerita dan
gambaran yang diberikan oleh klien. Setelah berbagai unit tes
selesai dibangun, tim barulah melanjutkan aktivitasnya ke
penulisan coding aplikasi. XP menerapkan konsep Pair
Programming dimana setiap tugas sebuah modul dikembangkan
oleh dua orang programmer. XP beranggapan, 2 orang akan lebih
cepat dan baik dalam menyelesaikan sebuah masalah. Selanjutnya,
modul aplikasi yang sudah selesai dibangun akan digabungkan
dengan aplikasi utama.
4) Testing
Walaupun tahapan uji coba sudah dilakukan pada tahapan coding,
XP juga akan melakukan pengujian sistem yang sudah sempurna.

12
Pada tahap coding, XP akan terus mengecek dan memperbaiki
semua masalah-masalah yang terjadi walaupun hanya masalah
kecil. Setiap modul yang sedang dikembangkan, akan diuji terlebih
dahulu dengan modul unit tes yang telah dibuat sebelumnya.
Setelah semua modul selesai dan dikumpulkan ke dalam sebuah
sistem yang sempurna, maka tim XP akan melakukan pengujian
penerimaan atau acceptance test. Pada tahap ini, aplikasi akan
langsung diuji coba oleh user dank lien agar mendapat tanggapan
langsung mengenai penerapan gambaran dan cerita yang telah
dilakukan sebelumnya.

2.1.5 Keuntungan dan Kerugian Extreme Programming


Extreme Programming merupakan serangkaian proses yang dapat dilihat
dan juga dapat dipertanggung jawabkan. Para developer akan membuat
komitmen tentang tujuan mereka dan memperlihatkan perkembangannya dalam
bentuk deployable software, dan ketika tujuan mereka tercapai, mereka akan
merincikan apa yang mereka lakukan dalam proses tersebut serta perubahannya.
Dan hal ini memungkinkan orang lain untuk membuat bisnis dan mengambil
keuntungan dari peluang yang ada, sehingga bisnis mereka tidak akan mudah
mati.
Sehingga dapat disimpulkan keuntungan dan kelemahan dari Extreme
Programming adalah:
Keuntungan:
 Ada interaksi yang baik antara developer
 Memberikan pembelajaran kepada orang lain (client)
 Pelanggan mendapatkan timbal balik yang akurat
 Dapat mengubah pemikiran pelanggan
 Developer tidak bekerja secara berlebihan
 Dapat membuat keputusan teknikal

Kelemahan:
 Extreme Programing hanya menjalankan 1 proyek dan
dijalankan oleh 1 tim
 Developer harus dan akan menghadapi perubahan yang harus
mereka jalankan.
 Extreme Programming tidak dapat dikerjakan jika developer
saling terpisah

13
 Extreme programming belum terbukti dapat bekerja di dalam
sistem yang mempunyai masalah skalabilitas.

2.2 Scrum
Metode Scrum merupakan metodologi yang termasuk dalam agile software
development. Scrum dinilai dapat menghasilkan kualitas perangkat lunak yang baik
sesuai dengan keinginan pengguna, dapat digunakan dalam proyek besar maupun kecil,
dan mudah untuk mengadopsi perubahan. Scrum didasari oleh teori kontrol proses
empiris atau disebut dengan empirisme. Empiris memenekankan bahwa pengetahuan
berasal dari pengalaman dan pembuatan keputusan didasari oleh pengetahuan yang telah
dimiliki hingga saat ini. Scrum menggunakan pendekatan berkala (iterative) dan
bertahap (incremental) untuk meningkatkan prediktabilitas dan mengendalikan resiko.
Tim Scrum terdiri dari Product Owner, Tim Pengembang, dan Scrum Master. Tim
Scrum mengatur diri mereka sendiri dan berfungsi antar-lintas. Tim yang mengatur
dirinya sendiri dengan menentukan cara terbaik untuk menyelesaikan pekerjaannya,
tanpa diatur oleh pihak lain yang berada di luar anggota tim. Tim yang befungsi antar-
lintas memiliki semua kompetensi yang dibutuhkan untuk menyelesaikan pekerjaan,
tanpa mengandalkan pihak lain yang berada di luar anggota tim. Model tim di dalam
Scrum dirancang sedemikian rupa untuk mengotomatisasi fleksibilitas, kreatifitas, dan
produktifitas. Metode Scrum membagi proses Development menjadi beberapa Sprint.
2.2.1 Tahapan atau Aktivitas Pengembangan Metode Scrum
Aktivitas wajib dalam Scrum dibuat untuk menciptakan sebuah
kesinambungan dan mengurangi adanya aktivitas lain yang tidak tercantum di
dalam Scrum. Setiap tahapan atau aktivitas di dalam Scrum memiliki batasan
waktu, yang artinya selalu memiliki durasi maksimum. Setiap aktivitas yang
terdapat dalam Scrum berkesempatan untuk meninjau dan merubah sesuatu.
Aktivitas dalam Scrum dirancang secara khusus untuk menciptakan transparansi
dan peninjauan sampai ke tingkatan kritis. Scrum memiliki tiga kelompok fase,
berikut merupakan kelompok dari fase Scrum :
1) Pregame
Terdapat 2 aktivitas pada fase ini, yaitu :
a) Perencanaan (Planning)
Perencanaan dibagi berdasarkan jenis pengembangan produk.
Apabila produk yang dikembangkan merupakan sebuah sistem
yang baru, maka pada fase ini dilakukan konseptualisasi dan
analisis. Sedangkan apabila produk yang dikembangkan
merupakan sistem yang telah ada, maka pada fase ini hanya
dilakukan analisis.
b) Arsitektur
Merancang daftar Backlog yang akan diimplementasikan. Pada
fase ini dilakukan modifikasi rancangan sistem dan rancangan
pada level yang lebih tinggi seperti tampilan.

14
2) Game
Pada fase ini terdapat Development Sprints, yaitu pengembangan
dari fungsionalitas yang baru, dengan memperhatikan variabel
waktu, permintaan, kualitas, harga, dan kompetisi. Interaksi dari
variabel tersebut akan mendefinisikan akhir dari fase ini. Terdapat
banyak Sprint yang dilakukan pada fase ini. Berikut aktivitas-
aktivitas yang dilakukan dalam metode Sprint :
a) Product Backlog
Proyek yang menggunakan metode Scrum didasari oleh sebuah
visi dari produk yang dibuat oleh Product Owner, dan
dituliskan ke dalam Product Backlog. Product Backlog
memuat daftar dari poin yang akan dibuat oleh tim yang
didasari oleh prioritas kebutuhan yang dinilai berdasarkan
kebutuhan customer. Product Backlog disusun disepanjang
waktu pengerjaan proyek, dengan penambahan, pengurangan,
dan perubahan prioritas yang berkesinambungan.
b) Sprint
Scrum menstrukturisasi pengembangan produk dengan
menggunakan satu runtunan pekerjaan yang disebut dengan
Sprint, iterasi dari pekerjaan yang biasanya berdurasi 1-4
minggu. Sprint memiliki durasi dan diakhiri pada waktu yang
spesifik tanpa memperhatikan status dari pekerjaan yang
dilakukan, baik selesai maupun tidak. Pada durasi yang
ditentukan tersebut, dilakukan pengembangan produk yang
terdapat dalam proyek. Durasi dari Sprint tidak dapat
diperpanjang.
c) Sprint Planning
Pada awal dari setiap Sprint, dilakukan pertemuan Sprint
Planning. Pada Sprint Planning, Product Owner dan tim Scrum
melakukan Review terhadap Product Backlog, mendiskusikan
hasil dan konteks dari poin yang akan dibuat, dan tim Scrum
memilih poin-poin yang terdapat pada Product Backlog untuk
dikerjakan dan dapat diselesaikan pada akhir dari Sprint,
dimulai dari daftar teratas pada Product Backlog. Setiap poin
yang dipilih dari Product Backlog kemudian didesain dan
didekomposisi dalam sebuah kumpulan pekerjaan individu.
Daftar dari pekerjaan dituliskan ke dalam sebuah dokumen
yang disebut dengan Sprint Backlog.
d) Daily Scrum Meeting
Daily Scrum adalah kegiatan dengan batasan waktu maksimum
selama 15 menit agar Tim Pengembang dapat
mensinkronisasikan pekerjaan mereka dan membuat
perencanaan untuk 24 jam ke depan. Hal ini dilakukan dengan
meninjau pekerjaan semenjak Daily Scrum terakhir dan
memperkirakan pekerjaan yang dapat dilakukan sebelum

15
melakukan Daily Scrum berikutnya. Tim Pengembang
menggunakan Daily Scrum untuk meninjau perkembangan
menuju Sprint Goal dan meninjau tren perkembangan menuju
selesainya pekerjaan yang ada di dalam Sprint Backlog. Daily
Scrum mengoptimalisasi kemungkinan Tim Pengembang akan
mencapai Sprint Goal. Daily Scrum meningkatkan komunikasi,
menghilangkan pertemuan-pertemuan lain, mengidentifikasi
hambatan untuk dihilangkan, mendukung pembuatan
keputusan secara cepat dan meningkatkan tingkat pengetahuan
tim. Pertemuan ini adalah kunci dari proses peninjauan dan
pengadaptasian.
e) Sprint Review and Retrospective
Setelah Sprint berakhir, terdapat satu aktivitas yang disebut
dengan Sprint Review. Sprint Review melibatkan tim Scrum
dan stakeholder untuk melakukan inspeksi pada pekerjaan
yang telah selesai dilakukan selama Sprint. Inspeksi ini
memuat diskusi mengenai perkerjaan yang sebelumnya dan
rencana selanjutnya untuk pekerjaan tersebut. Pertemuan
Sprint Review ini dihadiri oleh Product Owner, Tim
Pengembang, Scrum Master, beserta customer, stakeholders,
ahli, dan beberapa orang yang tertarik untuk
bergabung.Melalui Sprint Review, tim Scrum selanjutnya
mengadakan Sprint Retrospective. Pada Sprint Retrospective,
tim Scrum berkesempatan untuk meninjau dirinya sendiri dan
membuat perencanaan mengenai peningkatan yang akan
dilakukan pada Sprint berikutnya.

3) Postgame
Pada fase ini terdapat Closure. Closure merupakan satu fase yang
menyatakan bahwa manajemen dari tim merasa bahwa variabel dari
waktu, kompetisi, permintaan, harga, dan kualitas telah sesuai
untuk versi terbaru yang akan dirilis, dengan demikian proyek
dinyatakan "closed" dan memasuki fase ini. Fase ini
mempersiapkan produk yang telah dikembangkan untuk beberapa
kelengkapan umum lainnya seperti integrasi, pengujian sistem,
dokumentasi, persiapan materi pelatihan penggunaan sistem, dan
persiapan materi pemasaran.

16
Gambar 2. 5 Tahapan/Aktivitas Sprint dalam model Scrum.

2.2.2 Pilar dalam Metode Pengembangan Scrum


Terdapat 3 pilar dalam metode pengembangan Scrum, yaitu :
1) Transparansi
Semua orang yang terlibat pelanggan, CEO, kontributor individual
transparan dalam transaksi sehari-hari mereka dengan orang lain.
Mereka semua percaya satu sama lain, dan mereka memiliki
keberanian untuk saling mengikuti kabar baik serta kabar buruk.
Semua orang berusaha dan secara kolektif berkolaborasi untuk
tujuan organisasi bersama, dan tidak ada yang memiliki agenda
tersembunyi.
2) Inspeksi
Inspeksi dalam konteks ini bukan inspeksi oleh inspektur atau
auditor tetapi inspeksi oleh semua orang di Tim Scrum. Inspeksi
dapat dilakukan untuk produk, proses, aspek orang, praktik, dan
peningkatan berkelanjutan.
3) Adaptasi
Adaptasi dalam konteks ini adalah tentang perbaikan terus-
menerus, kemampuan untuk beradaptasi berdasarkan hasil inspeksi.
Setiap orang di organisasi harus mengajukan pertanyaan ini secara
teratur, Apakah kita lebih baik daripada kemarin? Untuk organisasi
berbasis laba, nilainya diwakili dalam bentuk laba.

17
2.2.3 Jenis Role dalam Metode Pengembangan Scrum
Terdapat 3 jenis role dalam metode pengembangan Scrum, yaitu :
1) Product Owner
Pengertian produk adalah tujuan dari proyek. Product Owner
memastikan bahwa proyek berjalan sesuai yang diharapkan.
Product Owner merupakan penjembatan antara client dengan team
Development. Product Owner akan menuliskan spesifikasi-
spesifikasi sesuai cara pandang client, di lain pihak harus punya
empati terhadap anggota team. Product Owner bertanggung jawab
untuk memaksimalkan nilai produk dan hasil kerja Tim
Pengembang.
2) Team Member
Scrum Team Member merupakan sekelompok individu yang
bekerja sama untuk menghantarkan ataupun menaikkan nilai dari
produk yang diminta oleh pelanggan. Prasyarat dari tim Scrum
adalah Semua anggota berpartisipasi, Mampu berkomunikasi
dengan baik dan Meaningful Conversation.
3) Scrum Master
Scrum Master akan mencegah hal-hal yang mengalihkan focus
team. Scrum Master akan membuat suasana kondusif supaya team
dapat bekerja sama dalam mencapai goal. Selain itu, Scrum Master
membantu memfasilitasi keputusan tim Development yang self
organizing dan menghapus hambatan-hambatan yang dihadapi. Di
dalam organisasi, Scrum Master membantu organisasi untuk
memahami Scrum dan membuat perubahan yang dapat mendukung
proses Scrum.

2.2.4 Kelebihan dan Kekurangan Metode Pengembangan Scrum


Berikut ini adalah beberapa kelebihan dan kekurangan dari Scrum,
yaitu :
 Kelebihan Scrum :
 Scrum dapat membantu perusahaan Anda dalam menghemat
waktu dan biaya (dalam hal ini uang). Biaya overhead dari
proses dan manajemen sangat minim sehingga dapat
mengarahkan kita kepada hasil yang lebih cepat dan lebih
murah.
 Dengan menggunakan metode Scrum, Anda dapat
mentransformasikan bisnis yang sulit untuk diukur menjadi
mudah untuk dikembangkan.
 Pada metode Scrum, pergerakan pengembangan cutting edge
dapat dengan cepat dikodekan dan diuji menggunakan metode
ini. Bagaikan kesalahan yang mudah untuk diperbaiki.

18
 Dengan menggunakan Scrum, Anda dapat mengontrol dan
memonitoring aktivitas peningkatan dan penurunan beban
pekerjaan yang bisa terjadi kapan saja.
 Seperti metodologi Agile pada umumnya, Scrum merupakan
metode iterative yang membutuhkan feedback secara
berkelanjutan dari user atau pengguna.

 Kekurangan Scrum :
 Scrum bisa menjadi salah satu penyebab utama terjadinya
scope creep, kecuali ada tanggal akhir tertentu. Stakeholder
proyek atau manajemen akan terus menuntut fungsi dan fitur
baru untuk disampaikan.
 Setiap tugas harus didefinisikan dengan baik, karena hal ini
dapat mempengaruhi perkiraan biaya dan waktu pengerjaan
proyek. Jika tidak didefinisikan dengan baik maka semua hal
tersebut tidak akan akurat. Dalam kasus seperti ini, biasanya
tugas dapat tersebar di beberapa Sprint.
 Jika anggota tim Anda tidak berkomitmen dengan baik, maka
proyek Anda tidak akan selesai atau bahkan bisa gagal.
 Scrum dapat bekerja dengan baik jika seorang Scrum Master
dapat mempercayai tim yang mereka kelola. Jika Scrum
Master terlalu mengontrol secara ketat, hal ini dapat
menyebabkan tim menjadi tertekan dan stress, sehingga
mengakibatkan demoralisasi dan kegagalan dari proyek
tersebut.
 Jika sering terjadi pergantian anggota tim saat pengembangan
proyek berlangsung, hal ini dapat menyebabkan efek yang
kurang baik bagi perkembangan proyek tersebut, proyek akan
semakin lama selesai dari waktunya.

19
BAB III
PENUTUP

3.1 Kesimpulan
Extreme Programming berguna untuk mempercepat pekerjaan suatu tim dalam
organisasi atau perusahaan. Karena dalam Extreme Programming life cycle menuntut ke
suatu tim untuk menyelesaikan rangkaian aktivitas Planning, Analys, Design & Code,
Test, Deploy dalam tempo waktu yang telahditentukan. Extreme Programming
merupakan salah satu metodologi yang mendukung percepatan pembangunan suatu
sistem. Dalam penerapan Extreme Programming tanggung jawab per individu menjadi
berkurang. Karena dalam mengembangkan suatu sistem, anggota tim selalu bekerja
bersama-sama sehingga tanggung jawab per individu pun berkurang.
Tujuan utama Scrum adalah untuk inspect & adapt yang berarti bahwa melihat
permasalahan yang ada, dan melakukan adaptasi terhadap masalah tersebut.
Pengambangan perangkat lunak menggunakan Scrum menekankan untuk mengambil
setiap langkah pada pengembangan perangkat lunak secara singkat. Metode Scrum
dapat digunakan sebagai kerangka kerja untuk mengembangkan interoperabilitas sistem
dengan waktu yang efisien.

3.2 Saran
Extreme Programming bisa di terapkan pada perusahaan atau organisasi yang
mempunyai tim khusus untuk pengembangan suatu sistem. Perusahaan atau organisasi
yang ingin menerapkan Extreme Programming diharapkan untuk bisa memahami dan
mengerti Extreme Programming practice, dan scrum. Jika perusahaan atau organisasi
sudah mengerti Extreme Programming dan scrum, maka bisa mempelajari scrum
terlebih dahulu lalu full Extreme Programming.

20
DAFTAR PUSTAKA

Beck, K. (1999). Extreme Programming Explained: Embrace Change.


Bin Ladjamudin, A. (2006). Rekayasa Perangkat Lunak. Tanggerang: Graha Ilmu.
Id, R. (2021). Kelebihan dan Kekurangan pada Scrum.
Id, R. (2021). Pengertian Scrum dalam Software Development.
Jogiyanto, H. (2010). Analisis dan Desain. Yogyakarta: Andi Offset.
Ngurah Suryantara, I. (2017). Merancang Applikasi dengan Metodologi Extreme
Programming. Elex Media Komputindo.
Ryan Website, R. (2015). Metode Scrum.
Sutabri, T. (2012). Analisis Sistem Informasi. Yogyakarta: Andi Offset.

21

Anda mungkin juga menyukai