Makalah ini disusun dalam rangkah memenuhi tugas Mata Kuliah Kreativitas, Inovasi, dan
Kewirausahaan Teknologi Pendidikan yang diampu oleh Bapak Teguh Arie Sandy, M.Pd.
Disusun oleh:
1
KATA PENGANTAR
Puji dan syukur kami panjatkan kepada Tuhan Yang Maha Esa atas segala berkat dan
rahmat-Nya, sehingga kami dapat menyelesaikan Makalah yang berjudul “Agile Model” ini
secara tepat waktu.
Adapun tujuan dari Makalah ini adalah untuk memenuhi tugas pada mata kuliah
Kreativitas, Inovasi, dan Kewirausahaan Teknologi Pendidikan serta sebagai sarana untuk
menambah wawasan dan ilmu bagi para pembaca dan penulis.
Terimakasih kami ucapkan kepada Bapak Teguh Arie Sandy, M.Pd. selaku dosen
pengampu mata kuliah Kreativitas, Inovasi, Kewirausahan Teknologi Pendidikan. Terlepas
dari segala hal tersebut, kami menyadari bahwa dalam Makalah ini masih terdapat
kekurangan, baik dari segi susunan kalimat maupun tata bahasanya. Oleh sebab itu, saran dan
kritik yang membangun diharapkan demi kesempurnaan makalah ini.
Kelompok Penyusun
2
DAFTAR ISI
3
BAB I
PENDAHULUAN
A. Latar belakang
B. Rumusan masalah
1. Apa pengertian Agile Software Development?
2. Apa perbandingan Agile Development dan Waterfall Model?
3. Apa prinsip-prinsip Agile Software Development?
4. Apa saja tujuan penerapan Agile Development?
5. Apa saja jenis Agile Development?
6. Apa saja tools dalam Agile Software Development?
7. Apa saja tahapan Agile Development?
4
8. Apa Kekurangan dan kelebihan pada penerapan Agile development?
9. Apa manfaat Agile Sofware Development?
10. Apa saja contoh penerapan Agile Software Development?
C. Tujuan
1. Untuk mengetahui pengertian Agile Software Development.
2. Untuk mengetahui perbandingan Agile Development dan Waterfall Model.
3. Untuk mengetahui prinsip-prinsip Agile Software Development.
4. Untuk mengetahui tujuan penerapan Agile Development.
5. Untuk mengetahui jenis-jenis Agile Development.
6. Untuk mengetahui apa saja tools dalam Agile Software Development.
7. Untuk mengetahui apa saja tahapan Agile Development.
8. Untuk mengetahui kekurangan dan kelebihan penerapan Agile Development.
9. Untuk mengetahui manfaat Agile Sofware Development.
10. Untuk mengetahui contoh penerapan Agile Software Development.
5
BAB II
PEMBAHASAN
6
Menurut Mahendra dkk (2018), ada beberapa model pengembangan perangkat
lunak yang termasuk agile software development methods, yaitu 1) Extreme
Programming, 2) Adaptive Software Development, 3) Dynamic Systems Development
Method, 4) Model Scrum, dan 5) Agile Modeling.
Klien dapat melihat dan memberikan Klien hanya dapat bisa melihat hasil
feedback produk walaupun belum selesai. produk setelah proyek selesai.
7
C. Manifesto Agile Software Development
Dalam membuat sebuah software project yang bertipe agile development, terdapat
12 prinsip utama yang menjadi etik pelaksanaannya. Junaedi (2022), mengungkapkan
bahwa 12 prinsip tersebut adalah sebagai berikut:
1. Mengutamakan kepuasan pelanggan untuk memberikan software yang bagus.
2. Perubahan pada persyaratan harus diterima bahkan bila itu terjadi pada tahap
akhir pengembangan.
3. Pelaku bisnis dan pengembang bekerja sama setiap hari dalam seluruh proyek.
4. Penting untuk menyediakan lingkungan dan dukungan yang baik untuk
memotivasi pengembang.
5. Komunikasi dari dan dalam tim pengembang dilakukan secara tatap muka.
6. Perangkat lunak yang berfungsi adalah ukuran dari kemajuan.
7. Sering mengirimkan perangkat lunak yang berfungsi dalam beberapa minggu
dan bulan dengan preferensi waktu yang lebih pendek.
8. Proses agile dapat mempromosikan pembangunan proyek yang berkelanjutan.
Para sponsor, pengembang dan pengguna harus bisa konstan mempertahankan
kecepatan ini.
9. Perhatian secara terus menerus untuk keunggulan dan kualitas dalam
pengembangan teknis dan desain dapat meningkatkan agility.
10. Kesederhanaan adalah bagian penting dari manajemen agile yang efektif.
11. Tim yang dikelola sendiri menghasilkan arsitektur, requirement dan desain
yang terbaik.
12. Secara berkala tim merefleksikan diri menjadi lebih efektif dan terus
beradaptasi setiap harinya.
Kedua belas prinsip tersebut menjadi suatu dasar bagi model-model proses
yang punya sifat agile. Dengan prinsip-prinsip tersebut Agile Process Model
berusaha untuk menyiasati 3 asumsi penting tentang proyek software pada
umumnya (Nayyira, 2018):
1) Penentuan kebutuhan perangkat lunak sulit diprediksi dari awal karena akan
selalu berubah. Selain itu, prioritas klien juga akan mengalami perubahan
sering dengan berjalannya proyek.
2) Desain dan pembangunan sering tumpang tindih. Sulit diperkirakan seberapa
jauh desain yang diperlukan sebelum pembangunan
8
3) Analisis, desain, pembangunan dan testing tidak dapat diperkirakan seperti
yang diinginkan.
9
E. Jenis Agile Development
Agile Development dibagi menjadi beberapa jenis yang sering digunakan dalam
berbagai proyek IT. Adapun beberapa jenis Agile Development Software tersebut di
antaranya adalah Extreme Programming, Dymanic System Development Method,
Scrum, dan Adaptive Software Development. Berikut merupakan penjelasan beberapa
jenis tersebut yang diadaptasi dari ulasan Ong (2021):
1. Extreme Programming (XP)
Extreme programming merupakan jenis Agile Development yang cocok
diterapkan untuk tim kecil hingga medium. Dalam jenis ini ada beberapa tahapan
yang perlu dilakukan semisalnya planning, design, coding hingga testing. Para
developer bila menggunakan metode ini didorong untuk berani mengambil
keputusan dalam melakukan proses coding.
Extreme programming memiliki keunggulan di antaranya dapat meningkatkan
kepuasan pada konsumen dan proyek IT lebih cepat selesai. Selain itu feedback
dapat dilakukan dengan cepat dan bila terdapat kesalahan langsung segera
diperbaiki. User pun dapat terlibat langsung dalam memantau pembuatan sistem
informasi. Namun, ada juga kelemahan yang membuat developer harus siap
dengan segala perubahan yang ada. Begitu juga dengan pembuatan kode tidak bisa
dibuat lebih detail di awal.
2. Dynamic System Developmet Method (DSDM)
Sementara itu dynamic system developmet method merupakan kerangka kerja
dalam Agile Development dengan mengutamakan keterlibatan penggunanya
secara berkesinambungan. DSDM ini merupakan pendekatan yang iteratif dan
inkremental. Terdapat lima fase yang dikembangkan dalam DSDM ini di
antaranya adalah feasibility study, business study, functional model iteration,
design and build iteration, dan implementation phase. Kelebihan dari metode ini
adalah dapat membangun sebuah software dengan cepat hingga 80% dari proyek
yang dirancang dan dalam 20% dari waktu total keseluruhan pengerjaan proyek
IT. Sementara itu kelemahan dari metode ini terkadang dalam sebuah proyek IT
isu mengenai sistem backup dan recovery hingga security kurang begitu
diperhatikan.
10
3. SCRUM
Berikutnya adalah SCRUM yang lebih mengedepankan pada kekuatan
kolaborasi tim, incremental product dan proses iterasi. Dalam sistem SCRUM ini
terdapat tiga metode yakni master SCRUM, product owner, dan tim SCRUM.
Master SCRUM memiliki tugas untuk mengikuti prosedur yang sudah diterapkan,
melindungi tim dari gangguan. Sementara itu product owner memiliki tanggung
jawab yang besar karena memiliki visi tentang bagaimana proyek IT berjalan
kepada tim SCRUM. SCRUM inilah yang nantinya akan mengatur pekerjaan
mereka, seperti menganalisa, melakukan perancangan software, pengujian dan
lainnya. Metode ini memiliki kelebihan antara lain membantu efisiensi perusahaan
dan biaya overhead yang minim. Selain itu SCRUM dapat bekerja di berbagai
teknologi maupun bahasa pemrograman untuk peningkatan sebuah website.
Akan tetapi, SCRUM juga memiliki kelemahan di antaranya adalah
membutuhkan tenaga ahli yang berpengalaman. Jika sebuah proyek IT dengan
tenaga ahli yang kurang berpengalaman menggunakan metode ini maka
pengerjaannya pun akan semakin lama.
4. Adaptive Software Development (ASD)
Adaptive software development merupakan metode dari Agile Development
yang dikembangkan oleh Jim Highsmith. Metode ini menerapkan teknik
membangun software dengan sistem yang kompleks. Terdapat tiga aktivitas utama
dalam ASD ini yakni mengenai speculation, collaboration dan learning.
Speculation merupakan aktivitas yang berkitan dengan misi awal seperti apa yang
diinginkan klien, batasan proyek, dan kebutuhan yang diperlukan. Sementara itu
collaboration merupakan aktivitas dalam menyelesaikan sebuah proyek
pembuatan software. Metode ASD ini memiliki beberapa keunggulan di antaranya
meningkatkan produktivitas kerja pada tim dan kualitas perangkat lunak. Di sisi
lain metode ini juga mampu menghemat biaya produksi dan dapat mengurangi
risiko kegagalan implementasi software terutama dari segi non-teknis.
Sedangkan kelemahannya adalah metode ini tidak cocok digunakan untuk tim
besar (lebih dari 20 orang). Juga dari perkiraan waktu rilis serta harga software
yang digunakan sulit ditentukan. Dari berbagai macam metode atau model agile
development di atas kesamaannya adalah fungsinya dalam mendapatkan test data
11
dengan kasus yang sebenarnya. Maka dari itulah, copy data management mampu
memberikan test data yang sama dengan real case dalam waktu yang singkat.
13
sebuah pengembangan proyek yang siap diserahkan kepada klien. Durasi Sprint
biasanya tidak lebih dari 30 hari. Karena durasinya yang singkat, maka dalam alur
pengembangan proyek berjalan dalam proses yang terstruktur di beberapa sesi
Sprint. Artinya, pengembangan proyek dengan metode ini dapat berjalan secara
iteratif dan inkremental juga lebih cepat dan produktif.
5. Kecepatan kerja tim lebih stabil
Jika dalam metode Waterfall kecepatan kerja tim akan semakin menurun seiring
penyelesaian proyek, maka hal itu kecil kemungkinan terjadi pada metode Agile.
Prinsip incremental dan iterative dalam Agile akan mempengaruhi kecepatan
kerja tim menjadi lebih stabil dan terukur.
6. Hasil yang lebih berkualitas
Dengan memecah proyek menjadi beberapa unit kerja yang dapat dikelola, tim
dapat lebih fokus dalam melakukan pengembangan, pengujian, dan kolaborasi
berkualitas tinggi. Selain itu, kualitas hasil proyek juga dapat terus diperbaiki
seiring dengan diberikannya feedback dari klien. Hasilnya, metode ini dapat
memberikan kesempatan kepada developer untuk semaksimal mungkin
memberikan hasil yang terbaik.
14
J. Contoh Perusahaan yang Mengadopsi Metodologi Agile Software Development
Dalam proses agile model, jangan terpaku atau menganggap bahwa proses yang
telah dilakukan akan sepenuhnya sempurna. Justru dengan adanya proses agile,
sebenarnya membuat suatu sistem masih terbuka atas segala perubahan dan adaptasi
seiring perkembangan zaman.
1. Amazon
Dengan nama kegiatan press release nya. Tak banyak aturan atau framework yang
ada dalam konsep yang amazon pilih ini. Sesuai dengan namanya, tim engineer
pada amazon lebih mengedepankan alasan atau "why" atas segala peningkatan
fitur dan dampak yang mereja inginkan dari para konsumen mereka.
2. Spotify
Dengan nama kegiatan autonomous tribes. Dulu spotify mengadopsi konsep fairly
verbose framework, dimana mereka membagi divisi tim engineer menjadi tiga
bagian yaitu tribes, chapter, dan guilds. Ini memungkinkan segala pengembangan
arsitektur aplikasi berjalan sangat ter-decentralized atau tak terpusat dan terbagi-
bagi sesuai dengan divisinya masing-masing.
3. WhatsApp
Dengan nama kegiatan no process. Tanpa proses. Bahkan di salah satu pertemuan
antar tim pada perusahaan, diakui bahwa setiap engineer memeiliki semacam
backlog yang dimana mereka memiliki kuasa atas segala apa yang mereka
kerjakan. Itupun hanya satu yang diberikan yaitu benahi bugs terlebih dahulu. Hal
ini memungkinkan para engineer bisa saling berkomunikasi dan bekerja sama atas
bug apa saja yang mereka atasi.
15
BAB III
PENUTUP
A. Kesimpulan
Agile Development adalah metode manajemen proyek modern yang memecah
proyek besar menjadi potongan-potongan kecil untuk menerima umpan balik
pelanggan di setiap tahap. Ini membantu pelanggan mengalami produk pada tahap
yang berbeda dan berbagi kesan dan masukan mereka. Hasilnya adalah produk akhir
yang benar-benar disukai pelanggan (Chappell, 2020. Kolaborasi antara tim
pengembang dengan klien menjadi hal yang penting dalam agile development, klien
dianggap sebagai anggota tim. Fleksibilitas di tawarkan kepada klien kaitannya
dengan kesadaran dan pengetahuan pelanggan tentang apa yang dia inginkan.
Terdapat dua belas prinsip pada agile development yang menjadi suatu dasar
bagi tim agar sukses menerapkan agile development methods dalam pengembangan
atau pembuatan perangkat lunak. Komunikasi dan koordinasi antar tim dapat
ditingkatkan dengan menggunakan metode ini, selain itu kepuasan klien dan kualitas
perangkat lunak yang dihasilkan dapat terjaga. Terdapat dua puluh metode yang
termasuk dalam agile model. Metode-metode tersebut sering digunakan oleh praktisi
pengembang perangkat lunak dalam pembuatan atau dalam pengembangan.
Setiap model dan metodologi memiliki kemampuan (keuntungan) dan
kekurangannya sendiri-sendiri. Menggunakan metode pengembangan perangkat lunak
merupakan hal yang penting serta di pengaruhi oleh beberapa faktor akan tetapi tidak
terbatas pada budaya dan organisasi.
16
DAFTAR PUSTAKA
17