Anda di halaman 1dari 21

Metode Pengembangan SOFTWARE

Agile

DISUSUN OLEH
KELOMPOK 2
SIREG 4C

1. Apriandi (09031281722053)
2. Muhamad Aziz Antabari Acta (09031181924012)
3. Muhammad Rafie Chautie (09031281924057)
4. Rizki Ade Ningsih (09031281924048)
5. Zaki Nugraha Muhammad (09031281924045)
KATA PENGANTAR
Puji syukur kami panjatkan kehadirat Allah SWT, yang telah memberikan rahmat serta karunia-
Nya kepada kami sehingga dapat menyelesaikan makalah ini tepat pada waktunya. Makalah ini
berjudul “Metode Pengembangan Software Agile”.

Kami menyadari bahwa makalah ini masih jauh dari sempurna, oleh karena itu kritik dan saran
dari semua pihak yang bersifat membangun, selalu kami harapkan demi kesempurnaan makalah
ini. Semoga makalah ini dapat memberikan wawasan yang lebih luas kepada pembaca.

Akhir kata, kami sampaikan terima kasih kepada semua pihak yang telah berperan serta dalam
penyusunan makalah ini dari awal sampai akhir. Semoga Allah SWT senantiasa meridhoi segala
usaha kita. Amin.

Indralaya, 25 Februari 2021

Penulis
DAFTAR ISI

KATA PENGANTAR.........................................................................................................2
DAFTAR ISI ..................................................................................................................... 3
BAB 1 PENDAHULUAN ...................................................................................................4
A. Latar Belakang...........................................................................................................4
B. Rumusan Masalah......................................................................................................4
C. Tujuan dan Manfat .....................................................................................................4
BAB 2 PEMBAHASAN .................................................................................................... 5
A. Pengertian Agile ...................................................................................................... 5
B. Sejarah Agile ............................................................................................................ 5
C. Tujuan Agile Development ....................................................................................... 5
D. Jenis-Jenis Agile ....................................................................................................... 6
E. Cara Kerja Agile ......................................................................................................11
F. 12 Prinsip Agile .......................................................................................................11
G. Contoh Kasus dalam Pengembangan Software Metode Agile.....................................13
H. Kelebihan dan Kekurangan Metode Agile...................................................................19
BAB 3 PENUTUP ......................................................................................................... ...20
Kesimpulan ...................................................................................................................20
DAFTAR PUSTAKA .......................................................................................................21
BAB 1 PENDAHULUAN
A. Latar Belakang
Secara prinsip metode pengembangan perangkat lunak bertujuan untuk membantu
menghasilkan perangkat lunak yang berkualitas. Metode pengembangan perangkat
lunak (atau disebut juga model proses atau paradigma rekayasa perangkat lunak) adalah
suatu strategi pengembangan yang memadukan proses, metode, dan perangkat (tools).
Metode-metode pengembangan perangkat lunak, memberikan teknik untuk
membangun perangkat lunak yang berkaitan dengan serangkaian tugas yang luas yang
menyangkut analisis kebutuhan, konstruksi program, desain, pengujian, dan
pemeliharaan.
Salah satu metode pengembangan perangkat lunak adalah dengan menggunakan
metode agile. Metode pengembangan perangkat lunak Agile ini muncul karena keinginan
yang besar untuk dapat meninggalkan metode lama (Waterfall) yang tidak fleksibel.
Pendekatan metode ini dirancang untuk mengakomodasi perubahan serta menghasilkan
perangkat lunak secara lebih cepat.

B. Rumusan Masalah
1. Apa itu metode agile dalam pengembangan software?
2. Bagaimana sejarah terbentuknya metode agile?
3. Apa saja jenis-jenis metode agile?
4. Bagaimana cara kerja metode agile?
5. Apa saja prinsip-prinsip dalam metode agile?
6. Contoh kasus seperti apa yang biasanya menggunakan metode agile?
7. Apa saja kelebihan dan kekurangan metode agile?

C. Tujuan dan Manfaat


