Anda di halaman 1dari 23

MAKALAH

AGILE METHOD dan SCRUM

Ditujukan untuk memenuhi salah satu tugas mata kuliah Rekayasa Perangkat
Lunak I

Disusun Oleh :
10115205 Rifaldi Yunus M
10115369 Richard Henderson
10115242 Anjar Naufal S
10115039 M Fakhry Al Giffari
10115234 Hanton K Aprianto

Dosen :
Chrismikha Haryanto S.Kom., M.Kom

TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPTER
UNIVERSITAS KOMPUTER INDONESIA
OKTOBER 2018
Daftar Isi

Daftar Isi...................................................................................................................i
BAB 1 Pendahuluan.................................................................................................1
BAB 2 Pembahasan.................................................................................................2
2.1 Pengertian Agile Software Development..................................................2
2.2 Prinsip Agile Software Development........................................................4
2.3 Faktor Manusia pada Agile Process Model...............................................5
2.4 Karakteristik Agile Software Development..............................................5
2.5 Kelebihan dan Kekurangan Agile Software Development.......................5
2.5.1 Kelebihan Agile Software Development...........................................5
2.5.2 Kekurangan Agile Software Development........................................6
2.6 Penggunaan Agile Method........................................................................6
2.6.1 Agile method sangat cocok digunakan..............................................6
2.6.2 Agile method tidak cocok digunakan.................................................6
2.7 Agile Model Process.................................................................................7
2.7.1 Extreme Programming (XP)..............................................................7
2.7.1.1 Karakteristik XP.........................................................................7
2.7.1.2 Tahapan-tahapan dalam XP........................................................8
2.7.1.3 Kelebihan dan Kekurangan XP..................................................9
2.7.1.4 Model XP cocok digunakan........................................................9
2.7.2 Scrum Methodology...........................................................................9
2.7.2.1 Prinsip Scrum............................................................................10
2.7.2.1 Aktifitas Scrum.........................................................................10
2.7.2.3 Peran pada Scrum.....................................................................13
2.7.2.4 Karakteristik Scrum..................................................................14
2.7.2.5 Kelebihan dan Kekurangan Scrum...........................................14
2.7.2.6 Penggunaan Scrum...................................................................15
2.7.3 Agile Modeling (AM)......................................................................15
2.7.3.1 Prinsip Agile Modeling.............................................................16
2.7.3.2 Langkah Kerja pada Agile Modeling.......................................17
2.7.3.3 Karakteristik Agile Modeling...................................................17
2.7.3.4 Kelebihan dan Kekuranan Agile Modeling..............................17
2.7.3.5 Penggunaan Agile Modeling....................................................18
Daftar Pustaka........................................................................................................19
BAB 1
Pendahuluan

Metodologi dalam perangkat lunak digunakan untuk merancang atau


membangun suatu perangkat lunak. Dengan perkembangan teknologi yang sangat
pesat, metodologi perangkat lunak juga terjadi perubahan atau penambahan
requirements. Dari model waterfall sampai dengan model-model incremental.
Semua metodologi yang berkembang sebelumnya tidak mampu menangani
kemungkinan perubahan atau penambahan requirements. Metode pengembangan
perangkat lunak telah dilacak kembali pada tahun 1957. Pada tahun tersebut EA
Edmonds telah memperkenalkan proses pengembangan perangkat lunak adaptif.
“Lightwight” merupakan metode pengembangan perangkat lunak yang
berkembang pada tahun 1990, sebagai reaksi terhadap apa yang disebut metode
“heavyweight”. Yang ditandai dengan kritik mereka terhadap metode waterfall.
Pada tahun 90-an diperkenalkan dengan metodologi baru yang dikenal
dengan nama agile methods, kata Agile berarti bersifat cepat, ringan, bebas
bergerak, waspada. Metodologi yang dikenal sebagai agile methods ini
mengutamakan fleksibilitas terhadap perubahan-perubahan yang terjadi selama
pengembangan. Bahkan perubahan ataupun penambahan pada saat fase terakhir
pun teratasi apabila menggunakan metodologi ini.
Agile Methods dikembangkan karena pada metodologi tradisional terdapat
banyak hal yang membuat proses pengembangan tidak dapat berhasil dengan baik
sesuai tuntutan user. Konsep Agile Software Development dicetuskan oleh Kent
Beck dan 16 rekannya dengan menyatakan bahwa Agile Software Development
adalah cara membangun software dengan melakukannya dan membantu orang lain
membangunnya sekaligus.

