Anda di halaman 1dari 14

Kelompok

1. Miftah
2. Faisal Fahreza
3. Dea Aurelia
Agile
4. Falia Davina
5. Rina
6. Rivaldo
7. Nurhandika
AGILE
Agile Development Methods adalah sekelompok metodologi pengembangan
perangkat lunak yang didasarkan pada prinsip-prinsip yang sama atau
pengembangan sistem jangka pendek yang memerlukan adaptasi cepat dari
pengembang terhadap perubahan dalam bentuk apapun. Agile development
methods merupakan salah satu dari Metodologi pengembangan perangkat lunak
yang digunakan dalam pengembangan perangkat lunak. Agile memiliki pengertian
bersifat cepat, ringan, bebas bergerak, dan waspada.[1] Sehingga saat membuat
perangkat lunak dengan menggunakan agile development methods diperlukan
inovasi dan responsibiliti yang baik antara tim pengembang dan klien agar kualitas
dari perangkat lunak yang dihasilkan bagus dan kelincahan dari tim seimbang.
Dari segi filosofi, perangkat lunak, agile mempunyai pengertian,bahwa  
secara aktif   dan   berkesinambungan,   antara  
pengembang dengan pelanggan harus senantiasa menjalin kerjasama dan  
komunikasi   dengan   baik.
Menyinggung   masalahAgile,   terdapat   suatu   istilah yang disebut  
denganAgility.Agilitymerupakan   suatu  
kemampuan atau "jiwa" yang harus dimiliki oleh tim pengambangan  
perangkat lunak. Kemampuan
tersebut antara lain berupa: kemampuan segera menindaklanjuti terjadinya perubahan secara efektif;  
kemampuan berkomunikasi antar stakeholders secara   efektif;   menganggap   bahwa   pelanggan  
merupakan pihak yang berada   di   dalam   tim   yang   sama ;   kemampuan   mengorganisasikan  
tim  
(memberikan   motivasi)   agar   mampu meningkatkan   performa   kinerja   tim;   secara   tepat  
waktu   dan  
berkesinambungan   dapat   men-deliverperangkat   lunak   yang   telah   dijadwalkan. Agile Process
merupakan sekelompok   aktifitas   pembangunan   perangkat   lunak   secara   iteratif   yang  
menekankan   pada   aktifitas   konstruksi   (desain   dan   koding ).Agile   Processmengeliminasi  
sebagian   besar  
waktu   untuk   melakukan   perencanaan   sistem   dan   berusaha   sebisa   mungkin   mematuhi  
jadwaldeliver sistem   yang   telah   dijanjikan. Requirements yang   dibutuhkan   secara   langsung  
di-driveoleh pelanggan itu sendiri , dan apabila terjadi perubahan terhadap requirements tersebut,
pengembang  
dituntut mampu beradaptasi dengan perubahan yang terjadi
Terdapat banyak model pendekatan yang tergolong dalam Agile Process, namun tidak semua model saya
bahas   pada tulisan   ini,   saya   hanya   menjelaskan   dua   model   yaitu :Extreme  
Programming(XP),  
Dan Adaptive   Software   Development(ASD). 
Sejarah
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.Extreme   Programming(XP)
XP merupakan suatu model yang tergolong dalam pendekatan agile yang diusulkan oleh Kent Back .  
Menurut penjelasan dia, 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.

XP   Process(Pressman,   2005)
Pada saat   perencanaan, dimulai dengan membuat semacam "user   strories " yang ditempatkan index card . User
Story( cerita ) merupakan   deskripsi   fitur-fitur   fungsional   yang   akan   disediakan   perangkat   lunak
yang   akan   dibuat. Dari   cerita - cerita   yang   telah   dibuat,   pelanggan   memberikan   semacam  
nilai   (misalnya:  prioritas).   Kemudian   tim   XP   mengkaji   semua   cerita   tadi   dan   menentukan
  rincian   biaya   serta memperkirakan   waktu   yang   dibutuhkan   untuk   membangun   sistem .  
Apabila   waktu   yang   dibutuhkan  untuk   mengimplementasikan   cerita   tersebut   lebih   dari   tiga
  minggu,   maka   tim   XP   meminta   pelanggan  memecah   cerita   tersebut   menjadi   cakupan  
yang   lebih   kecil .   Cerita - cerita   yang   telah   dibuat  dikelompokkan,   sehingga   dapat  
diperkirakan   untuk   melakukandeliverable   increments.   Meskipun   telah  dikelompokkan   dan   proses
  pembangunan   perangkat   lunak   telah   dimulai,   pelanggan   masih   bisa  menambah,   merubah,  