Tujuan dari menulis makalah ini adalah untuk menambah wawasan dan
pengetahuan lebih mengenai metode agile dalam pengembangan software kepada orang
yang membaca makalah ini.
Manfaat dari menulis makalah ini adalah penulis jadi lebih paham mengenai
metode agile dalam pengembangan software mulai dari pengertian, sejarah, sampai
kelebihan dan kekurangannya.
BAB 2 PEMBAHASAN
A. Pengertian Agile
Agile atau biasa disebut SDLC (Software Development Life Cycle). Metode agile
biasanya digunakan oleh startup maupun perusahaan besar dalam proses pengembangan
software. Agile Software Development adalah metodologi pengembangan software yang
didasarkan pada proses pengerjaan yang dilakukan berulang dimana, aturan dan solusi
yang disepakati dilakukan dengan kolaborasi antar tiap tim secara terorganisir dan
terstruktur.
Agile development sendiri merupakan model pengembangan perangkat lunak
dalam jangka pendek. Kemudian, membutuhkan adaptasi yang cepat dalam mengatasi
setiap perubahan. Nilai terpenting dari Agile development ini adalah memungkinkan
sebuah tim dalam mengambil keputusan dengan cepat, kualitas dan prediksi yang baik,
serta memiliki potensi yang baik dalam menangani setiap perubahan.

B. Sejarah Agile
Pada awal tahun 2001, tim pengembang software pada sebagian besar perusahaan
terjebak pada proses yang terus-menerus bertambah dan berubah dengan cepat. Akhirnya
para ahli merumuskan beberapa nilai dan prinsip yang dapat memungkinkan tim
pengembangan untuk bekerja dengan cepat dan dapat menghadapi sebuah perubahan.
Sekumpulan orang ini disebut Agile Alliance, yang kemudian mendeklarasikan pernyataan
“The Manifesto of the Agile Alliance” dengan nilai-nilai:

 Individuals and interaction over process


 Working software over comprehensive documentation
 Customer collaboration over contract negotiation
 Responding to change over following a plan
Agile Software Development merupakan penggabungan antara filosofi dan
sekumpulan panduan pengembangan. Filosofinya adalah mengutamakan kepuasan
customer dan penyelesaian product secara cepat dan bertahap, dengan tim development
yang kecil dan memiliki motivasi tinggi, serta memperhatikan kesederhanaan. Sedangkan
panduan pengembangan menekankan pada penyelesaian produk dibandingkan dengan
proses analisa dan perancangan, serta mengharuskan adanya komunikasi yang aktif dan
berkelanjutan antara user dan tim pengembang.

Metodologi agile merupakan pendekatan yang saat ini banyak diterapkan karena
tututan kondisi yang terus berubah dan serba cepat. Hal ini menggantikan pendekatan-
pendekatan konvensional dan kaku seperti waterfall, dimana semua requirement dari
sistem dianalisa diawal dan tidak memungkinkan terjadinya perubahan ditengah siklus
pengembangan perangkat lunak

C. Tujuan Agile Development

Berikut tujuan Agile Development :


1. High – value & working App System
Agile Software Development bertujuan menghasilkan sebuah perangkat lunak dengan nilai
jual tinggi serta dapat menekan biaya pembuatan. Dan yang terpenting adalah dapat
menghasilkan produk dengan kualitas yang baik.
2. Iterative, Incremental, Evolutionary
Agile merupakan model pengembangan yang dilakukan secara iteratif, berulang – ulang,
dan dapat mengalami perubahan apabila diperlukan. Dapat dikatakan bahwa, metode ini
terbilang fleksibel dan dapat digunakan pada proyek pengembangan jangka pendek.
3. Cost Control & value – driven development
Pada metode Agile Software Development, pengembangan perangkat lunak dapat
disesuaikan dengan kebutuhan dari user. Oleh karena itu, tim developer dapat mengontrol
biaya dan waktu yang diperlukan untuk proses pengembangan software sesuai kebutuhan.
4. High – quality production
Kualitas dari produk perangkat lunak tetap terjaga dengan baik meskipun biaya dan waktu
yang diperlukan terbilang sedikit.
5. Flexible & Risk Management
Fleksibel disini dapat diartikan dengan pertemuan dengan klien dapat dilakukan kapanpun
sehingga fungsionalitas dari perangkat lunak dapat terjaga. Yang terpenting, dapat
meminimalisir terjadinya kesalahan pada program maupun produk sebelum dilakukan
proses deploy aplikasi.
6. Collaboration
Proses kolaborasi disini dilakukan oleh setiap tim pengembang untuk mendiskusikan
feedback yang diberikan oleh klien. Sehingga perlu adanya komunikasi dan koordinasi
yang baik antar tim developer.
7. Self – organizing, Self – Managing Teams
pengembang diberikan akses untuk memanajemen sendiri urusan software development.
Tugas dari seorang manajer untuk menjadi penghubung antara developer dan klien
sehingga dapat mengurangi terjadi miss communication.