1
BAB 2
Pembahasan

2.1 Pengertian Agile Software Development

Agile software Development adalah salah satu metodologi dalam


pengembangan sistem perangkat lunak. Kata Agile berarti bersifat cepat,
ringan, bebas bergerak, waspada. Kata ini digunakan sebagai kata yang
menggambarkan konsep model proses yang berbeda dari konsep model-
model proses yang sudah ada.
Konsep Agile software Development dicetuskan oleh Kent Beck dan
16 rekannya dengan menyatakan bahwa Agile Software Development adalah
cara membangun software dengan melakukannya dan membantu orang lain
membangunnya sekaligus (Ambler, An Introducation to Agile Modeling,
2001-2008).
Agile Software Development juga dapat diartikan sekelompok
metodologi pengembangan software yang didasarkan pada prinsip-prinsip
yang sama atau pengembangan system jangka pendek yang memerlukan
adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun
(sumber: Wikipedia).
Agility dalam pengembangan perangkat lunak diartikan
sebagaikemampuan untuk beradaptasi dan bereaksi secara cepat dan efektif
terhadap perubahan serta meminimalisir dampak terhadap perangkat lunak
yang sedangdibangun. Kolaborasi antara tim pengembang dengan klien
menjadi hal yang penting, klien dianggap sebagai anggota tim. 0leksibilitas di
tawarkan kepadaklien kaitannya dengan kesadaran dan pengetahuan
pelanggan tentang apayang dia inginkan.
Agile development juga dapat didefinisakan dalam empat nilai atau
sering disebut sebagai agile manifesto, diantaranya:
1. Interaksi dan personel lebih penting dari pada proses dan alat, di
dalam agile interaksi antar anggota tim sangatlah penting, karena tanpa
adanya interaksi yang baik maka proses pembuatan perangkat lunak
tidak akan berjalan sesuai rencana.
2. Perangkat lunak yang berfungsi lebih penting daripada dokumentasi
yang lengkap, saat melakukan proses demonstrasi kepada klien,
perangkat lunak yang berfungsi dengan baik akan lebih berguna
daripada dokumentasi yang lengkap.
3. Kolaborasi dengan klien lebih penting dari pada negosiasi kontrak,
salah satu ciri dari agile adalah klien menjadi bagian dari tim

2
pengembangan perangkat lunak. Kolaborasi yang baik dengan klien
saat proses pembuatan perangkat lunak sangatlah penting ketika
menggunakan agile. Karena fungsi-fungsi dari perangkat lunak yang
dikembangkan harus terus menerus dibicarakan dan diimprovisasi
disesuaikan dengan keinginan klien.
4. Respon terhadap perubahan lebih penting daripada mengikuti
rencana, agile development methods berfokus terhadap kecepatan
respon tim ketika klien menginginkan perubahan saat proses
pembuatan perangkat lunak.

Gambar 1 Agile Development Method

Diagram 1 Agile Development Method

3
2.2 Prinsip Agile Software Development

Salah satu ciri dari Agile Software Development adalah tim yang
tanggap terhadap perubahan karena perubahan adalah hal yang utama dalam
membangun software: perubahan kebutuhan software, perubahan anggota
tim, perubahan teknologi dll. Selain itu Agile Software Development juga
melihat pentingnya komunikasi antara anggota tim, antara orang-orang teknis
dan businessmen, antara developer dan manajernya. Ciri lain adalah klien
menjadi bagian dari tim pembangun software. Ciri- ciri ini didukung oleh 12
prinsip yang diterapkan oleh Agile Alliance. Menurut Agile Alliance, 12
prinsip ini adalah bagi mereka yang ingin berhasil dalam penerapan Agile
Software Development:

