Abstract
-60-
Global Extreme Prorgamming Framework Untuk Pengembangan Sistem Software
Enginering Dengan Pendekatan Metode Extreme Programming (Novita K N)
kebutuhan sehari-hari. Tidak hanya personal Selain hal tersebut developer juga
computer (PC) dan laptop yang dituntut untuk dalam mengakomodasi
menggunakan software namun phonecell, requests and requirements (permintaan dan
iphone, gadgets, dan banyak juga produk persyaratan) clients yang cenderung
layanan jasa seperti e-banking, berubah-ubah. Dengan kemudahan
telemarketing, dan banyak lainnya yang mendapatkan referensi dan informasi
menggunakan produk software. mengenai kemajuan teknologi apa saja yang
Di era internet apa saja menjadi sedang berkembang, clients dapat
mudah, salah satunya memberikan mengajukan perubahan requests and
kemudahan bagi users untuk mendapatkan requirements sebelum projek yang sedang
informasi mengenai software sesuai dengan dikerjakan selesai. Hal tersebut tentu
yang dibutuhkan. Beragam produk software menjadi masalah yang tidak sederhana baik
ditawarkan melalui internet, baik itu dalam developing process maupun terhadap
berbayar ataupun free baik melalui legal kinerja team yang juga dipaksa harus
sites maupun illegal sites. Fenomena berubah mengikuti perubahan yang diajukan
tersebut menjadi tantangan bagi pelaku clients.
software engineering baik itu software
Untuk mengatasi permasalahan
developer, programmer, engineer untuk
iklim requests and requirements dari clients
lebih kreatif dengan menciptakan produk
yang cenderung berubah (sesuai dengan
teknologi yang tepat guna bagi clients dan
kebutuhan dan perkembangan teknologi
users.
informasi yang diakses) kapan saja sebelum
Tingginya kebutuhan akan software projek selesai dikerjakan dibutuhkan satu
tersebut menjadi kendala bagi software metode pengembangan sistem yang dinamis,
developer karena jumlah antara pengguna peka terhadap perubahan untuk mengatasi
dalam hal ini clients dan users tidak masalah tersebut.
diimbangi dengan jumlah developer yang
Saat ini sudah dikenal metode
memadai. Sehingga disini developer dituntut
pengembanagan sistem yang digunakan
untuk bekerja dengan team yang cepat dan
dalam software development diantaranya
tanggap terhadap kebutuhan clients dan
dengan metode konvensional SDLC seperti
users agar projek
waterfall dan RAD, eXtreme
-61-
Majalah Ilmiah INFORMATIKA Vol. 3 No. 3, Sept. 2012
Pada dasarnya metode SDLC masih Dalam artikel ini akan dianalisa
relevan dengan kondisi pengembangan bagaiman penerapan metode software
sistem saat ini. Namun ada kalanya metode development dengan framework Global
SDLC mengalami kendala seperti paralyze eXtreme Programming dengan pendekatan
analisis, throw away design, dan unupdated metode eXtreme Programming dapat
-62-
Global Extreme Prorgamming Framework Untuk Pengembangan Sistem Software
Enginering Dengan Pendekatan Metode Extreme Programming (Novita K N)
-63-
Majalah Ilmiah INFORMATIKA Vol. 3 No. 3, Sept. 2012
Gambar 1. Systems Developments Life dalam hal ini users sehingga produk
Cycles (SDLC) [ 5 ] software yang dihasilkan benar-benar tepat
guna secara effektif dan effisien
mengakomodasi kebutuhan client.
projek engineers tidak asal mengerjakan sitem yang akan digunakan agar sesuai
tanpa ada konsep dan langkah kerja yang dengan kebutuhan client akan lebih bisa
jelas. Apabila kondisi asal mengerjakan ini banyak membantu engineers untuk membagi
dibiarkan yang ada pengerjaan projek tugas pada masing-masing anggota teamnya.
menjadi kemana-mana (bisa jadi keluar dari Sebagai bahan acuan untuk perbandingan,
konteks kebutuhan users) dan tidak Table 1 berikut ini merupakan paparan
terstruktur. Yang pada akhirnya apa yang
perbandingan pendekatan metodologi oleh
dibutuhkan oleh users tidak tercover dan Post and Anderson [ 6 ],
terakomodasi oleh produk software yang
dihasilkan.
-64-
Global Extreme Prorgamming Framework Untuk Pengembangan Sistem Software
Enginering Dengan Pendekatan Metode Extreme Programming (Novita K N)
Open
SDLC RAD Objects JAD Prototyping End User
Source
-65-
Majalah Ilmiah INFORMATIKA Vol. 3 No. 3, Sept. 2012
-66-
Global Extreme Prorgamming Framework Untuk Pengembangan Sistem Software
Enginering Dengan Pendekatan Metode Extreme Programming (Novita K N)
adalah SCRUM, eXtreme Programming proyek dengan jumlah anggota tim tidak
(XP). terlalu banyak (sekitar 10-20 orang) dan
berada pada lokasi yang sama.
Selengkapnya mengenai eXtreme
Nilai-nilai yang mendasari XP pada
Programming dijelaskan pada bab
setiap tahapan proses pengembangan
berikutnya.
perangkat lunak diuraikan sebagai berikut:
-67-
Majalah Ilmiah INFORMATIKA Vol. 3 No. 3, Sept. 2012
5. Quality Work
Pada prinsipnya segala sesuatu yang
dikerjakan diharapkan dapat meghasilkan
produk dan hasil dengan kualitas baik. Oleh
karena itu pula diberlakukan juga kualitas
kerja yang baik dan optimal.
-68-
Global Extreme Prorgamming Framework Untuk Pengembangan Sistem Software
Enginering Dengan Pendekatan Metode Extreme Programming (Novita K N)
-69-
Majalah Ilmiah INFORMATIKA Vol. 3 No. 3, Sept. 2012
-70-
Global Extreme Prorgamming Framework Untuk Pengembangan Sistem Software
Enginering Dengan Pendekatan Metode Extreme Programming (Novita K N)
-71-
Majalah Ilmiah INFORMATIKA Vol. 3 No. 3, Sept. 2012
-72-
Global Extreme Prorgamming Framework Untuk Pengembangan Sistem Software
Enginering Dengan Pendekatan Metode Extreme Programming (Novita K N)
-73-
Majalah Ilmiah INFORMATIKA Vol. 3 No. 3, Sept. 2012
-74-
Global Extreme Prorgamming Framework Untuk Pengembangan Sistem Software
Enginering Dengan Pendekatan Metode Extreme Programming (Novita K N)
Phase
Feasibility
Is the project GXP is not suitable
Project Start appropriate Conditions
checklist for this project
with GXP?
Configuration
Choosing the
GXP Yes appropriates
classification
Preparation
Learning the GXP
Preparing the
composing the GXP values, principles,
infrastructures and
team practices, and
tools
artifacs
Execution
Estimating
project
Executing
GXP
GXP is not suitable
Need
through its for this project
refinement?
SDLC
-75-
Majalah Ilmiah INFORMATIKA Vol. 3 No. 3, Sept. 2012
Model ini sesuai untuk kondisi dimana onsite berada di satu lokasi dengan
team work dengan client berada client.
ditempat yang terpisah secara
Karakteristik dari model ini antara
geografis, sebagaimana kondisi
lain:
geografis Indonesia yang tepisah antar
pulau. Karakteristik REM antara lain: - Managemen team tetap berada pada
- Angggota team tidak banyak (kurang satu integritas, meskipun sebagian
dari enam) team berada di lokasi client.
- Urgensi pengerjaan projek tinggi - Pada umumnya sakala projek
- Managemen team tetap terintegrasi, menengah dan cukup memiliki nilai
meskipun berada di tempat yang bisnis.
berbeda - Jumlah team di atas enam orang
- Jangka waktu pengerjaan projek - Projek yang dikerjakan mencakup
antara satu hingga tiga bulan satu atau lebih sistem pada client
- Jangka waktu pengerjaan projek
Dengan karakteristik seperti di atas
antara tiga hingga dua belas bulan.
team diharuskan bekerja dengan iterasi
pendek (antara 1-2 minggu), dengan Pada model ini team harus lebih detil
demikian setiap 1-2 minggu sekali dalam menentukan desain, analisa, dan
team menyampaikan perkembangan arsitektur sistem yang akan dibangun.
projek kepada client. Sehingga Iterasi pada model ini sekitar 4-8
dibutuhkan satu orang sebagai minggu sekali. Model seperti ini biasa
penghubung yang selau disebut juga hub to hub model
mengkomunikasikan kondisi projek.
3. Global Execution Model (GEM)
Model ini juga dikenal dengan istilah
hub to spoke. GEM memungkinkan untuk kondisi
team work yang terpisah secara
2. Virtual Execution Model (VEM)
geografis, berbeda negara sehingga
Kondisi team dengan client tetap pada berbeda zona waktu, pengaturan
kondisi yang terpisah secara geografis, managemen, kultur, dan bahasa.
namun ada perwakilan dari team yang Contoh pengembangan dengan GEM
-76-
Global Extreme Prorgamming Framework Untuk Pengembangan Sistem Software
Enginering Dengan Pendekatan Metode Extreme Programming (Novita K N)
-77-
Majalah Ilmiah INFORMATIKA Vol. 3 No. 3, Sept. 2012
Dimana team work tidak dapat kerja dan teknik praktis yagn
berdiri sendiri dengan tugas yang dijabarkan pada Tabel 2 dan Tabel 3
sudah ditentukan akan tetapi antar berikut ini.
team work wajib untuk melakukan
Prinsip kerja GXP yang mengadopsi
komunikasi secara intens, melakukan
pendekatan agile yang dinamis
sharing knolage, dan selalu
digabungkan dengan metode XP
mendiskusikan permasalahn-
menghasilkan beberapa poin prinsip
permasalahan yang terjadi pada
kerja4] yang diuraikan pada Tabel 2
proses pengerjaan projek. Hal
sebagai berikut:
tersebut terangkum dalam prinsip
Tabel 2. Tabel Prinsip Kerja GXP
No Prinsip Penjelasan
1. Umpan balik secara teratur Umpan balik dari client serta respon dari team akan
meyakinkan bahwa proyek berjalan dengan baik
2. Penyederhanaan keberntungan Melakukan
3. Menyusun roadmap untuk Menyiapkan model pengembangan berkala untuk
versioning menjamin sistem agar selalu up
4. Memformalkan manajemen Pendokumentasian setiap perubahan pada kode,
perubahan dokumen, maupun permintaan client secara baik dan
rapi
5. Kualitas yang seimbang Menyesuaikan kemampuan team dengan kualitas
yang akan dihasilkan
6. Pembelajaran mandiri Team work membiasakan diri dengan pembelajaran
yang beragam dan memiliki suatu kajian mandiri
7. Incestasi perangkat bantu Team work harus dapat memikirkan bagaimana agar
komunikasi komunikasi dapat tetap berjalan konsisten dan
homogeny untuk mencapai komunikasi yang lebih
baik
8. Penyamaan visi Dengan adanya pandangan visi yang sama akan
memudahkan team work tetap dapat melakukan
-78-
Global Extreme Prorgamming Framework Untuk Pengembangan Sistem Software
Enginering Dengan Pendekatan Metode Extreme Programming (Novita K N)
-79-
Majalah Ilmiah INFORMATIKA Vol. 3 No. 3, Sept. 2012
refactoring
6. Wiki journaling Membuat halaman wiki yang dijadikan tempat untuk
mencantumkan temuan dan pengetahuan yang ditulis
oleh team
7. Multysite testing Pengujian dari berbagai sites untuk menjamin bahwa
solusi yang dikembangkan dalam projek teruji dari
berbagai sudut pandang
8. Centralized integration Memasang source control untuk kebutuhan
manajemen yang lebih baik
9.` Online planning game Mendesain model sistem kemudian mebngestimasi
baik secara online maupun face to face
10. Sprint prototyping Team work mengembangkan prototype yang
memungkinkan team dan client saling memberikan
input dan feedback dengan proporsional
11. Loosely coupled component Memisahkan sekumpulan komponen perangkat
lunak yang bisa dikembangkan secara terpisah
sehingga memudahkan team work membagi
pekerjaan
12. Around the clock development Apabila pengembangan projek melibatkan rekan atau
team yang berada di zona waktu yang berbeda maka
dapat digunakan mekanisme around the clock
development sehingga ada ketepatan waktu yang
sama untuk menyelesaikan projek sesuai dengan
deadline yang direncanakan
13. Knowlade based learning Mengaplikasikan pengetahuan bersama dengan
memasangkan repository knowlage system untuk
memudahkan teamwork melakukan sharing
pengetahuan
-80-
Global Extreme Prorgamming Framework Untuk Pengembangan Sistem Software
Enginering Dengan Pendekatan Metode Extreme Programming (Novita K N)
Tiga belas teknik praktis GXP yang ini seperti Open Wiki, Blogengine,
dijelaskan pada Tabel 2 diatas disusun SWiki
berdasarkan projek yang mengadopsi
model GXP. Team tidak harus Setelah semua fase terpenuhi maka
menjalankan semua point tersebut, namun fase yang terakir adalah eksekusi. Pada fase
team dapat memilih point mana yang perlu ini lebih banyak pada kegiatan teknis dalam
dan tidak perlu menyesuaikan dengan software development. Fase eksekusi ini
kondisi team itu sendiri baik dari segi terdiri atas lima tahapan, yaitu tahap
kebutuhan maupun dari segi kompleksitas eksplorasi, tahap perencanaan, tahap iterasi,
projek yang dikerjakan. tahap produksi, tahap pemeliharaan.
Tahap persiapan yang terakhir
adalah persiapan infrastuktur. Infrastruktur
Kesimpulan
meliputi perangkat keras maupun perangkat
Kesimpulann yang dapat diambil
lunak dari projek. Poin penting yang perlu
dari penulisan artikel ini adalah dalam
diperhatikan dalam penerapan GXP antara
software engineering dikenal dua metode
lain:
pendekatan pengembangan sistem perangkat
- Perangkat komunikasi dan
lunak, yaitu pendekatan konvensional dan
kolaborasi, sebagai contoh Yahoo
pendekatan agile (dinamis). Pendekatan
Massanger, Shared View, Live
konvensional diterapkan pada SDLC
Messenger, Groove.
dimana tahapan pengembangan sistem
- Perangkat bantu yang dapat
secara umum meliputi requirement analisis,
memvisualkan model, sebagai contoh
design ,implementation, testing, dan
Open SVN, Team City, Visual
evaluation. Saat ini dengan makin tingginya
Studio Team System, Rational Rose
kebutuhan software dan makin tinggi pula
Requisite Pro, Sparx System,
pengetahuan client mengenai produk
Enterprise Achitect.
software yang sesuai dengan yang
- Perangkat bantu untuk menyimpan
dibutuhkan maka software developer harus
dan mengelola perkembangan projek
dapat bekerja secara cepat serta mampu
atau repository yang dapat digunakan
beradaptasi dengan dynamic requirement
untuk acuan analisa projek
yang dapat sewaktu-waktu diajukan oleh
selanjutnya. Contoh perangkat bantu
-81-
Majalah Ilmiah INFORMATIKA Vol. 3 No. 3, Sept. 2012
mengerjakan projek seperti yang ditawarkan Cooke, Jamie Lynn. Agile Principles
oleh metode pendekatan agile. Pendekatan Unleashed. It Governence Ltd.,
2010.
ini diterapkan pada metode pengembangan
sistem eXtreme Programming (XP) yang Ferdiana, Ridi. Rekayasa Perangkat Lunak
yang Dinamis dengan Global
kemudian diadopsi dalam GXP menjadi
Extreme Programming. Yogyakarta:
sebuah framework yang terdiri atas tools Penerbit ANDI, 2012.
atau alat bantu untuk memudahkan team
Ferdiana, Ridi, Lukito Edi Nugroho, Paulus
dalam menyelesaikan projek. Dimana team Insap Santoso, dan Ahmad Ashari.
dibentuk disesuaikan dengan kondisi dan “Process Framework in Global
eXtream Programming.” Computer
kebutuhan team berdasarkan konsep GXP
Science and Information Security,
yang ada. 2010.
Meskipun demikian tidak semua
Friedman, Thomas L. The World is Flat.
projek software engineering sesuai Farrar, Straus & Giroux, 2005.
dikerjakan menkggunakan GXP. SDLC
Sangwan, Raghvinder, Matthew Bass, Neel
memiliki kelemahan dan kelebihan dalam Mullick, Daniel J. Paulish, dan
software engineering dan masih tetap dapat Juergen Kazmeier. Global Software
digunakan untuk mengerjakan projek yang Development Handbook (Auerbach
Series on Applied Software
bersifat run time yang dikerjakan dalam Engineering Series). Boston:
jangka waktu yang lama serta membutuhkan Auerbach Publication, 2010.
team work dalam jumlah banyak.
-82-