D. Jenis-jenis Agile
1. Extreme Programmning (XP)
2. Adaptive Software Development (ASD)
3. Dynamic Systems Development Method (DSDM)
4. Scrum Methodology
5. Crystal
6. Feature Driven Development (FDD)
7. Agile Modeling (AM)
8. Rational Unified Process

1). Extreme Programmning (XP)

Proyek Pemrograman Extreme pertama dimulai 6 Maret 1996. Extreme


Programming adalah salah satu dari beberapa Proses Agile populer. Sudah terbukti sangat
sukses di banyak perusahaan dari berbagai ukuran dan industri di seluruh dunia.
Extreme Pemrograman berhasil karena menekankan kepuasan pelanggan. Extreme
Pemrograman menekankan kerja sama tim. Pengelola, pelanggan, dan pengembang semua
mitra setara dalam sebuah tim kolaboratif. Extreme Pemrograman menerapkan, sederhana
namun efektif yang memungkinkan tim lingkungan menjadi sangat produktif. Tim
mengorganisir diri mengatasi masalah untuk menyelesaikannya seefisien mungkin.
Extreme Pemrograman meningkatkan proyek perangkat lunak dalam lima cara penting;
komunikasi, kesederhanaan, umpan balik, rasa hormat, dan keberanian. Extreme
Programmer selalu berkomunikasi dengan pelanggan mereka dan programer sesama.
Mereka terus desain mereka yang sederhana dan bersih.

Gambar. Extreme Programmer

Keuntungan dan Kerugian


Keuntungan Extreme Programmning:
Menjalin komunikasi yang baik dengan client. Meningkatkan komunikasi dan sifat saling
menghargai antar developer.

Kerugian Extreme Programmning:


Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima. Tidak
bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan
apa yang diperlukan hari itu juga).

2). Adaptive Software Development (ASD)

Adaptive Software Development (ASD) diajukan oleh Jim Highsmith sebagai teknik
untuk membangun software dan sistem yang kompleks. Filosofi yang mendasari Adaptive
Software Development (ASD) adalah kolaborasi manusia dan tim yang mengatur diri sendiri.
System kerja adaptive software development : Collaboration dan Learning
Adaptive cycle planning yaitu menggunakan informasi awal seperti misi dari klien, batasan
proyek dan kebutuhan dasar untuk definisikan rangkaian software increment (produk software
yang secara berkala diserahkan)

 Collaboration : orang-orang yang bermotivasi tinggi bekerja sama:


saling melengkapi, rela membantu, kerja keras, trampil di bidangnya, dan
komunikasikan masalah untuk hasilkan penyelesaian yang efektif.
Learning: tim pembangun sering merasa sudah tahu semua hal tentang proyek, padahal
tidak selamanya begitu. Karena itu proses ini membuat mereka belajar lebih tentang proyek
melalui 3 cara:
- Focus group: klien dan pengguna memberi masukan terhadap software
- Formal Technique Reviews: Tim ASD lengkap melakukan review
- Postmortems: Tim ASD lakukan instrospeksi pada kinerja dan proses.

Gambar. Proses Adaptive Software Development (ASD)

3). Dynamic Systems Development Method (DSDM)

Pada Dynamic System Development Method menyajikan kerangka kerja


(framework) untuk membangun dan memelihara sistem dalam waktu yang terbatas melalui
penggunaan prototyping yang incremental dalam lingkungan yang terkondisikan. Metode
ini akan membangun software dengan cepat: 80% dari proyek diserahkan dalam 20% dari
waktu total untuk menyerahkan proyek secara utuh.
Dynamic System Development Method dapat dikombinasikan dengan Extreme
Programmning menghasilkan kombinasi model proses yang mengikuti Dynamic System
Development Method dan praktek yang sejalan dengan Extreme Programmning.