1. Kepuasan klien adalah prioritas utama dengan menghasilkan produk


lebih awal dan terus-menerus.
2. Menerima perubahan kebutuhan, sekalipun diakhir pengembangan.
3. Penyerahan hasil/software dalam hitungan waktu dua minggu sampai
dua bulan.
4. Bagian bisnis dan pembangun kerja sama tiap hari selama proyek
berlangsung
5. Membangun proyek dilingkungan orang-orang yang bermotivasi tinggi
yang bekerja dalam lingkungan yang mendukung dan yang dipercaya
untuk dapat menyelesaikan proyek.
6. Komunikasi dengan berhadapan langsung adalah komunikasi yang
efektif dan efisien.
7. Software yang berfungsi adalah ukuran utama dari kemajuan proyek.
8. Dukungan yang stabil dari sponsor, pembangun, dan pengguna
diperlukan untuk menjaga perkembangan yang berkesinambungan.
9. Perhatian kepada kehebatan teknis dan desain yang bagus
meningkatkan sifat agile.
10. Kesederhanaan penting.
11. Arsitektur, kebutuhan dan desain yang bagus muncuk dari tim yang
mengatur dirinya sendiri.
12. Secara periodik tim evaluasi diri dan mencari cara untuk lebih efektif
dan segera melakukannya.
Kedua belas prinsip tersebut menjadi suatu dasar bagi tim agar sukses
menerapkan agile development methods. Dengan prinsip-prinsip tersebut
agile berusaha untuk menyiasati tiga masalah yang biasanya dihadapi saat
proses pembuatan perangkat lunak, yaitu:
1. Kebutuhan perangkat lunak sulit diprediksi dari awal dan selalu akan
berubah. Selain itu, prioritas klien juga sering berubah seiring
berjalannya proyek.

4
2. Desain dan pembangunan sering tumpang tindih. Sulit diperkirakan
seberapa jauh desain yang diperlukan sebelum pembangunan.
3. Analisis, desain, pembangunan dan testing tidak dapat diperkirakan
seperti yang diinginkan.

2.3 Faktor Manusia pada Agile Process Model

Kunci faktor manusia pada model ini adalah proses didasari pada kebutuhan
orang dan tim bukan sebaliknya, Untuk dapat sukses menerapkan model
proses ini, pada faktor manusia ada beberapa kunci penting:
1. Kompetensi : ketrampilan dalam membangun dan pengetahuan
tentang proses membangun.
2. Fokus : memiliki fokus yang sama sekalipun peran dalam tim
berbeda.
3. Kolaborasi : kerja sama dengan klien, anggota tim dan manajer.
4. Kemampuan ambil keputusan : tim pembangun memiliki otonomi
dalam pengambilan keputusan terkait teknis dan proyek.
5. Kemampuan fuzzy problem-solving : mampu menyelesaikan dan
memilah masalah yang penting untuk dipecahkan segera atau nanti.
6. Saling percaya dan hormat : kekompakan tim yang didukung oleh
rasa percaya dan saling menghargai satu sama lain.
7. Manajemen diri : tim mengatur diri untuk selesaikan proyek,
mengatur proses untuk disesuaikan dengan lingkungannya, tim
menjadwal dirinya untuk menyerahkan hasil.

2.4 Karakteristik Agile Software Development

1. Respon yang efektif, cepat dan adaptif terhadap suatu perubahan.


2. Komunikasi yang efektif diantara para stakeholder.
3. Memberi gambaran kebutuhan customer terhadap tim.
4. Mengorganisasikan tim sehingga performansi kerja berada dalam
kontrol.
5. Cepat, dengan pertambahan delivery software.
6. Menghilangkan gap diantara developer dan customer.
7. Menekankan pentingnya delivery secara cepat dari software operasional
dan menekankan pentingnya diantara work product.

5
2.5 Kelebihan dan Kekurangan Agile Software Development

2.5.1 Kelebihan Agile Software Development