memecah   dan   menghapus   cerita - cerita   tersebut,   namun   tentunya   harus   sesuai  
dengan   persetujuan   bersama.
Keuntungan   dari   model   XP   antara   lain   adalah:Pertama,   dapat   merepresentasikan  
situasi   nyata   yang  sering   terjadi,   sehingga   sistem   yang   akan   dibuat   mendukung
  sebagian   besar   operasional  pengguna.Kedua,   memudahkan   pengguna   memahami  
dan   memberikan   masukan   terhadap   cerita  tersebut.Ketiga,   dapat   merepresentasikan  
fitur-fitur   fungsional   secara   bertahap   (incremental).Sedangkan   kekurangan   dari   model
  XP   antara   lain   adalah:Pertama,   cerita - cerita   yang   menunjukkan  requirements  
tersebut   kemungkinan   besar   tidak   lengkap.Kedua,user   strories lebih   fokus   kepada  
kebutuhan   fungsional   dari   pada   fokus   kepada   kebutuhan   non   fungsional.Ketiga,  
hubungan   antara  arsitektur   sistem   denganuser   strories tidak   jelas,   sehingga  
perancangan   arsitektur   juga   lebih   sulit .
2.Adaptive   Software   Development(ASD)
ASD   merupakan   suatu   model   yang   tergolong   dalam   pendekatanagile yang   diusulkan  
oleh   Jim   Highsmith .  ASD   menekankan   pada   pengorganisasian   tim   secara   mandiri,  
kolaborasi   antar-perseorangan,   dan   terus  belajar,   baik   secara   individu   maupun  
secara   tim.   ASD   menggunakantools yang   disebut   "time-boxing" yaitu   berupa   aktifitas  
yang   menentukan   jangka   waktu   tertentu   yang   dialokasikan   untuk   menyelesaikan
berbagai   macam   tugas.   Apabila   waktu   yang   ditentukan   tersebut   selesai ,   maka  
pembangunan   sistem akan   pindah   ke   tugas   berikutnya,   dengan   harapan   bahwa  
sebagian besar dari critical work telah berhasil  diselesaikan   sebelum   waktu   keseluruhan   tugas
berakhir.. Terdapat   tiga   tahapan pada model ASD,  yaitu :Speculation, Collaboration , dan Learning .
Adaptive Software Development(Pressman,2005)
Pada tahap Speculation, proyek dimulai danadaptive cycle planning diselenggarakan.Pada tahapan ini,
didefinisikan visi dan misi   pengguna   terhadap   sistem   yang   akan   dibuat,   selanjutnya
Mendefinisikan project   constraints ,misalnya:   waktu deliver.   dan   selanjutnya   mendefinisikan  
satu   set dari   requirements   yang   akan   dikerjakan   dalam   suatu cycle .   Pada   tahap
Collaboration ,   pada   tahap   ini diorganisasikan   tim   kerja   untuk   membangun   sistem .  
Direkomendasikan   menggunakan   modelJoint Application   Development(JAD).   Pada   tahap
Learning ,   terdapat   tiga   aktifitas   yaitu :   pelanggan   atau   end-user   menyediakan  
feedback   terhadap   hasil   incrementaldelivery,   tim   ASD   melakukan   review   terhadap
komponen   perangkat   lunak   untuk   memperbaiki   dan   meningkatkan   kualitas   perangkat
  lunak   yang   sedang Dibuat.
Ada beberapa langkah dalam Agile Development Methods, yaitu :

• Perencanaan, pada langkah ini pengembang dan klien membuat rencana tentang kebutuhan dari
perangkat lunak yang akan dibuat.
• Implementasi, bagian dari proses dimana programmer melakukan pengkodean perangkat lunak.
• Tes perangkat lunak, disini perangkat lunak yang telah dibuat di tes oleh bagian kontrol kualitas
agar bug yang ditemukan bisa segera diperbaiki dan kualitas perangkat lunak terjaga.
• Dokumentasi, setelah dilakukan tes perangkat lunak langkah selanjutnya yaitu proses
dokumentasi perangkat lunak untuk mempermudah proses maintenanance kedepannya.
• Deployment, yaitu proses yang dilakukan oleh penjamin kualitas untuk menguji kualitas sistem.
Setelah sistem memenuhi syarat maka perangkat lunak siap dideployment.
• Pemeliharaan, langkah terakhir yaitu pemeliharaan. Tidak ada perangkat lunak yang 100% bebas
dari bug, oleh karena itu sangatlah penting agar perangkat lunak dipelihara secara berkala
Pendekatan Agile
Meski banyak macam penerapa dari metode Agile, beberapa tahapan yang umum ada dalam sebuah metode Agile
dalam pengerjaan software development adalah sebagai berikut:
 Penemuan