4). Scrum Methodology

Pertama kali diperkenalkan oleh Jeff Sutherland tahun awal tahun 1990an, dan
dikembangkan selanjutnya dilakukan oleh Schwaber dan Beedle. Pada dasarnya Scrum
merupakan salah satu komponen dari metodologi pengembangan Agile mengenai
pertemuan harian untuk membahas kemajuan dan XP adalah menekankan metodologi yang
berbeda sepasang ujian dulu pemrograman dan pembangunan.
Scrum menguraikan proses untuk mengidentifikasi dan katalogisasi pekerjaan yang
perlu dilakukan, memprioritaskan yang bekerja dengan berkomunikasi dengan pelanggan
atau wakil pelanggan, dan pelaksanaan yang bekerja menggunakan rilis iterative dan
memiliki tujuan utama untuk mendapatkan perkiraan berapa lama akan pembangunan. XP
lebih lanjut tentang pengembang membantu menyelesaikan pekerjaan secepat dan
maintainably mungkin.

Scrum memiliki prinsip yaitu:


- 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). Crystal

Crystal diperkenalkan oleh Cockburn dan Highsmith, Development yang tidak pada
jalur kritis, dapat menghabikan waktu lebih, mereka yang memperbaiki produk atau
membantu oaring yang ada di jalur proyek kritis.
Karakteristik Crystal :
1. Secara aktual sebuah model proses keluarga yang memungkinkan manuver berdasar
karakteristik permasalahan
2. Menyarankan penggunaan workshop refleksi untuk review kebiasaan kerja tim
3. Selalu murah dan cepat berkomunikasi secara langsung.
4. Proyek berkembang sesuai ukuran team menjadi lebih atau luas dan metologi akan
menjadi lebih tinggi.

6). Feature Driven Development

Feature Driven Development merupakan model proses praktis untuk keahlian


proses software engineering, Feature merupakan sebuah fungsi yang berharga dimana
dapat dilaksanakan.
Keuntungan dari metode feature :
1. User dapat menggambarkan dengan mudah bentuk system.
2. Dapat di organisasikan atau diatur ke dallamkelompok bisnis yang hirarki.
3. Desain dank ode lebih mudah diperiksa secara efektif.
4. Merancang proyek, penjadwalan dan jalur diarahkan oleh feature.

7). Agile Modeling

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 system software. Agile Modeling adalah kumpulan nilai-nilai, prinsip dan
praktek-praktek untuk memodelkan software agar dapat diaplikasian pada software
development proyek secara efektif.

Prinsip dalam Agile Modeling :

 Membuat model dengan tujuan: tentukan tujuan sebelum membuat model


 Mengunakan multiple models: tiap model mewakili aspek yang berbeda dari model
lain.
 Travel light: simpan model-model yang bersifat jangka panjang saja
 Isi lebih penting dari pada penampilan: modeling menyajikan informasi kepada
audiens yang tepat.
 Memahami model dan alat yang yang digunakan untuk membuat software
 Adaptasi secara local

8). Rational Unified Process

Rational Unified Process, adalah suatu kerangka kerja proses pengembangan