Berikut ini beberapa kelebihan dari Agile Software Development :
1. Meningkatkan kepuasan kepada klien.
2. Pembangunan system dibuat lebih cepat.
3. Mengurangi risiko kegagalan implementasi software dari segi
non-teknis.
4. Jika pada saat pembangunan system terjadi kegagalan, kerugian
dari segi materi relative kecil.

2.5.2 Kekurangan Agile Software Development


Berikut ini beberapa kekurangan dari Agile Software Development :
1. Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
2. Tidak cocok dalam skala tim yang besar (>20 orang).
3. Perkiraan waktu release dan harga perangkat lunak sulit
ditentukan.

2.6 Penggunaan Agile Method

2.6.1 Agile method sangat cocok digunakan


Agile method sangat cocok digunakan untuk beberapa jenis
pengembangan system, yaitu :
1. Product development dimana perusahaan perangkat lunak
mengembangkan produk kecil atau menengah untuk dijual.
2. Pengembangan sistem kustom dalam suatu organisasi, dimana ada
komitmen yang jelas dari pelanggan untuk terlibat dalam proses
pengembangan dan dimana tidak ada banyak aturan dan peraturan
eksternal yang mempengaruhi perangkat lunak.

2.6.2 Agile method tidak cocok digunakan


Agile method tidak cocok digunakan ketika :
1. Project tidak terlalu mendesak, terlalu rumit atau baru.
2. Tim tidak dapat mengatur diri sendiri dan kurangnya atau bahkan
tidak memiliki pengembang professional.
3. Pelanggan membutuhkan persetujuan pada setiap tahap
pengembangan.
4. Pelanggan ingin pengembang menggunakan metodologi
tradisional dan tidak ingin mendengar tentang Agile method.

6
5. Perusahaan tidak berinvestasi dalam menyebarkan praktik Agile
method diantara para pengembang, penguji, dan manajemen.

2.7 Agile Model Process

Berikut ini adalah beberapa model-model proses yang termasuk agile process
model :

2.7.1 Extreme Programming (XP)

XP merupakan suatu model yang tergolong dalam pendekatan agile


yang diusulkan oleh Kent Back. Menurut penjelasannya, definisi XP
adalah sebagai berikut: “Extreme Programming (XP) is a lightweight,
efficient, low-risk, flexible, predictable, scientific, and fun way to
develop software“. Model ini cenderung menggunakan pendekatan
Object-Oriented. Tahapan-tahapan yang harus dilalui antara lain:
Planning, Design, Coding, dan Testing. Sasaran Extreme
Programming adalah tim yang dibentuk berukuran antara kecil sampai
medium saja, tidak perlu menggunakan sebuah tim yang besar. Hal ini
dimaksudkan untuk menghadapi requirements yang tidak jelas
maupun terjadinya perubahan-perubahan requirements yang sangat
cepat. Extreme Programming merupakan agile methods yang paling
banyak digunakan dan menjadi sebuah pendekatan yang sangat
terkenal.

Gambar 2 Extreme Programming

7
2.7.1.1 Karakteristik XP
1. Communication(Komunikasi), tugas utama developer
dalam membangun suatu system perangkat lunak adalah
mengkomunikasikan kebutuhan system kepada
pengembang perangkat lunak.
2. Simplicity(Kesederhanaan), XP mencoba untuk mencari
solusi paling sederhana dan praktis.
3. Feedback(Umpan Balik), Hal ini diperlukan untuk
mengetahui kemajuan dari proses dan kualitas dari
aplikasi yang dibangun.
4. Courage(Keberanian) berarti berani mencoba ide baru.
2.7.1.2 Tahapan-tahapan dalam XP
Aktivitas planning dimulai dengan membentuk user stories.
Anggota XP team kemudian menilai setiap story dan
menentukan cost — diukur dalam development week.
1. Planning. Customer dan XP team bekerja bersama untuk
memutuskan bagaimana grup story untuk release
berikutnya (software increment berikutnya) untuk
dibangun oleh XP team. Jika komitmen telah dibuat, XP
team akan membangun story-story dengan cara :

