Anda di halaman 1dari 8

Model 

incremental adalah metode pengembangan perangkat lunak di mana produk dirancang,


diimplementasikan, dan diuji secara bertahap hingga produk selesai. Model ini menggabungkan
elemen-elemen model waterfall dengan filosofi iteratif dari prototyping. Ada banyak situasi di
mana kebutuhan perangkat lunak awal didefinisikan dengan cukup baik, tetapi ruang lingkup
keseluruhan dari upaya pengembangan menghalangi proses yang murni linier. Selain itu,
mungkin ada kebutuhan yang mendesak untuk menyediakan seperangkat fungsionalitas
perangkat lunak yang terbatas kepada pengguna dengan cepat dan kemudian memperbaiki dan
memperluas fungsionalitas tersebut dalam rilis perangkat lunak yang lebih baru. Dalam kasus
seperti itu, model yang dibutuhkan adalah model incremental.

Model incremental menggabungkan elemen aliran proses linier dan paralel.


Model incremental menerapkan urutan linier seiring berjalannya waktu kalender. Setiap urutan
linier menghasilkan “increment” yang dapat disampaikan dari perangkat lunak[ dengan cara yang
serupa dengan kenaikan yang dihasilkan oleh aliran proses evolusi. Misalnya, perangkat lunak
pengolah kata yang dikembangkan menggunakan model incremental dapat memberikan fungsi
manajemen file dasar, pengeditan, dan produksi dokumen dalam increment pertama;
kemampuan edit dan produksi dokumen yang lebih canggih dalam increment kedua; pengejaan
dan tata bahasa di increment ketiga; dan kemampuan tata letak halaman tingkat lanjut
di increment keempat. Perlu dicatat bahwa aliran proses untuk setiap increment dapat
memasukkan paradigma prototyping.

Ketika model incremental digunakan, increment pertama sering kali merupakan produk inti.


Artinya, kebutuhan dasar ditangani tetapi banyak fitur tambahan (beberapa diketahui, yang lain
tidak diketahui) tetap tidak tersamapaikan. Produk inti digunakan oleh pelanggan (atau menjalani
evaluasi terperinci). Sebagai hasil dari penggunaan dan / atau evaluasi, sebuah rencana
dikembangkan untuk increment selanjutnya. Rencana tersebut membahas modifikasi produk inti
untuk lebih memenuhi kebutuhan pelanggan dan penyampaian fitur dan fungsionalitas
tambahan. Proses ini diulang setelah penyampaian setiap increment, sampai produk lengkap
diproduksi.

Model proses incremental berfokus pada penyampaian produk operasional dengan


setiap increment. Increment awal adalah versi yang dilepaskan dari produk akhir, tetapi memang
menyediakan kemampuan yang dapat melayani pengguna dan juga menyediakan platform untuk
evaluasi oleh pengguna. Pengembangan tambahan sangat berguna ketika staf tidak tersedia
untuk implementasi lengkap dengan batas waktu bisnis yang telah ditetapkan untuk
proyek. Increment awal dapat diimplementasikan dengan lebih sedikit orang. Jika produk inti
diterima dengan baik, maka staf tambahan (jika diperlukan) dapat ditambahkan untuk
mengimplementasikan increment berikutnya. Selain itu, increment dapat direncanakan untuk
mengelola risiko teknis. Sebagai contoh, sistem utama mungkin memerlukan
ketersediaan perangkat keras baru yang sedang dikembangkan dan yang tanggal
penyampaiannya tidak pasti. Dimungkinkan untuk merencanakan increment awal dengan cara
menghindari penggunaan perangkat keras ini, dengan demikian memungkinkan fungsionalitas
parsial disampaikan kepada pengguna akhir tanpa penundaan yang berlebihan.
MODEL INCREMENTAL

Tahapan ini berlaku umum untuk semua model.

Komunikasi (communication) : membantu memahami tujuan.

1. Perencanaan (planning): diperlukan karena banyak orang (tim perangkat lunak) bekerja


pada proyek yang sama tetapi fungsinya berbeda pada saat yang sama.
2. Pemodelan (modelling): melibatkan pemodelan bisnis, pemodelan data, dan pemodelan
proses.
3. Konstruksi (construction): melibatkan penggunaan kembali komponen perangkat lunak
dan kode otomatis (proses pembuatan program).
4. Penyebaran (deployment): integrasi semua increment.

Kelebihan dan kekurangan model incremental


Kelebihan-kelebihan dari model incremental, yaitu menghasilkan perangkat lunak yang berfungsi
dengan cepat dan lebih awal selama siklus hidup perangkat lunak, lebih fleksibel dan lebih
murah untuk mengubah ruang lingkup dan kebutuhan, sehingga menurunkan biaya pengiriman
awal. Selanjuntnya model ini lebih mudah untuk melakukan pengujjian dan debug selama iterasi
yang lebih kecil. Kemudian pelanggan dapat merespons masing-masing build. Yang terakhir
adanya kemudahan untuk mengelola risiko karena potongan berisiko diidentifikasi dan ditangani
selama iterasi. Adapun kelemahan dari model incremental ini, antara lain membutuhkan desain
dan rencana yang baik, membutuhkan definisi keseluruhan sistem yang lengkap sebelum
dipecah menjadi beberapa increment, dan total biayanya lebih banyak dari pada model waterfall.
Extreme programming atau sering disingkat XP merupakan salah satu
metode pengembangan perangkat lunak yang berbasis Agile.
Artinya extreme programming merupakan satu dari sekian banyak
metodologi yang dapat digunakan untuk menerapkan prinsip
pengembangan perangkat lunak berbasis agile. Agile sendiri adalah prinsip
pengembangan perangkat lunak yang mengutamakan adaptasi terhadap
perubahan, mementingkan fungsional aplikasi dari pada dokumentasi, dan
prinsip-prinsip agile lainnya.

Terdapat banyak metodologi atau kerangka kerja yang dapat digunakan


untuk mengembangkan perangkat lunak. Namun, hari ini kebanyakan
metode pengembangan perangkat lunak yang digunakan adalah metode-
metode yang berasaskan agile, seperti Scrum, Kanban, dan extreme
programming. Hal ini karena Agile dianggap sebagai prinsip
pengembangan yang disruptif yang berhasil menggantikan metode-
metode yang telah mapan sebelumnya seperti metode waterfall.

Extreme programming merupakan salah satu metode agile yang cukup


banyak digunakan, terutama pada proyek pengembangan aplikasi dalam
skala kecil. Hal ini karena metode ini terhitung cukup sederhana dan
ringkas namun tetap mengaplikasikan berbagai prinsip agile yang
dianggap break through dalam meningkatkan efisiensi serta efektivitas
pengerjaan pengembangan perangkat lunak. Metode extreme
programming sangat sesuai jika dihadapkan dengan requirement yang
tidak jelas maupun terjadi perubahan-perubahan yang sangat cepat
(Supriyatna, 2018).
Definisi Extreme Programming

Extreme programming adalah salah satu metodologi dari pendekatan agile


software Development yang berfokus pada coding sebagai aktivitas utama
disemua tahap pada siklus pengembangan yang lebih responsif terhadap
kebutuhan customer dan membangun suatu software dengan kualitas yang
lebih baik pula.

Menurut Pratama (2017, hlm. 93) Extreme Programming (XP) adalah sebuah
pendekatan atau model pengembangan perangkat lunak yang mencoba
menyederhanakan berbagai tahapan dalam proses pengembangan
tersebut sehingga menjadi lebih adaptif dan fleksibel.

Sementara itu, menurut Prabowo (2013, hlm. 2) Extreme programming


merupakan sebuah proses rekayasa perangkat lunak yang cenderung
menggunakan pendekatan berorientasi objek dan sasaran dari metode ini
adalah tim yang dibentuk dalam skala kecil sampai medium serta metode
ini juga sesuai jika tim dihadapkan dengan requirement yang tidak jelas
maupun terjadi perubahan-perubahan requirement yang sangat cepat.

Dapat tarik simpulan bahwa metode extreme programming (XP)


merupakan metode pengembangan perangkat lunak yang ringan dan
mengimplementasikan agile yang lebih cenderung menggunakan
pendekatan berorientasi objek serta lebih mengedepankan proses
pengembangan yang lebih responsif terhadap kebutuhan pengguna.

Pertanyaannya adalah objek apa yang dimaksud? Seperti apa sebetulnya


paradigma berorientasi objek dalam extreme programming? Berikut adalah
pemarannya.
Nilai-nilai utama dari extreme programming adalah Communications,
courage, simplicity, dan feedback yang akan dijelaskan di bawah ini.

1. Komunikasi (komunikasi)
XP memfokuskan pada hubungan komunikasi yang baik antar anggota tim.
Par aanggota tim harus membangun saling pengertian, berbagi
pengetahuan, serta keterampilan dalam mengembangkan perangkat lunak.
2. Courage (Keberanian)
Anggota tim dan penanggungjawab pengembang perangkat lunak harus
selalu memiliki keyakinan dan integritas dalam melakukan tugasnya.
Integritas haruslah dijaga bahkan dalam kondisi adanya tekanan dari situasi
sekitar (termasuk klien/pengguna).
3. Simplicity (Kesederhanaan)
Lakukan segalanya dengan sederhana. Hal ini merupakan salah satu nilai
utama XP, yakni menggunakan metode yang pendek dan simpel. Misalnya,
jangan terlalu rumit dalam membuat desain, hilangkan fitur yang tidak
memiliki nilai guna.
4. Feedback (Umpan balik)
Selalu berikan feedback kepada sesama anggota tim, maupun pihak-pihak
lain yang terlibat dalam pengembangan perangkat lunak. Utarakan selalu
pikiran kita dan diskusikan berbagai kesalahan yang muncul selama proses
pengembangan (Prabowo, 2020, hlm. 77).
Tahapan Extreme Programming

Terdapat empat kerangka kegiatan dalam tahapan pelaksanaan extreme


programming. Empat kerangka kegiatan dari tahapan extreme
programming adalah sebagai berikut.

1. Planning
Kegiatan planning atau perencanaan dimulai dengan mengumpulkan
berbagai requirement dari perangkat yang akan dikembangkan. Hal ini
dilakukan agar anggota tim memahami konteks bisnis perangkat lunak dan
untuk mendapatkan pandangan umum terhadap output dan fungsi utama
dari perangkat lunak. Hal ini akan mengarah ke penciptaan suatu “story”
atau kisah kebutuhan pengguna untuk mendeskripsikan ouput, fitur, dan
fungsi dari aplikasi yang akan dikembangkan.
2. Design
Proses desain pada metodologi XP mengikuti prinsip KIS (keep it simple).
Desain yang sederhana selalu dipilih dibandingkan dengan desain yang
kompleks. Berbagai desain fungsi tambahan yang tidak diperlukan namun
developer merasa nantinya akan diminta oleh pengguna tidak boleh dibuat.
Hal ini karena XP menerapkan penggunaan CRC (class responsibility card)
sebagai mekanisme yang efektif untuk memikirkan mengenai software
dalam konteks berorientasi objek. CRC akan mengidentifikasi dan
mengorganisasikan class berorientasi objek yang sesuai dengan
peningkatan software. Artinya, berbagai desain fitur tambahan tersebut
lebih dikembangkan ketika memang dibutuhkan (ketika diminta). Jika
terjadi masalah dalam pembuatan desain story pengguna, maka dalam XP
akan direkomendasikan suatu solusi yang disebut sebagai spike solution.
Spike solution adalah pembuatan segera suatu prototype operasional dari
sebagian desain yang mengalami masalah.
3. Coding
Setelah story pengguna dan desain kerangka kerja wal selesai, tim XP tidak
akan segera melanjutkan ke tahap coding, melainkan mengembangkan
serangkaian tes unit yang akan dijalankan pada setiap story yang akan
dibuat. Saat unit tes telah dibuat, developer akan lebih fokus pada apa yang
harus dibuat untuk melewati tes tersebut. XP merekomendasikan konsep
Pair Programming atau pemrograman berpasangan, yakni dua orang
bekerja bersama dalam penulisan kode atau program untuk satu story. Hal
ini memberikan kesempatan lebih besar pada pemecahan masalah yang
lebih cepat karena kolaborasi dari dua programmer yang menulis coding
yang sama.
4. Testing
Setelah tahapan pengkodean selesai maka dilakukan tahapan pengujian
sistem untuk mengetahui berbagai kesalahan yang timbul saat aplikasi
sedang berjalan serta untuk memastikan apakah perangkat lunak yang
dibangun telah sesuai dengan story kebutuhan pengguna.

Kelebihan dan Kekurangan Metode XP

Berikut adalah beberapa kelebihan dan kekurangan dari metode extreme


programming.

Kelebihan

1. Jika pair programming dilakukan, maka developer berpotensi untuk


didampingi langsung oleh pihak klien dalam melakukan coding dan unit
testing, sehingga klien terlibat langsung serta menghilangkan
miskomunikasi antara klien (pengguna) dan programmer.
2. Karena mengutamakan kesederhanaan, maka metodologi XP akan
membangun komunikasi yang lebih lancar serta menyederhanakan
penjelasan-penjelasan yang dibutuhkan dalam proses pengerjaan
perangkat lunak.
3. Setiap feedback langsung ditanggapi dengan melakukan test, sehingga
tidak akan terjadi pembengkakan tenaga, biaya, dan waktu yang terbuang
percuma karena kesalahan penangkapan feedback dari klien.
4. Memberikan banyak ide baru dan keberanian untuk mencobanya.

Kekurangan

1. Developer harus selalu siap dengan perubahan, karena xp merupakan


metodologi yang selalu menerima perubahan, termasuk perubahan yang
tiba-tiba di waktu yang terbatas.
2. Tidak dapat membuat kode yang detail sedari awal karena prinsip simplicity
memberikan anjuran untuk melakukan apa yang diperlukan pada saat itu
juga, tidak boleh lebih awal atau lebih lambat.

Anda mungkin juga menyukai