perangkat lunak iteratif yang dibuat oleh Rational Software, suatu divisi dari IBM sejak
2003. RUP bukanlah suatu proses tunggal dengan aturan yang konkrit, melainkan suatu
kerangka proses yang dapat diadaptasi dan dimaksudkan untuk disesuaikan oleh organisasi
pengembang dan tim proyek perangkat lunak yang akan memilih elemen proses sesuai
dengan kebutuhan mereka.
Model ini membagi suatu sistem aplikasi menjadi beberapa komponen sistem dan
memungkinkan para developer aplikasi untuk menerapkan metoda iterative (analisis,
disain, implementasi dan pengujian) pada tiap komponen. Dengan menggunakan model
ini, RUP membagi tahapan pengembangan perangkat lunaknya ke dalam 4 fase sebagai
berikut.
Inception, merupakan tahap untuk mengidentifikasi sistem yang akan
dikembangkan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup analisis
sistem eksisting, perumusan sistem target, penentuan arsitektur global target, identifikasi
kebutuhan, perumusan persyaratan perumusan kebutuhan pengujian, pemodelan diagram
UML, dan pembuatan dokumentasi.
Elaboration, merupakan tahap untuk melakukan disain secara lengkap berdasarkan
hasil analisis di tahap inception. Aktivitas yang dilakukan pada tahap ini antara lain
mencakup pembuatan disain arsitektur subsistem), disain komponen sistem, disain format
data disain database, disain antarmuka/tampilan, disain peta aliran tampilan, penentuan
design pattern yang digunakan, pemodelan diagram UML, dan pembuatan dokumentasi.
Construction, merupakan tahap untuk mengimplementasikan hasil disain dan
melakukan pengujian hasil implementasi. Pada tahap awal construction, ada baiknya
dilakukan pemeriksaan ulang hasil analisis dan disain, terutama disain pada domain
perilaku (diagram sequence) dan domain struktural (diagram class, component,
deployment). Apabila disain yang dibuat telah sesuai dengan analisis sistem, maka
implementasi dengan bahasa pemrogramanan tertentu dapat dilakukan.
Aktivitas yang dilakukan pada tahap ini antara lain mencakup pengujian hasil
analisis dan disain (misal menggunakan Class Responsibility Collaborator untuk kasus
pemrograman berorientasi obyek), pendataan kebutuhan implementasi lengkap
(berpedoman pada identifikasi kebutuhan di tahap analisis), penentuan coding pattern
yang digunakan, pembuatan program, pengujian, optimasi program, pendataan berbagai
kemungkinan pengembangan / perbaikan lebih lanjut, dan pembuatan dokumentasi.
Transition, merupakan tahap untuk menyerahkan sistem aplikasi ke konsumen
(roll-out), yang umumnya mencakup pelaksanaan pelatihan kepada pengguna dan testing
beta aplikasi terhadap ekspetasi pengguna.

E. Cara Kerja Agile


1. Menekankan pada kepuasan dari klien dengan menjadikannya sebagai prioritas utama
dalam menghasilkan produk lebih awal dan berkelanjutan.
2. Menerima segala bentuk perubahan saat proses pengembangan software meskipun
berada di tahap akhir pengembangan.
3. Menghasilkan produk berupa perangkat lunak yang dibuat dengan jangka waktu
sedikit (2 minggu – 2 bulan), dengan kualitas yang teruji.
4. Terjadi proses kerjasama yang baik antara pihak pengembang dengan pebisnis selama
proyek berlangsung.
5. Membangun suasana lingkungan yang berisi orang – orang bermotivasi tinggi. Supaya
dapat menyelesaikan proyek dengan efektif dan efisien.
6. Komunikasi secara langsung sangat dibutuhkan dalam proses pengembangan sebuah
perangkat lunak.
7. Software yang bekerja dengan baik dan sempurna merupakan sebuah ukuran
darikemajuan proyek.
8. Metode Agile dapat mengembangkan software secara berkelanjutan dari dukungan
setiap pihak seperti sponsor, pengguna dan developer sendiri.
9. Keunggulan dari segi teknis menjadi keutamaan dalam pengembangan software
menggunakan metode Agile.
10. Kesederhanaan disini sangatlah penting bagi Agile sendiri dalam memaksimalkan
sebuah resources (sumber daya) yang ada.
11. Segala kebutuhan dari segi arsitektur dan kebutuhan software sangat tergantung pada
manajemen setiap tim pengembang.
12. Secara berkala, setiap tim pengembang melakukan evaluasi diri (refleksi) untuk
bekerja lebih efektif dan mengatur pola kerja mereka.

F. 12 Prinsip Agile
 Kepuasan Pelanggan
Prinsip agile pertama adalah kepuasan pelanggan sehingga tujuan semua bentuk
produksi harus berlandaskan kepuasan pelanggan, bukan kepuasan pemilik produk.
Pelanggan puas ketika menerima produk yang berfungsi secara bertahap dibandingkan
menunggu periode lama merilis semua produk.
Contoh memberikan kepuasan pelanggan adalah kecepatan pelayanan
memberikan produk atau prototipe secara MVP (Minimum Viable Product) dan
dilakukan berkelanjutan untuk menguji kepuasan pelanggan kemudian diperbaiki setelah
pemilik produk menerima umpan balik.
Kriteria Minimum Viable Product (MVP) paling sedikit mengacu 2 poin pertama
dari 4 poin kaidah MOSCOW berikut:<ul><li>Must have: harus ada agar produk bisa
dipakai dan terkait dengan regulasi.
 Siap Menerima Perubahan