Semua story segera diimplemetasikan (dalam beberapa


minggu).
1. Story dengan value tertinggi akan dipindahkan dari
jadwal dan dimplementasikan pertama.
2. Story dengan resiko paling tinggi akan
diimplemetasikan terlebih dulu. Setelah project pertama
direlease dan didelivery, XP team memperhitungkan
kecepatan project. Selama development, customer
dapat menambah story, merubah value, membagi story
atau menghapusnya.

2. Design. XP menggunakan CRC card, untuk mengenali dan


mengatur object oriented class yang sesuai dengan
software increment.
3. Coding. Sebelum membuat code, lebih baik membuat unit
test tiap story untuk dimasukkan dalam software increment.
XP menyarankan agar dua orang bekerja bersama pada satu
komputer workstation untuk membuat code dari satu story
(pair programming), untuk menyediakan real time problem
solving dan jaminan real time quality. Setelah pair
programming selesai, code diintegrasikan dengan kerja
laiinnya (continuous integration).

8
4. Testing. Unit test yang telah dibuat harus
diimplementasikan menggunakan suatu framework dan
diatur ke dalam universal testing suite, integrasi dan
validasi sistem dapat dilakukan setiap hari. Customer test
(acceptance test) dilakukan oleh customer dan fokus pada
keseluruhan fitur dan fungsional sistem. Acceptance test
diperoleh dari customer stories yang telah
diimplemetasikan sebagai bagian dari software release.
2.7.1.3 Kelebihan dan Kekurangan XP
- Kelebihan XP
Berikut ini beberapa kelebihan dari model XP :
1. Meningkatkan kepuasan kepada klien.
2. Pembangunan system dibuat lebih cepat.
3. Menjalin komunikasi yang baik dengan client.
4. Meningkatkan komunikasi dan sifat saling menghargai
antar developer.

- Kekurangan XP
Berikut ini beberapa kekurangan dari model XP :
1. Cerita-cerita yang menunjukkan requirements dari
pelanggan kemungkinan besar tidak lengkap sehingga
Developer harus selalu siap dengan perubahan karena
perubahan akan selalu diterima.
2. Tidak bisa membuat kode yang detail di awal (prinsip
simplicity dan juga anjuran untuk melakukan apa yang
diperlukan hari itu juga).
3. XP tidak memiliki dokumentasi formal yang dibuat
selama pengembangan. Satu-satunya dokumentasi
adalah dokumentasi awal yang dilakukan oleh user.
2.7.1.4 Model XP cocok digunakan
Model XP cocok digunakan untuk pembuatan program yang:
1. Membutuhkan perubahan yang cepat (misalnya: Game
Mobile).
2. Proyek beresiko tinggi dengan tantangan yang berat.
3. Tim programmer sedikit, yaitu sekitar 2–10 orang.
4. Adanya permintaan dari pelanggan secara langsung.

2.7.2 Scrum Methodology


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

9
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 dan dikembangkan selanjutnya
dilakukan oleh Schwaber dan Beedle. Metode Scrum pertama kali
diformulasikan dan dipresentasikan pada Object Management Group
tahun 1995 dengan judul paper “Scrum Development Process”.
2.7.2.1 Prinsip Scrum
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.
2.7.2.1 Aktifitas Scrum

Gambar 3 Scrum Methodolody(1)

10
Gambar 4 Scrum Methodolody(2)

1. 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.

2. 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

11
Penghalusan Backlog (Backlog Refinement), dan disaat yang
sama juga melakukan perencanaan.

3. 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.

4. Daily Scrum

Setiap hari, Tim Scrum 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 ?
Fokuslah pada pertanyaan 1 dan 2, 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.
5. 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).

12
6. 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.
2.7.2.3 Peran pada Scrum

1. 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.

2. 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.

3. 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

13
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.

4. Scrum Team

Scrum Team atau Tim Scrum adalah gabungan dari Tim


Pengembang, Pemilik Proyek dan Tenaga Ahli Scrum. Semua
entitas bertanggungjawab atas keberhasilan proyek tersebut,
dilihat dari kualitas produknya maupun dari waktu dan biaya.
Target yang paling utama adalah kepuasan pelanggan.

