Analisis Dan Perancangan
Analisis Dan Perancangan
Analisis Dan Perancangan
NIM : 3221150
PRODI : SISTEM INFORMASI (pagi)
SOAL : penjelasan berkaitan dengan Agile Metode: Definisi, Tujuan, Prinsip, Metode, Kelebihan dan
Kekurangannya.
JAWABAN :
Definisi : Agile artinya cara pengembangan produk sebagai alternatif dari metode konvensional. Dengan kata
lain, pengertian agile adalah dobrakan terhadap alur kerja lama yang tidak berkembang ketika melihat dinamika
pasar.Berawal dari kekakuan model waterfall, metode agile adalah cara efektif dalam memahami keinginan
pasar. Fleksibilitas metode agile terlihat pada rangkaian proses yang dapat disesuaikan saat produksi tengah
berjalan.Pada metode waterfall, kita harus berkutat pada rencana awal tanpa improvisasi, sedangkan metode
agile mengakomodasi komunikasi antara pemakai dan produsen bahkan setelah perancangan software telah
terjadi. Sehingga pemakai merasa lebih puas dengan adanya perbaikan saat pengerjaan.Urgensi pemanfaatan
agile semakin besar terkait fakta bahwa banyak software dengan metode waterfall yang tidak lagi dibutuhkan
karena kurang relevan.
Metode Agile
1. Scrum Methodology
Scrum adalah metode agile yang berfokus pada pengembangan software kompleks. Pengerjaan software
pada Scrum dibagi menjadi beberapa proses kecil yang disebut dengan sprints.
Dalam satu sprint, biasanya Anda akan berfokus menyelesaikan satu fitur tertentu. Misalnya, Anda sedang
mengembangkan aplikasi dompet digital dan berfokus menambahkan fitur isi saldo.
Scaled Agile Framework (SAFe) ditujukan bagi perusahaan besar atau enterprise yang ingin menerapkan
metode Agile.
Perusahaan besar cenderung kaku dengan struktur divisi/tim yang banyak. Tak jarang, pengambilan keputusan
terkait project bisa memakan waktu lama karena perlu koordinasi antar divisi.
Nah, SAFe adalah solusi dari masalah tersebut. Dengan SAFe, kerjasama antar divisi saat menjalankan project
akan lebih efektif dan fleksibel.
Sebagai contoh, LEGO menerapkan SAFe pada 20 tim produknya. Salah satu caranya adalah dengan
mengadakan meeting antar tim setiap delapan minggu sekali.
Pada meeting tersebut, mereka saling menunjukkan hasil, menjelaskan rencana, mengukur risiko, dan
sebagainya. Artinya, semua keputusan penting diambil saat itu juga tanpa harus melalui birokrasi yang rumit.
Lean Software Development (LSD) adalah metode Agile yang mempunyai satu tujuan: mengembangkan
software dengan sumber daya sehemat mungkin. Bagaimana bisa?
Caranya, dengan merilis produk dengan fitur terbatas yang disebut dengan Minimum Viable Product (MVP).
MVP memiliki fitur standar dan terus dikembangkan sesuai feedback konsumen. Dengan begitu, pengembangan
akan menghemat sumber daya karena tak perlu menambahkan fitur yang belum tentu dibutuhkan.
Sebagai contoh, awalnya Gojek bukanlah aplikasi kaya fitur. Gojek menggunakan call center yang
menghubungkan penumpang dengan driver.
Nah, call center itulah yang merupakan MVP Gojek. Setelah pengguna bertambah dan ingin perbaikan fitur,
Gojek mulai membuat aplikasi yang dikenal saat ini.
Itulah pentingnya LSD. Bayangkan kalau Anda sudah lembur berhari-hari untuk menciptakan fitur canggih dan
ternyata konsumen tidak membutuhkannya. Membuang-buang waktu dan tenaga saja, kan?
Nah, LSD tentu sangat cocok diterapkan pada startup atau bisnis baru yang masih mempunyai sumber daya
terbatas dalam pengembangan produk.
4. Kanban
Kanban adalah metode Agile yang menggunakan visual dalam prosesnya. Hal ini membuat flow kerja Anda
lebih jelas karena bisa memantau setiap aktivitasnya.
Nah, visual yang digunakan metode Kanban disebut sebagai Kanban Board. Umumnya, Kanban Board dibagi
menjadi tiga tahap, yaitu:
Ketiga tahap di atas membuat semua anggota tim bisa mengetahui sampai mana proses pengembangannya
dengan mudah dan cepat. Misalnya, ketika mengerjakan halaman About Us.
Task pembuatan halaman About Us yang sudah selesai akan masuk ke tahap Done. Lalu, proses mengisi
konten halaman About Us yang diperlukan ternyata masih di tahap On Progress. Dan, masih ada task To Do
yaitu memasukkan link halaman About Us di homepage menunggu task on Progress selesai.
Extreme Programming (XP) adalah metode agile yang lebih berfokus ke aspek teknis pengembangan.
Tujuannya, agar software yang dihasilkan mempunyai kualitas tinggi, sehingga kemampuan tim pengembangnya
juga meningkat drastis.
Itulah kenapa metode ini disebut dengan "extreme." Sebab, untuk mencapai tujuan tersebut, tim harus bekerja
dengan extra keras dan dipaksa keluar dari zona nyaman.
Nah, agar Anda mendapat gambaran lebih jelas, berikut penjelasan proses XP yang harus Anda jalankan:
Planning — tim developer dan konsumen bertemu untuk merencanakan apa yang akan dikerjakan di
setiap iterasinya.
Designing — mulai mendesain bentuk dasar software yang sederhana.
Coding — dimulainya proses coding secara intensif oleh tim. Di sini, anggota tim juga saling me-
review coding dari anggota tim lainnya.
Testing — mengetes software berulang kali apakah berfungsi dengan baik (unit tests) dan sesuai
kebutuhan konsumen (acceptance tests)
Listening — berdiskusi dan mendengarkan feedback dari konsumen. Maka dari itu, konsumen harus
selalu tersedia on-site dalam XP.
Crystal Methodology adalah metode Agile yang lebih berfokus ke kondisi tim yang mengerjakan, alih-alih ke
proses atau tools-nya. Mulai dari interaksi tim, komunikasi, feedback, dokumentasi, dan sebagainya. Crystal
Methodology sendiri mempunyai tujuh prinsip utama untuk mendukung pengembangan software
Frequent Delivery — Anda harus sering merilis dan mengetes kode ke user. Tujuannya, agar Anda
terhindar dari menciptakan software yang tak dibutuhkan.
Reflective Improvement — Tak peduli bagaimana kualitas produk yang diciptakan, pasti ada aspek
yang bisa ditingkatkan oleh tim Anda.
Osmotic Communication — Komunikasi antar anggota tim seolah mereka berada di satu ruangan
yang sama. Artinya, semua anggota bisa mendengar dan mendapat informasi yang sama.
Personal Safety — Anggota tim bisa mengungkapkan pendapat tanpa rasa takut atau mendapat
ancaman. Baik itu tentang masalah atau menyampaikan ide baru.
Focus on Work —Tiap anggota tim sebaiknya paham dan bisa melakukan pekerjaannya dengan baik.
Jadi, mereka bisa fokus untuk bekerja sama mencapai tujuan.
Easy Access to Expert Users — Anggota tim bisa dengan mudah bertanya atau meminta pendapat
dari user yang ahli di bidangnya.
Technical Tooling — Tim sebaiknya menggunakan tools pendukung seperti test otomatis,
manajemen konfigurasi, dan integrasi rutin. Tujuannya, agar kesalahan bisa cepat dideteksi.
Dynamic Systems Development Method (DSDM) adalah metode agile yang mengutamakan keterlibatan semua
anggota tim secara berlanjut.
DSDM juga mempunyai filosofi utama yaitu, "menciptakan software yang mempunyai manfaat nyata ke
bisnis." Filosofi ini juga didukung oleh delapan prinsip yang harus dijalankan agar bisa mencapai tujuan tersebut:
Fokus pada kebutuhan bisnis — Software yang dikerjakan haruslah mempunyai manfaat yang jelas
pada bisnis.
Selesaikan tepat waktu — Pengembangan software harus mempunyai tanggal penyelesaian yang
jelas.
Kolaborasi — Tim Anda harus melibatkan semua stakeholder dari awal sampai akhir.
Kualitas — Kualitas akhir software yang akan dikerjakan harus sudah disetujui sejak awal.
Ciptakan pondasi yang kuat — Tim Anda harus menciptakan desain awal agar paham software
seperti apa yang akan dikembangkan.
Kembangkan dengan bertahap — Anda harus mampu menerapkan perubahan dari feedback pada
setiap iterasinya.
Komunikasi yang jelas — Usahakan Anda melakukan meeting yang rutin dimana setiap anggota bisa
menyampaikan masalah atau kendala.
Tunjukkan kepemimpinan — Team leader harus memastikan bahwa rencana dan informasi
perkembangan bisa diakses siapapun dengan mudah.
Seperti namanya, Feature Driven Development (FDD) adalah metode Agile yang berfokus untuk
menyelesaikan satu fitur.
Biasanya, sebelum pengembangan software dimulai Anda harus menulis daftar fitur apa saja yang hendak
dimasukkan. Lalu, Anda harus menyelesaikan satu fitur dari daftar tersebut di setiap iterasinya. Yup, mirip
dengan Scrum, bukan?
Nah, bedanya setiap iterasi pada FDD biasanya hanya berlangsung selama 2 sampai 10 hari. Sedangkan iterasi
pada Scrum umumnya dua sampai empat minggu lamanya. Maka dari itu, fitur pada FDD memiliki skala yang
kecil dan lebih spesifik agar bisa diselesaikan tepat waktu. Misalnya, buat tombol login atau ganti ikon
pencarian.
Lengkapnya, berikut lima langkah yang harus Anda jalankan saat menerapkan FDD:
Dengan Agile Methodology, Anda bisa dengan cepat menerapkan setiap feedback dari konsumen di iterasi
selanjutnya. Baik itu tentang penambahan fitur atau memperbaiki bug . Alhasil, kualitas software Anda akan
membaik karena lebih sesuai dengan keinginan konsumen.
Software dengan kualitas yang baik akan disukai konsumen. Apalagi kalau fitur software di dalamnya sesuai
dengan keinginan konsumen berkat feedback yang diberikan. Dengan begitu, mereka akan merasa lebih
dihargai sebagai konsumen.
3. Fleksibilitas Tinggi
Metode Agile memungkinkan Anda melakukan perubahan rutin sesuai feedback konsumen pada software yang
dikerjakan. Bila ada banyak feedback, Anda bisa memilih akan melakukan perubahan apa di setiap iterasinya.
Jadi, Anda tidak harus saklek mengikuti sebuah rencana dari awal sampai akhir.
Metode Agile berfokus mengembangkan software yang benar-benar dibutuhkan konsumen. Jadi, software
akan cepat selesai karena Anda tak menghabiskan waktu menambahkan banyak fitur yang belum tentu
dibutuhkan konsumen.
5. Pengembangan yang Lebih Terprediksi
Setiap Agile methodology mempunyai iterasi rutin yang fokus pada pengembangan bertahap. Jadi,
pengembangan software Anda akan lebih terprediksi, sehingga Anda bisa tahu berbagai pengeluaran dengan
baik. Efeknya, risiko bisnis akan berkurang.
Kekurangan Agile
1. Produk Akhir yang Kurang Jelas
Agile tidak membutuhkan banyak perencanaan, sehingga tim Anda akan kesulitan menentukan bentuk akhir
software-nya. Apalagi, fitur baru juga selalu ditambahkan dan membuat software Anda semakin kompleks.
Efeknya, selama kebutuhan konsumen berubah-ubah, Anda juga akan semakin sulit menentukan bentuk
akhirnya.
Agile mengharuskan semua pihak untuk selalu berinteraksi secara rutin agar software sesuai kebutuhan
konsumen. Mulai dari memberikan feedback, menerapkan perubahan, melakukan test, dan sebagainya. Ini tentu
saja membutuhkan komitmen tinggi dari setiap individu, sehingga akan menguras banyak energi dan waktu
Anda.
Dalam agile, dokumentasi dibuat dalam waktu yang singkat sehingga berujung pada hasil yang kurang lengkap.
Artinya, saat ada anggota baru di tim, ia akan kesulitan memahami berbagai hal tentang project yang berjalan.
Efeknya, akan timbul miskomunikasi yang bisa memperlambat project Anda.
2. Agile terbuka pada semua perubahan di tengah proses pengembangan perangkat lunak hingga
akhir.
3. Perangkat lunak Agile teruji kualitasnya dalam waktu minimal 2 minggu hingga 2 bulan.
4. Ada kerjasama yang baik antara pengembang dan pengusaha selama berlangsungnya proyek.
5. Agile membutuhkan personal pendukung yang bermotivasi tinggi agar proyek bisa selesai dengan
efisien dan efektif
9. Metode Agile adalah metode yang mengutamakan keunggulan teknis saat mengembangkan
perangkat lunak.
10. Kesederhanaan dianggap sangat penting bagi Agile dalam mengoptimalkan sumber daya yang
dimiliki.
11. Manajemen tim pengembang Agile sangat menentukan kebutuhan sisi arsitektur maupun
perangkat lunak
12. Masing-masing tim pengembang Agile melakukan refleksi agar dapat bekerja secara efektif dan
memiliki pola kerja yang baik.