Prinsip agile kedua adalah siap menerima perubahan meskipun perubahan
tersebut bisa menghambat proses kerja karena agile belum memastikan memiliki
rancangan detil sejak awal proyek bergulir sampai selesai.
 Membuat Produk Secara Sinambung
Prinsip agile ketiga adalah membuat produk secara sinambung karena produk
boleh jadi berupa prototipe saja. Selanjutnya produk diselesaikan bertahap mengikuti
preferensi pelanggan.
 Koordinasi Harian
Prinsip agile keempat adalah koordinasi harian tim agile secara intens berinteraksi
karena proses agile berlangsung singkat, mungkin hanya dalam hitungan minggu
sehingga setiap tim agile harus berkoordinasi setiap hari dengan proses quick daily
meeting.
 Motivasi Tinggi
Prinsip agile kelima bahwa setiap anggota tim agile harus memiliki motivasi
tinggi dan self directed karena proses agile mengharuskan setiap orang untuk
mengerjakan pekerjaannya sendiri-sendiri dengan minim superivisi. Tim yang
termotivasi lebih cenderung memberikan karya terbaik mereka dari pada tim tanpa
motivasi.
 Komunikasi Langsung
Proses agile memiliki durasi pengerjaan relatif singkat sehingga akan lebih efektif
jika berkomunikasi langsung dibandingkan koordinasi berbentuk video call dan
sejenisnya. Salah satu kunci sukses suatu project adalah komunikasi.
 Produk adalah Indikator Kemajuan
Produk atau hasil adalah indikator kemajuan sedangkan proses kerja tidak begitu
berpengaruh. Produk yang siap rilis merupakan ukuran utama kemajuan progress proyek
bukan berdasarkan prosentase status proyek.
 Perkembangan Berkelanjutan
Agile mempromosikan proses yang lincah untuk development yang berkelanjutan.
Agile melibatkan semua stakeholder terkait dan mempertahankan tempo kerja tim terus
menerus.
 Perhatian Pada Teknis
Teknis pembuatan produk akan menjadi perhatian utama dengan setiap
perhitungan dan ukuran harus betul-betul diperhatikan. Semakin baik teknisnya, semakin
cepat pembuatan produknya, maka semakin cepat pula proyek bisa diselesaikan.
Keterampilan tepat dan desain baik memastikan tim dapat mempertahankan kecepatan
dan meningkatkan kualitas produk.
 Kesederhanaan
Agile menuntut kecepatan penyelesaian proyek bukan sempurnanya proyek.
Produk sederhana tapi selesai jauh lebih baik dari pada produk keren tapi tidak selesai.
Tim agile fokus pada aktivitas untuk menyelesaikan pekerjaan sesuai dengan prioritas
tidak terpancing mengerjakan hal - hal lain diluar sprint backlog.
 Kemandirian
Prinsip agile ke 11 adalah kemandirian sehubungan minimnya supervisi dan
pimpinan proyek tidak banyak ikut campur di dalam pekerjaan teknis. Setiap anggota tim
agile membutuhkan kemandirian dalam menyelesaikan pekerjaan.
Mampu menyelesaikan pekerjaan tanpa banyak arahan dan pengawasan
merupakan sebuah kualitas anggota tim agile. Setiap anggota akan berbagi ide, skill dan
pengetahuan sehingga menghasilkan produk berkualitas.
 Evaluasi
Perbaikan diri, peningkatan proses, skill, keterampilan serta saling membantu
anggota tim agar bisa bekerja lebih efisien karena tujuan agile adalah untuk
menyelaraskan development team dengan kebutuhan bisnis dan keberhasilan agile
tampak jelas dan transparan.

G. Contoh Kasus yang Menggunakan Metode Agile dalam Mengembangkan