2.7.2.4 Karakteristik Scrum


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.

2.7.2.5 Kelebihan dan Kekurangan Scrum


- Kelebihan Scrum
Berikut ini beberapa kelebihan dari Scrum :
1. Keperluan berubah dengan cepat.
2. Tim berukuran kecil sehingga melancarkan komunikasi,
mengurangi biaya dan memberdayakan satu sama lain.
3. Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan
cepat.
4. Dokumentasi dan pengujian terus menerus dilakukan
setelah software dibangun.
5. Proses Scrum mampu menyatakan bahwa produk selesai
kapanpun diperlukan.

- Kekurangan Scrum

14
Developer harus selalu siap dengan perubahan karena
perubahan akan selalu diterima.
2.7.2.6 Penggunaan Scrum
- Scrum cocok digunakan
Model scrum cocok digunakan ketika:
1. Keperluan berubah dengan cepat.
2. Tim programmer sedikit, yaitu 5-9 orang.
3. Pelanggan tidak terlalu paham dengan apa yang diinginkan.

- Scrum tidak cocok digunakan


Model scrum tidak cocok digunakan ketika:
1. Project requirement tidak boleh dikembangkan (tidak
flexible).
2. Perusahaan enggan untuk menerapkan model scrum.
3. Mencari one-stop solution untuk semua masalah.
4. Sering membutuhkan respon yang lebih cepat dari waktu
yang dibutuhkan untuk melakukan sprint.
5. Memiliki pengalaman buruk dengan model scrum.

2.7.3 Agile Modeling (AM)


Dalam situasi pembangunan software harus membangun sistem
bisnis yang besar dan penting. Jangkauan dan kompleksitas sistem
harus dimodelkan sehingga dapat dimengerti, masalah dapat dibagi
menjadi lebih kecil dan kualitas dapat dijaga pada tiap langkah
pembangunan software.
Agile Modeling adalah suatu metodologi yang praktis untuk
dokumentasi dan pemodelan sistem software. Agile Modeling adalah
kumpulan nilai-nilai, prinsip dan praktek-praktek untuk memodelkan
software agar dapat diaplikasian pada software development proyek
secara efektif.

15
Gambar 5 Agile Modeling

2.7.3.1 Prinsip Agile Modeling


1. Membuat model dengan tujuan: tentukan tujuan sebelum
membuat model.
2. Mengunakan multiple models: tiap model mewakili aspek
yang berbeda dari model lain.
3. Travel light: simpan model-model yang bersifat jangka
panjang saja.
4. Isi lebih penting dari pada penampilan: modeling
menyajikan informasi kepada audiens yang tepat.
5. Memahami model dan alat yang yang digunakan untuk
membuat software.
6. Adaptasi secara local.

16
2.7.3.2 Langkah Kerja pada Agile Modeling
Langkah kerja pada Agile Modeling :
1. Collecting artifact
2. Apply right artifact
3. Create several models in parallel.
4. Iterate to another artifact
5. Model in small increments
Pada langkah kerja collecting artifact dan apply right artifact
ada beberapa hal yang diperhatikan :
1. Understanding business environment
2. Identify initial scope
3. Work closely with stakeholder
Dalam fase modeling pada agile modeling, pemodelan yang
dibuat untuk menggambarkan kebutuhan sistem, meliputi
beberapa hal :
1. Pemodelan kebutuhan calon pengguna
2. Pemodelan analisa system
3. Pemodelan arsitektur system
4. Pemodelan desain system
2.7.3.3 Karakteristik Agile Modeling
1. Purposeful
2. Understandable
3. Sufficiently Accurate
4. Sufficiently Consistent
5. Sufficiently Detailed
6. Provide Positive Value
7. Simple as Possible
8. Just Fulfill Basic Requirements

2.7.3.4 Kelebihan dan Kekuranan Agile Modeling


