You are on page 1of 12

1

SISTEM INFORMASI
Agile Development

Oleh :
IWANDA KUSUMA
1510530207

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER


STMIK BUMIGORA MATARAM
TEKNIK INFORMATIKA
2016

PRAKATA
Agile development erat kaitannya dengan metodologi dan proses
pengembangan perangkat lunak dimana mengutamakan keterlibatan pengguna.
Kolaborasi yang baik dengan klien saat proses pembuatan perangkat lunak
sangatlah penting ketika menggunakan agile development. Klien menjadi
bagian dari tim pengembangan perangkat lunak karena pada dasarnya fungsifungsi dari perangkat lunak yang dikembangkan harus terus menerus dibicaraka,
diimprovisasi dan disesuaikan dengan keinginan klien. Agile memiliki
pengertian

bersifat

pengembangan

tangkas,

perangkat

cepat,

lunak

ringan,

dengan

bebas

bergerak,

menggunakan

metode

dalam
agile

development dibutuhkan ketangkasan, inovasi, fleksibilitas dan tanggung jawab


oleh tim pengembang dan klien dengan tujuan tim dapat bekerja seimbang,
perangkat lunak yang dihasilkan memiliki kualitas yang baik, serta sesuai
dengan keinginan klien. Praktisi pengembang perangkat lunak pada umumnya
sering menggunakan agile development dalam pengembangan perangkat
lunaknya.

Agile Development | 2

A. Pengertian Agile Development


Agile development erat kaitannya dengan metodologi dan proses
pengembangan perangkat lunak, metodologi pengembangan perangkat lunak
sendiri adalah sebuah metodologi yang digunakan untuk membuat struktur,
rencana, dan kontrol pengerjaan suatu proyek sedangkan Proses pengembangan
perangkat lunak adalah model-model dan metodologi yang digunakan untuk
mengembangkan suatu perangkat lunak.
Agility for a software development organization, means the ability to adapt
and react quick and effectively and appropriately to changes in its environment
and to demands imposed by this environment (Abrahamsson, P., Salo, O.,
Ronkainen, J., & Warsta, J., 2002). Agile Development Methods secara singkat
dapat diartikan sebagai 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.
Agility dalam

pengembangan

perangkat

lunak

diartikan

sebagai

kemampuan untuk beradaptasi dan bereaksi secara cepat dan efektif terhadap
perubahan serta meminimalisir dampak terhadap perangkat lunak yang sedang
dibangun. Kolaborasi antara tim pengembang dengan klien menjadi hal yang
penting, klien dianggap sebagai anggota tim. Fleksibilitas di tawarkan kepada
klien kaitannya dengan kesadaran dan pengetahuan pelanggan tentang apa yang
dia inginkan.
Agile development juga dapat didefinisakan dalam empat nilai atau sring
disebut sebagai agile manifesto, diantaranya :
1. Interaksi dan personal, dibutuhkan interaksi yang baik antara anggota atau
personal pengembang karena tanpa adanya hal tersebut pengembangan
perangkat lunak tidak akan berjalan dengan baik
2. Perangkat lunak yang berjalan, hal ini berfungsi pada saat melakukan
meeting (demonstrasi) kepada klien. Perangkat lunak yang masih dalam
proses akan lebih berguna dari sekedar dokumentasi

Agile Development | 3

3. Kolaborasi dengan klien, ini merupakan ciri dari agile development dimana
mengutamakan keterlibatan dan kolaborasi dari klien
4. Respon terhadap perubahan, sesuai dengan namanya agile development
berfokus terhadap kecepatan respon tim ketika klien menginginkan
perubahan saat proses pembuatan perangkat lunak

Gambar 1 : Diagram Agile Development Method

B. Model Proses atau metode-metode pada Agile Development


Terdapat 20 model proses atau metode pada agile development, dalam makalah
ini hanya akan dibahas beberapa metode yang diulas dalam jurnal internasional,
diantaranya : a. Extreme Programming
Ektreme programming merupakan metode pada agile development yang
sering digunakan. XP (Extreme progreamming) didasarkan pada :
1. Communication
2. Simplicity

Agile Development | 4

3. Feedback 4. Courage dalam extreme programin pelanggan akan


memberikan kebutuhan mereka dalam bentuk cerita yang pada dasarnya
bersifat non-teknis. Cerita dari pelanggan selanjutnya akan diubah
menjadi tugas, dalam pembangunan perangkat lunak akan berlangsung
iterasi kecil dimana setiap iterasi sekelompok tugas akan dibahas.
Pelanggan akan terlibat untuk memperoleh feed back yang cepat.
Pengujian akan di lakukan dalam bentuk unit test dan accetance test.
b. Adaptive Software Development (ASD)
Teknik atau metode ini biasanya digunakan untuk membangun software dan
sistem yang kompleks. Filosofi yang mendasari adaptive software
development adalah kolaborasi manusia dan tim yang mengatur diri sendiri.
Sistem kerja adaptive software development adalah collaboration and
learning.
Collaboration : bermotivasi tinggi untuk bekerja sama, saling melengkapi,
rela