Sangalatlah penting untuk mengerti visi dari seorang client saat mengerjakan suatu proyek baru. Software
development dengan metode Agile dimulai dengan sebuah riset untuk mencapai pengertian akan tujuan yang ingin
dicapai oleh client, tantangan yang ada, iklim bisnis sekarang, serta customer dan user yang ada. Tahap pertama ini
termasuk memastikan adanya pengertian yang sama diantara client, project manager, designer, developer, dan
product owner.
 Backlog Product
Setelah proses penemuan, team akan mulai bekerja bersama untuk membuat sebuah Product Backlog tingkat tinggi
yang berisi daftar fitur yang akan berguna bagi client dan user. Product owner akan bekerja sama dengan client untuk
memprioritaskan fitur dan menentukan urutan dari bagaimana fitur akan dirancang, develop, test, dan diterapkan.
Hal ini akan membantu tim untuk tetap fokus dalam memberikan fitur dengan nilai tinggi sebelum bekerja pada tugas
yang berprioritas rendah.
 Pengulangan
Setelah memastikan bahwa team mengerti visi yang dimiliki oleh client dan membuat sebuah backlog yang tepat,
team akan mulai menerapkan fitur-fitur yang telah dibuat dalam sebuah pengulangan yang diukur oleh waktu yang
dinamakan Sprints. Sprint sendiri berlansung dalam durasi 1-4 minggu, tergantung dari besar proyek dan durasi
waktu yang ada, dimana setiap Sprint akan memenuhi objektif yang ada di backlog.
 Penerusan Siklus
Sprint tambahan akan dilakukan sesuai dengan yang dibutuhkan untuk menghasilkan fitur tambahan dan
memasukan feedback yang didapat dari review sebelumnya. Setiap Sprint harus menghasilkan perkembangan dari
hasil Sprint sebelumnya dan juga menghasilkan fitur baru ke dalam sistem.
keuntungan dari Agile Development Methods :
• Menambah produktivitas tim
• Menambah kualitas dari perangkat lunak
• Menambah kepuasan dari klien
• Menghemat biaya
• Dalam Agile Software Development interaksi dan personel lebih penting dari pada proses dan alat,
software yang berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi dengan klien
lebih penting dari pada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting
daripada mengikuti rencana.
• Pada intinya, Agile Development Methods sangat membantu para pengembang perangkat lunak dalam
melakukan penyerahan produk secara tepat waktu dari suatu tahap operasional perangkat lunak yaitu
pada bagian analisa dan desain.
Beberapa ciri dari metode ini:
• Suatu proyek lebih cepat rilis.
• Perubahan requirement dapat sering dilakukan.
• Interaksi antara client dengan developer dalam menentukan langkah proyek berikutnya
• Proyek dibangun antar tim.
• Tim mengorganisasikan dirinya sendiri.
• Tim bekerja dalam kecepatan yang bisa dipertahankan.
• Tim dapat mereview tingkat keberhasilan dan kegagalan mereka.
• Desain dan implementasi disusun sesederhana mungkin.
Kelebihan metode ini:
• Proses Iterative dan Incremental.
• Requirement dapat berubah sewaktu-waktu.
• Pelacakan requirement dengan melihat Backlog produk.
• Keterlibatan user secara aktif.
• Rilis yang lebih cepat dan berkala, fungsi dirilis setiap akhir iterasi.
• Testing dilakukan setiap saat.
Kekurangan dari metode ini:
• Interaksi dengan client yang kadang terlalu berlebihan.
• Agile sulit diimplementasikan dalam proyek yang berskala besar.
• Waktu perencanaan proyek yang singkat.
• Membutuhkan manajemen tim yang terlatih.
STUDI KASUS

Pelaku industri mulai sadar bahwa untuk menyediakan produk yangmurah, berkualitas
dan cepat, perbaikan di internal perusahaan manufakturadalah tidak cukup.Peran serta
supplier, perusahaan transportasi dan jaringan distributoradalah dibutuhkan.Pada
bagian produksi
Bagian ini bertugas secara fisik melakukan transformasi dari bahanbaku, bahan
setengan jadi atau komponen menjadi produk jadi. Kegiatan produksi dalam konteks
SCM tidak harus dilakukan dalamperusahaan. Banyak perusahaan melakukan
outsourcing yaitu memindahkankegiatan produksi ke pihak subkontraktor, sementara
perusahaankonsentrasi ke kegiatan yang menjadi core competency mereka.Contoh
perusahaan sepatu Nike.
Dalam kegiatan produksi, konsep lean manufakturing yangmementingkan efisiensi dan
agile manufacturing yang menekankanpada fleksibilitas dan ketangkasan merespon
perubahan adalah duahal yang penting.

Anda mungkin juga menyukai