- Kelebihan Agile Modeling
Berikut ini beberapa kelebihan dari Agile Modeling :
1. Meningkatkan kepuasan kepada klien
2. Pembangunan system dibuat lebih cepat
3. Mengurangi resiko kegagalan implementasi software dari
segi non-teknis
4. Jika pada saat pembangunan system terjadi
kegagalan,kerugian dar segi materi relative kecil.

17
- Kekurangan Agile Modeling
Developer harus selalu siap dengan perubahan karena
perubahan akan selalu diterima.
2.7.3.5 Penggunaan Agile Modeling
- Agile meodeling sangat cocok digunakan
Agile modeling sangat cocok digunakan untuk beberapa jenis
pengembangan system, yaitu :
1. Product development dimana perusahaan perangkat lunak
mengembangkan produk kecil atau menengah untuk dijual.
2. Pengembangan sistem kustom dalam suatu organisasi,
dimana ada komitmen yang jelas dari pelanggan untuk
terlibat dalam proses pengembangan dan dimana tidak ada
banyak aturan dan peraturan eksternal yang mempengaruhi
perangkat lunak.

- Agile modeling tidak cocok digunakan


Agile modeling tidak cocok digunakan ketika :
1. Pengembang tidak menggunakan XP, DSDM, Scrum, atau
FDD.
2. Tidak siap untuk menerapkan semua prinsip Agile
Modeling.
3. Stakeholder tidak terlibat dalam proses, maka upaya
pemodelan tidak akan berhasil.
4. Perusahaan mengambil pendekatan top-down.
5. Tim programmer terlalu banyak.

18
Daftar Pustaka

[1] I. Sommerville, “Software Engineering”, 9th ed, United States of America:


Pearson Education, Inc, 2011.

[2] R. Wulan, “Pengembangan Konfigurasi Model Analisis Agile pada


Perusahaan Bisnis IT Online (Studi Kasus Lazada dan Bhineka.com)”,
Faktor Exacta 9(2): 166-177, 2016.

[3] K. Auliasari, “Penerapan Agile Modeling pada Pembangunan Sistem


Persewaan Mobil”, Jurnal Bytes, Vol.2, No.1, pp. 9 – 13, September, 2013.

[4] U. Proboyekti, Bahan Ajar Rekayasa Perangkat Lunak, Topik: “Agile


Software Development”, Universitas Kristen Duta Wacana, Yogyakarta,
2008.

[5] https://www.dictio.id/t/apakah-yang-dimaksud-dengan-agile-software-
development/15199/2.

[6] http://www.academia.edu/23009791/Agile_software_development.

[7] https://www.tukarpengetahuan.com/2015/06/manfaat-dan-karakteristik-
agile-development.html.

[8] https://id.wikipedia.org/wiki/Agile_Development_Methods.

[9] https://hygger.io/blog/when-not-to-use-agile.

[10] https://www.360logica.com/blog/agile-development-advantages-
disadvantages-and-when-to-use-it.

[11] http://www.extremeprogramming.org/when.html.

[12] https://dwijaantara.wordpress.com/2010/10/25/agile-method.

[13] http://komputerlamongan.com/agile-metode.

[14] https://istopics.wordpress.com/2014/05/13/scrum.

[15] http://efansamuel.blogspot.com/2015/03/metodologi-pengembangan-
sistem-scrum.html.

19
[16] https://www.hexacta.com/2018/09/10/7-tips-to-know-when-to-use-
scrum-in-your-project.

[17] http://blog.magnusdahlgren.com/2017/06/08/5-situations-scrum-may-not-
best-choice.

[18] http://www.academia.edu/31957172/Extreme_Programming_Definition_
XP_.

[19] https://medium.com/@mikesebastian/extreme-programming-
c715e6b8e0e9.

[20] http://dhiekalantana.blog.unas.ac.id/2012/10/perbandingan-up-xp-scrum-
agile.

[21] https://www.smartsheet.com/keys-successful-adoption-agile-modeling.

[22] https://www.dictio.id/t/apakah-yang-dimaksud-dengan-metode-
scrum/302/4.

20

Anda mungkin juga menyukai