membantu,

kerja

keras,

terampil

di

bidangnya,

dan

mengkomunikasikan masalah untuk menyelesikan masalah secara efektif.


Learning : tim developer sering merasa sudah tahu semua hal tentang
proyek, padahal tidak selamanya begitu. Karena itu proses ini membuat
mereka belajar lebih tentang proyek melalui tiga cara:
1. Fokus grup, klien dan pengguna memberi masukan terhadap perangkat
lunak.
2. Formal Technique Reviews, tim ASD lengkap melakukan review.
3. Postmortems, tim ASD melakukan instrospeksi pada kinerja dan proses.
c. Scrum
Scrum merupakan salah satu development method yang paling populer.
Kegiatan pada metode ini diantaranya :
1. Sprint Planning
2. Sprint Review
3. Scrum Meeting
Scrum Master memfasilitasi harian Pertemuan Sprint (Rapat perencanaan
pembuatan perangkat lunak dilakukan 2 - 4 minggu sekali) dengan pemilik
produk dan tim, di mana di setiap individu akan menjelaskan status tugas

Agile Development | 5

mereka saat itu dan apa yang akan mereka lakukan hari berikutnya. Sebuah
Sprint review biasanya membentang sekitar dua sampai empat minggu,
dimana setiap tim harus memiliki perangkat lunak bekerja.
d. Dynamic Systems Development Method (DSDM)
Metode DSDM merupakan perpanjangan dari Rapid Application
Development. DSDM menekankan pada keterlibatan terus pelanggan.
DSDM adalah metode yang lebih cocok untuk proyek-proyek yang
memiliki keterbatasan waktu dan anggaran. Siklus hidup DSDM Project
memiliki 4 tahap
1. Studi
2. Fungsional Model Iterasi
3. Desain dan Build
4. Pelaksanaan

DSDM memberikan pendekatan berulang tambahan dan juga memberikan


beberapa teknik inti yang disebut time boxing, Prototyping, Pengujian,
Workshop dll. Tujuan utama dari metode DSDM adalah untuk menjaga
Proyek serta mengendalikan waktu dan anggaran.
e. Crystal Methods
Crystal Method dimulai sebelum agile Manifesto dan merupakan salah satu
pendiri metodologi tangkas. Metode ini memiliki 3 Prioritas dan 3 Properti,
diantaranya :
1. prioritas: Keselamatan, Efisiensi, Habitability
2. properti: Frequent Delivery, Peningkatan Reflektif, Komunikasi tertutup
crystal method adalah keluarga dari Adaptive, Ultra-light dan Stretch-tofit
metodologi dan lebih difokuskan pada Orang daripada proses atau arsitektur
f. Feature Driven Development (FDD)
Feature driven development merupakan sebuah model pengembangan
perangkat lunak yang berdasarkan pada fitur yang akan dibuat. Keuntungan
dari metode feature driven development :

Agile Development | 6

1. User dapat menggambarkan dengan mudah bentuk sistem yang akan


dibuat.
2. Dapat diorganisasikan atau diatur ke dalam kelompok bisnis sesuai
hirarki yang ada.
3. Desain dan kode lebih mudah diperiksa secara efektif.
4. Perancangan proyek, biaya pembuatan dan jadwal rilis ditentukan oleh
fiturnya

C. Prinsip Agile Development


Agile development menetapkan dua belas prinsip untuk memandu/mengontrol
metode-metode pada agile development yang berbeda-beda. Agar suatu tim
berhasil dalam menerapkan agile development methods, maka tim tersebut
harus mengikuti dua belas prinsip tersebut. Keduabelas prinsip itu diantaranya:
1. Prioritas utama proses agile adalah memberikan kepuasan terhadap
pelanggan dengan penyampaian hasil perangkat lunak yang bernilai secara
cepat dan berkesinambungan
2. Menyambut

perubahan

kebutuhan,

walaupun

terlambat

dalam

pengembangan perangkat lunak. Proses Agile memanfaatkan perubahan


untuk keuntungan kompetitif klien.
3. Menghasilkan perangkat lunak yang bekerja secara rutin, dari jangka waktu
beberapa minggu sampai beberapa bulan, dengan preferensi kepada jangka
waktu yang lebih pendek.
4. Rekan bisnis dan pengembang perangkat lunak harus bekerja sama tiap hari
sepanjang proyek.
5. Kembangkan proyek di sekitar individual yang termotivasi. Berikan mereka
lingkungan dan dukungan yang mereka butuhkan, dan percayai mereka
untuk menyelesaikan pekerjaan dengan baik.

Agile Development | 7

6. Metode yang paling efisien dan efektif untuk menyampaikan informasi dari
dan dalam tim pengembang perangkat lunak adalah dengan komunikasi
secara langsung.
7. Perangkat lunak yang bekerja adalah ukuran utama kemajuan.
8. Proses agile menggalakkan pengembangan berkelanjutan. Sponsorsponsor,
pengembang-pengembang,