Perangkat Lunak
Metode agile ialah metode yang cocok digunakan ketika kita menemukan sebuah
kasus yang:
1. Membutuhkan respon yang cepat ketika terjadi sebuah perubahan requirement di
dalam pengembangan perangkat lunak.
2. Membutuhkan interaksi lansung dengan user secara aktif.
3. Membutuhkan perilisan yang cepat dan berkala.
4. Membutuhkan biaya yang relative murah.
5. Membutuhkan testing setiap saat.
Contoh kasus pengembangan perangkat lunak menggunakan metode agile ialah:
pengembangan E-Musrenbag(Musyawarah Perencanaan Pembangunan) menggunakan
metode agile di kelurahan Benoa Bali yang dikejrakan oleh Kadek Cahya Dewi, Putu
Indah Ciptayani, I Wayan Rizky Wijaya.
E-Musrenbag ialah portal aplikasi perencaan berbasis website yang dibangun
untuk mendukung upaya sinergi perencanaan antara pemerintah pusat dan pemerintah
daerah dalam penyusunan rencana kerja pemerintah baik di pusat maupun di daerah.
LPM kelurahan Benoa memiliki inovasi untuk mengembangkan E-musrenbag tingkat
kelurahan dengan tujuan, agar proses perencanaan pembangunan di tingkat kelurahan
Benoa dapat terencana dengan baik da dapat menghasilkan laporan yang sesuai dengan
musrenbag tingkat kecamatan.
E-Musrenbag akan dikembangkan menggunakan metode agile dengan
menggunakan framework Scrum. Alasan pemilihan metode agile ialah karena metode
tersebut dapat mudah beradaptasi dengan perkembangan zaman dan perubahan.
Scrum ialah sebuah metode iterative yang termasuk dalam metode Agile tentang
bagaimana cara kita mengelola dan menjalankan sebuah proyek.
Role yang terdapat di dalam Scrum ialah:
a. Product Owner, seseorang yg bertanggung jawab membuat dan memprioritaskan
produk backlog sistem, memastikan produk backlog transparan dan jelas bagi
semua orang, dan bertanggung jawab atas keberhasilan di mata user
b. Scrum Master, seseorang yang bertugas untuk menghilangkan hambatan yang
menghalangi tim dalam mencapai tujuannya dan yang mempraktekkan teori,
prakterk, aturan, dan tata nilai scrum.
c. Scrum Development team, sebuah tim pengembangan yang menjadikan produk
backlog sebagai fungsi yang bisa dirilis.
Scrum terbgai menjadi beberapa fase
a. Product Backlog
b. Sprint Planning
c. Daily Stand-up Meeting
d. Sprint Review
e. Sprint Retrospective

Dalam pengembangan aplikasi E-Musrenbag ini, mulanya tim akan dibagi jadi beberapah
tahap:
1. Pre-sprint
Di tahapan ini akan dtentukan target dari proyek yang dilakukan yaitu
mengembangkan sistem E-Musrenbag kelurahan Benoa Bali. Story yang telah
dikumpulkan dari wawancara dan interaksi lansung dengan user. Kumpulan story
tersebut akan menjadi Product Backlog
Adapaun produck backlognya ialah:
1. User and Role
User role dan hak akses sistem ditunjukkan pada
2. Pengelolaan Berita
Admin dapat melakukan pengelolaan berita yang meliputi input, update dan
delete berita pada sistem e-musrenbang sehingga Tamu dan Wakil masyarakat
dapat melihat berita terbaru pada sistem e-musrenbang.

3. Pengelolaan Kegiatan
Admin dapat melakukan pengelolaan kegiatan yang ada di Kelurahan Benoa
sehingga jadwal kegiatan yang diselenggarakan di Kelurahan Benoa dapat dilihat
oleh wakil masyarakat dan tamu.
4. Pengelolaan Menu
Admin dapat melakukan pengelolaan tata letak menu pada sistem e-musrenbang
sesuai dengan keinginan.
5. Pengelolaan Kontak
Tamu dapat melakukan pengajuan pesan maupun pertanyaan kepada LPM Benoa
melalui sistem e-musrenbang dan akan mendapat jawaban melalui email yang
disertakan oleh Tamu.
6. Pengelolaan E-Musrenbag
Wakil masyarakat dapat melakukan pengajuan data musrenbang dan data tersebut
dapat dilihat oleh Tamu untuk menerapkan transparansi pada pengajuan
musrenbang
7. Pengelolaan Slider
Admin dapat mengganti slider yang ada pada halaman awal sistem e-musrenbang
untuk memperbaharui slider sesuai dengan kegiatan yang sedang berlangsung di
Kelurahan Benoa.