dan

pengguna-pengguna

dapat

mempertahankan kecepatan tetap secara berkelanjutan.


9. Perhatian yang berkesinambungan terhadap keunggulan teknis dan
rancangan yang baik meningkatkan Agility.
10. Kesederhanaan (memaksimalkan sumber daya yang tersedia) adalah hal
yang amat penting.
11. Arsitektur, kebutuhan, dan rancangan perangkat lunak terbaik muncul dari
tim yang yang dapat mengorganisir diri sendiri.
12. Secara berkala, tim pengembang berefleksi tentang bagaimana untuk
menjadi lebih efektif, kemudian menyesuaikan dan menyelaraskan
kebiasaan bekerja mereka.

Prinsip-prinsip tersebut juga merupakan bentuk usaha untuk menyiasati tiga


masalah yang biasanya dihadapi saat proses pembuatan perangkat lunak,
diantaranya :
1. Kebutuhan perangkat lunak sulit diprediksi dari awal dan selalu akan
berubah. Selain itu, prioritas klien juga sering berubah seiring berjalannya
proyek.
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.

Agile Development | 8

D. Tujuan Agile Development


a. High-value & working App system, dengan menggunakan agile
development methods akan menghasilkan perangkat lunak yang mempunyai
nilai jual yang tinggi, biaya pembuatan bisa di tekan dan perangkat lunak
bisa berjalan dengan baik.
b. Collaboration, dengan menggunakan agile, tim pengembang diharuskan
sering bertemu untuk membahas perkembangan proyek dan feedback dari
klien yang nantinya akan ditambahkan dalam perangkat lunak, sehingga tim
bisa berkolaborasi dengan maksimal.
c. Iterative, incremental, evolutionary, agile adalah metode pengembangan
perangkat lunak yang iteratif, selalu mengalami perubahan, dan evolusioner.
d. Cost control & value-driven development, salah satu tujuan dari agile yaitu
pengembangan perangkat lunak disesuaikan dengan kebutuhan pengguna,
tim bisa dengan cepat merespon kebutuhan yang diinginkan pengguna
sehingga waktu dan biaya pembuatan perangkat lunak bisa dikontrol.
e. High-quality production, walaupun biaya pembuatan perangkat lunak bisa
ditekan dan proses pembuatan bisa dipercepat , tetapi kualitas dari perangkat
lunak yang dibuat harus tetap dijaga.
f. Flexible & risk management
g. Self-organizing, self-managing teams, rekrut orang terbaik, beri dan dukung
kebutuhan mereka lalu biarkan mereka bekerja. Itulah perbedaan agile dan
SDM lainnya. Dengan agile, developer dapat memanajemen dirinya sendiri,
sedangkan manajer tim hanya bertugas mengkolaborasikan developer
perangkat lunak dengan klien. Sehingga terciptalah tim yang solid.
E. Keuntungan dan Permasalahan Dalam Agile Development
a. Keuntungan menggunakan metode agile development
1. Meningkatkan komunikasi dan koordinasi antar anggota tim
2. Pengembang membuat demo yang dapat rilis setiap beberapa minggu
bukannya setiap beberapa bulan atau tahun (quick release).
3. Lebih dinamis serta mendukung real-time tracking
4. Reasonable Process

Agile Development | 9

5. Kepuasan klien dan kualitas perangkat lunak terjamin


6. Fleksibilitas desain
b. Kekurangan atau permasalahan pada agile development
1. Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
2. Tidak cocok dalam skala tim yang besar.
3. Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.
4. Kekhawatiran saat berkoordinasi dengan tim lain

Agile Development | 10

DAFTAR LAMAN

https://en.wikipedia.org/wiki/Agile_software_development
https://www.academia.edu/23009791/Agile_software_development

Agile Development | 11

DAFTAR PUSTAKA

Subhas misra, Vinod kumar and Uma kumar, Kamel fantazy, Mahmud akhter.2001.Agile software development practices: evolution, principles, and
criticisms
H. Frank Cervone. (2011). Understanding agile project management methods
using Scrum. OCLC Systems & Services: International digital library
perspectives, Vol. 27 Iss 1 pp. 18-22
Kiran Jammalamadaka, V Rama Krishna.2013. Agile Software Development And
Challenges. IJRET : International Journal of Research in Engineering and
Technology
Subhas C. Misra dan Virender Singh.2013.Conceptualizing open agile software
development life cycle (OASDLC) model. IJQRM : International Journal of
Quality & Reliability Management.
Gaurav Kumar, Pradeep Kumar Bhatia.2012. Impact of Agile Methodology on
Software Development Process. IJTEE : International Journal of Computer
Technology and Electronics Engineering. Volume 2, issue 4
Abrahamsson, P., Salo, O., Ronkainen, J., & Warsta, J. (2002). Agile Software
Development Methods: Review and Analysis. VTT Publications

Agile Development | 12

You might also like