2. Tahap Sprint
Di tahap ini akan disusun dahulu backlog item, kemudian dilanjutkan dengan
Menyusun perencanaan sprint.
Backlog item
Contoh sprint yang udah dibentuk

Di sela-sela pengerjaan sprint akan diadakan daily scrum/daily stand-up meeting.


Di daily scrum yang hadir hanya development team dan disana akan dibahas tentang
apa yang udah dilakukan kemarin, apa yang udah dilakukan hari ini, dan hambatan
yang ditemukan.
Setelah daily scrum, akan diadakan sprint review. Di sprint review akan dilakukan
demo pekerjaan yang udah selesai, melakukan review product backlog, membahas
product backlog yang akan direvisi, dan mendiskusikan item yang mungkin
dibutuhkan untuk sprint selanjutnya. Output dari sprint review ialah hasil revisi
product backlog dan hasil diskusi item yang dibutuhkan untuk sprint selanjutnya.
Setelah itu ada Sprint Retrospective. Ditahap tersebut akan dibahas, apa yang berjalan
baik?, apa yang perlu dikembangkan lagi, dan bagaimana actionnya

Cara kerja scrum jika didefinisikan dalam gambar

3. Tahap Release Product


Hasil sprint 1
Terdapat tampilan home frontend dari sistem E-Musrenbag kelurahan benoa yang
menunjukkan menu-menu yang dapat diakses oleh role tamu.
Hasil Sprint 2

Backend dari E-Musrenbag yang akan menampilkan informasi pengajuan musrenbag


yang diajukan oleh para wakil masyarakat.
Hasil Sprint 3
Menu pengelolaan konten yang dapat digunakan untuk mengatur akses dr tiap konten
sistem E-Musrenbag kelurahan Benoa berdasarkan User group serta show dan hide
dari konten tersebut.

Hasil Sprint 4

Gambar 6 merupakan draft pengajuan Musrenbag yang dapat diakses wakil


masyarakat saat melakukan pengajuan musrenbag
Gambar 7 ialah view pengajuan musrenbag yang dapat diakses tamu apabila ingin
melihat pengajuan yang telah dilakukan oleh masing-masing wakil masyarakat.
H. Kelebihan dan Kekurangan Metode Agile
Kelebihan dari agile
- Meningkatkan kepuasan kepada klien.
- Dapat melakukan review pelanggan mengenai software yang dibuat lebih awal.
- Pembangunan system dibuat lebih cepat.
- Mengurangi resiko kegagalan implementasi software dari segi non-teknis.
- Jika pada saat pembangunan system terjadi kegagalan kerugian dari segi materi relatif
kecil.

Kekurangan dari agile


- Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
- Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
- Tidak cocok dalam skala tim yang besar (>20 orang).
- Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.
BAB 3 PENUTUP
KESIMPULAN
Berdasarkan apa yang udah dijelaskan di Bab II, metode agile ialah metodologi yang
cocok digunakan ketika kita ingin membuat sebuah perangkat lunak yang mudah beradptasi
dalam perubahan. Metode agile dikembangan dengan cara melakukan proses pengerjaan secara
berulang-ulang sampai di tahap user puas dengan product yang dikembangkan. aturan dan solusi
yang disepakati di dalam konsep agile dilakukan dengan kolaborasi antar tiap tim secara
terorganisir dan terstruktur. Metode agile dibuat untuk mengatasi metode lain yang sifatnya statis
dan sukar dalam menghadapi perubahan.
DAFTAR PUSTAKA
https://badoystudio.com/metode-pengembangan-perangkat-lunak/
https://www.seputarpabrik.com/2020/09/4-nilai-dan-12-prinsip-agile.html
Dewi, Kadek Cahya, Putu Indah Ciptayani, I Wayan Rizky Wijaya. 2018. AGILE
PROJECT MANAGEMENT PADA PENGEMBANGAN E-MUSRENBAG
KELURAHAN BENOA BALI, 1-7
https://youtu.be/wPd4D9v-CfY.

Anda mungkin juga menyukai