Anda di halaman 1dari 23

Global Extreme Prorgamming Framework Untuk

Pengembangan Sistem Software Enginering Dengan


Pendekatan Metode Extreme Programming

Novita Kurnia Ningrum


Fakultas Ilmu Komputer Universitas AKI Semarang

Abstract

The sophistication of information and communication technology today makes the


software as the device is much needed by the community. Along with this, the client is more
observant and knows how far and what kind of software product quality that are needed. Thus,
there is a high demand from the client that must be followed up quickly by the software
developer. Global eXtreme Programming (GXP) as a framework using agile approach by
adopting eXtream Programming (XP) development system method provides solutions in the field
of software engineering to provide the convenience to overcome the dynamic requirements of the
client and can complete projects rapidly or quickly. GXP is available to be applied to teamwork
which has geographically dispersed conditions but is still facilitated in terms of communication
and information.

Key words : framework, GXP, XP, agile, dynamic require

1. Pendahuluan Friedman [ HYPERLINK \l "Fre1" 1 ],


I.1. Latar Belakang Masalah komunikasi menjadi murah dan dapat
Kemajuan teknologi komunikasi dilakukan dimanapun. Bahkan dengan
dan informasi dari waktu ke waktu adanya internet dapat diperoleh informasi
memberikan banyak manfaat bagi kemajuan dan data yang cepat, murah, dan beragam.
masyarakat. Komukasi menjadi lebih Salah produk kemajuan teknologi
murah, informasi menjadi lebih mudah dan yang sudah lekat dengan masyarakat adalah
cepat diperoleh dan bisa dilakukan oleh software engineering product baik yang
masyarakat dari belahan bumi manapun. berupa software maupun software
Kondisi ini menjadikan dunia seolah-olah application. Tanpa disadari keberadaan
datar, sebagaimana dikemukakan oleh produk software sudah begitu lekat dengan

-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

Programming2] oleh Beck dan kawan- Programming dan SCRUM merupakan


kawan, dan juga kosep Global eXtreme metode baru yang menjadi pilihan dalam
Programming [ HYPERLINK \l "Fer10" 3 ] yang software development untuk
pada tahun 2010 dikenalkan oleh Ferdiana mengembangkan sistem pada projek yang
dan kawan-kawan dari Indonesia. dikerjakan.

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

design4]. Pertama paralyze analisis terjadi mengatasi permasalahan software

karena team terlena dengan development menghadapi dynamic

pendokumentasian sehingga tahap yang reguirements dari clients.

lainnya terabaikan. Kedua kondisi throw


away design hal ini biasa terjadi karena
adanya perubahan request and requirement I.2. Rumusan Masalah
Rumusan masalah dari artikel ini
dari clients sehingga team terpaksa
adalah menganalisa hasil penerapan
menghilangkan atau membuang sistem yang
software development dengan framework
sudah dibuat. Dan ketiga unupdated design,
Global eXtreme Programming dapat
sebagaimana perubahan request and
mengatasi permasalahan software
requirement dari clients terkadang terjadi
development menghadapi perubahan
dengan cepat sehingga antara dokumen yang
dynamic reguirements dari clients.
ada dengan analisa yang dibuat tidak
relevan.
I.3. Pembatasan Masalah
Dengan adanya kendala dari
Masalah pada artikel ini dibatasi
metode pengembangan sistem tradisonal
pada bagaimana pengembangan sistem
dengan SDLC diatas, sehingga saat ini
dengan framework Global eXtreme
pendekatan agile yang diterapkan di
Programming dapat mengatasi
beberapa metode seperti eXtreme
permasalahan software development

-62-
Global Extreme Prorgamming Framework Untuk Pengembangan Sistem Software
Enginering Dengan Pendekatan Metode Extreme Programming (Novita K N)

menghadapi perubahan requests and mengembangkan sistem ini. Dalam software


reguirements secara rapid atau cepat dari enginering konsep SDLC mendasari
clients. berbagai jenis metodologi pengembangan
perangkat lunak.

II. Landasan Teori


Terdapat beberapa pemodelan
II.1. Software Enginering dengan yang dianut software development yang
Pendekatan Konvensional
dikembangkan berdasarkan prinsip SDLC,
Secara umum terdapat dua macam
diantaranya model waterfall, prototype,
pendekatan yang dalam software
incremental, Rapid Aplication Development
development:
(RAD), dan model spiral.
1. Pendekatan konvensional
Secara umum dari beberapa model
Pendekatan konvensional ditandai
di atas hampir memiliki kemiripan dalam
dengan adanya proses up-front-
setiap tahapan pengerjaannya, yaitu dimulai
analisys. Yaitu proses yang identik
dengan requirement analisis, design
dengan SDLC Models yang diawali
,implementation, testing, dan evaluation
dengan identifikasi kebutuhan,
sebagaimana diilustrasikan pada Gambar 1
analyze, design, coding, testing,
berikut ini,
evaluating, implementation serta
pendistribusian software atau
perangkat lunak.
2. Pendekatan agile (agile concept)
Pendekatan agile dilakukan dengan
menerapkan minimalist design,
pengujian bertahap, dan
pendokumentasian sesuai
kebutuhan dan tidak berlebihan.
Systems Developments Life Cycles
(SDLC) adalah proses menciptakan atau
mengubah sistem informasi, dan model dan
metodologi yang digunakan orang untuk

-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.

Setelah analisa kebutuhan dirincikan,


engineers yang dalam hal ini adalah
pelaksana projek juga harus dapat
melakukan komunikasi internal team secara
konsisten dan berkesinambungan juga.
Sebagian besar masalah dalam pengerjaan
suatu projek adalah team work lebih terpaku

Tahapan-tahapan tersebut bagaimana menyelesaikan coding tepat pada

ditentukan agar dalam mengembangkan deadline. Padahal menentukan arsitektur

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.

Pada saat projek dikembangkan


harus ada komunikasi yang
berkesinambungan dan konsisten dalam
antara client dengan engintieers untuk
menentukan spesifikasi kebutuhan software
seperti apa yang dibutuhkan oleh client

-64-
Global Extreme Prorgamming Framework Untuk Pengembangan Sistem Software
Enginering Dengan Pendekatan Metode Extreme Programming (Novita K N)

Tabel 1. Comparation of Methodology Approaches [ 6 ]

Open
SDLC RAD Objects JAD Prototyping End User
Source

Control Formal MIS Weak Standards Joint User User


Time frame Long Short Medium Any Medium Short Short
MIS Staff Many Few Few Varies Few One or two One
Transaction/DSS Transaction Both Both Both DSS DSS DSS
Interface Minimal Minimal Weak Windows Crucial Crucial Crucial
Documentation In
Vital Limited Internal Limited Weak None
and Objects
training
In
Vital Vital Unknown
Limited Weak Weak
Integrity and Objects
Security
Reusability Limited Some Maybe Vital Limited Weak None
Praktek SDLC memiliki keunggulan data projek sehingga terlena bahwa tujuan
dalam model pengembangan perangkat utama pengembangan projek adalah untuk
lunak tradisional, yang cocok untuk membangun sistem bukan membuat
lingkungan yang lebih terstruktur. dokumen-dokumen sistem yang terlalu
Kelemahan menggunakan metode SDLC berlebihan yang tidak memungkinkan untuk
adalah ketika ada kebutuhan untuk dibaca semua dokumen tersebut.
pengembangan iteratif seperti 2. Throw away design
pengembangan website atau e-commerce Dalam kondisi ini team tepaksa
dimana stakeholders harus meninjau secara membuang design system yang sudah
rutin perangkat lunak yang dirancang. direncanakan pada awal pengembangan
projek. Hal ini biasanya disebabkan team
Selain itu ada pula beberapa
merasa design system tersebut sudah tidak
tantangan berkaitan dengan software
sesuai atau tidak diperlukan lagi. Team akan
engineering dengan pendekatan konsep
langsung masuk pada tahap pengembangan
konvensional4] diantaranya adalah:
atau developing and coding dan tahapan-
1. Paralyze analisis tahapan selanjutnya.
Paralyze atau lumpuh, disini 3. Unupdated design
diartikan sebagai suatu kondisi dimana team Dalam proses pengembangan projek
terlalu detile melakukan analisa pada data- suatu hal yang biasa terjadi perubahan dalam

-65-
Majalah Ilmiah INFORMATIKA Vol. 3 No. 3, Sept. 2012

tahap analisa. Namun perubahan-perubahan II.2. Software Enginering dengan


Pendekatan Agile
ini tidak seiring dengan perubahan pada
dokumentasi design. Ketika projek sudah Konsep agile dipopulerkan oleh
dikerjakan engineers akan lebih fokus pada Jamie Linn Cooke dapat diartikan sebagai
tahap pengembangan sehingga dokumentasi sesuatu hal yang dinamis, fleksibel, dan
design terbaikan. Setelah projek selesai baru mudah menyesuaikan diri terhadap
akan terlihat ketidak cocokan antara analisa perubahan7]. Dewasa ini prinsip agile
dengan dokumentasi design. banyak diadopsi dalam praktek bisnis dunia,
Pemaparan di atas menggambarkan dengan track record yang terbukti untuk
bahwa saat ini pendekatan secara membantu organisasi mencapai efisiensi
konvensional tidak selalu sesuai untuk yang lebih besar, berkualitas tinggi output
diterapkan pada setiap projek. Setiap team dan meningkatkan kepuasan pelanggan
work memiliki permasalahan masing- dengan cost budged yang dapat diminimalis
masing. Seharusnya team work itu sendiri [ HYPERLINK \l "Coo10" 7 ].
secara independent menentukan tahapanp- Sebagaimana dipaparkan pada bab
tahapan yang harus dikerjan. Proses yang sebelumnya, pendekatan agile diperlukan
kaku pada akhirnya menjadikan sistem kerja untuk menghadapi tuntutan dari clients yang
tidak kondusif dan hasil dari projek tidak semakin tinggi. Diantaranya dengan semakin
sesuai yang diharapkan. banyak dan informasi mengenai
perkembangan teknologi yang diperoleh
Mengikuti perkembangan teknologi
clients maka berdampak pula dengan request
informasi modern beberapa berpendapat
and requirement yang memiliki
bahwa penerapan SDLC dengan sistem yang
kecenderungan berubah-ubah dalam waktu
kaku perlu dilengkapi model komputasi
yang cepat. Sehingga developer juga harus
Agile [ HYPERLINK \l "And06" 6 ] agar lebih
dapat mengikuti perubahan yang terjadi
relevan dengan kebutuhan dunia teknologi
dalam sistem yang sedang
itu sendiri. Meski demikian SDLC juga
dikembangkannya.
memiliki keunggulan yang masih dapat
Beberapa metode pengembangan
diterapkan dalam istilah luas dalam
sistem software engineering yang sudah
perkembangan teknologi.
mengadopsi pendekatan agile diantaranya

-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:

II.3. eXtreme Programming (XP) 1. Communication


Hubungan komunikasi yang baik
eXtreme Programming (XP)
antar anggota tim adalah hal yang utama
mengadopsi pendekatan agile untuk
dalam software development. Satu team
pengembangan perangkat lunak yang
work harus terbangun pengertian dan
diasumsikan dapat membantu meningkatkan
sahring knowladge and skills pada saat
efisiensi dan fleksibilitas dari sebuah proyek
pengerjaan projek.
pengembangan perangkat lunak dengan
mengkombinasikan berbagai ide sederhana. 2. Courage
XP dipopulerkan oleh Kent Beck2] pada Team work dan software developer
tahun 2010 sebagai metode atau pendekatan harus memiliki keyakinan dan integritas
untuk mengembangkan sistem software terutama pada saat terjadi tekanan dari
engineering. client. Rasa saling percaya merupakan hal
yang coba dibangun dan ditanamkan dalam
XP tidak selalu cocok untuk setiap
XP pada berbagai aspeknya.
proyek pengembangan perangkat lunak.
Kelebihan XP adalah sesuai untuk 3. Simplicity
digunakan pada proyek yang memiliki Mengerjakan dengan cara sederhana
dynamic requirements seperti permintaan seperti menggunakan method yang pendek
dari clients yang sewaktu –waktu mengalami dan simpel, desain yang tidak terlalu rumit,
perubahan selama pengerjaan projek unused fitures dihilangkan, dan berbagai
dilakukan. Proyek semacam ini memerlukan proses penyederhanaan pada aspek lainnya.
adaptasi cepat dalam mengatasi perubahan-
4. Feedback
perubahan yang terjadi selama proses
software development. XP juga cocok untuk

-67-
Majalah Ilmiah INFORMATIKA Vol. 3 No. 3, Sept. 2012

Membangun feedback yang Aspek dasar XP terdiri dari berbagai


komunikatif dalam team work. Setiap teknik atau yang dapat diamati pada gambar
permasalahan dan perubahan yang terjadi berikut ini:
diungkapkan dan anggota team diberi
kesempatan untuk mengutarakan pendapat
masing-masing.

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.

Gambar 2. Gambar Aspek Dasar XP [ HYPERLINK \l "www08" 5 ]

1. The Planning Game Application Development). Proses


Pendekatan XP dalam perencanaan pendek dan cepat, mengutamakan
sangat mirip dengan metode yang aspek teknik, memisahkan unsur bisnis
diterapkan pada RAD (Rapid dengan unsur teknis dan pertemuan

-68-
Global Extreme Prorgamming Framework Untuk Pengembangan Sistem Software
Enginering Dengan Pendekatan Metode Extreme Programming (Novita K N)

intensif antara klien dengan developer. 3. Metaphor


Pada XP proses ini menggunakan Metaphor pada dasarnya sama
terminologi “game” karena Beck dengan arsitektur perangkat lunak.
menyarankan untuk menggunakan Keduanya menggambarkan visi yang
teknik score card dalam menentukan luas terhadap tujuan dari
requirements. Semakin sulit aspek pengembangan perangkat lunak.
teknis yang dibutuhkan semakin tinggi Beck sendiri seperti para
pula skor pada kartu rencana tersebut. penandatangan Agile Manifesto
lainnya bercita-cita
2. Small Releases
menyederhanakan proses
Setiap release dilakukan dalam
pengembangan perangkat lunak yang
lingkup sekecil mungkin pada XP.
saat ini sudah dianggap terlalu rumit.
Setiap developer menyelesaikan
Arsitektur yang saat ini banyak berisi
sebuah unit atau bagian dari
diagram dan kode semacam UML
perangkat lunak maka hasil tersebut
dianggap terlalu rumit untuk
harus segera dipresentasikan dan
dimengerti, terutama oleh klien.
didiskusikan dengan klien. Jika
Metaphor, walaupun mirip dengan
memungkinkan untuk menerapkan
arsitektur lebih bersifat naratif dan
unit tersebut pada perusahaan, hal itu
deskriptif. Dengan demikian
juga dapat dilakukan sekaligus
diharapkan komunikasi antara klien
sebagai tes awal dari penerapan
dengan developer akan berlangsung
keseluruhan sistem. Kendati
lebih baik dan lancar dengan
demikian hal ini tidak selalu perlu
penggunaan metaphor.
dilakukan karena harus dihitung
terlebih dahulu sumberdaya yang 4. Simple Design
dibutuhkan. Apakah lebih Sebagai salah seorang
menguntungkan langsung melakukan penandatangan Agile Manifesto,
tes terhadap unit tersebut atau Beck adalah seorang yang tidak
melakukan tes setelah unit tersebut menyukai desain yang rumit dalam
terintegrasi secara sempurna pada sebuah pengembangan perangkat
sistem. lunak. Tidak heran jika dia

-69-
Majalah Ilmiah INFORMATIKA Vol. 3 No. 3, Sept. 2012

memasukkan Simple Design sebagai program tanpa kembali mengulang-


salah satu unsur XP. Pada XP desain ulang proses desain. Fowler adalah
dibuat dalam lingkup kecil dan salah satu kolega dekat dari Kent
sederhana. Tidak perlu melakukan Beck karena itu tidak mengherankan
antisipasi terhadap berbagai bahwa cara berpikir mereka terhadap
perubahan di kemudian hari. Dengan proses pengembangan perangkat
desain yang simpel apabila terjadi lunak sangat mirip satu dengan
perubahan maka membuat desain lainnya.
baru untuk mengatasi perubahan
6. Testing
tersebut dapat dengan mudah
XP menganut paradigma berbeda
dilakukan dan resiko kegagalan
dalam hal tes dengan model
desain dapat diperkecil.
pengembangan perangkat lunak
5. Refactoring lainnya. Jika pada pengembangan
Refactoring adalah salah satu aspek perangkat lunak lainnya tes baru
paling khas dari XP. Refactoring dikembangkan setelah perangkat
seperti didefinisikan oleh Martin lunak selesai menjalani proses
Fowler adalah ”Melakukan coding maka pada XP tim
perubahan pada kode program dari pengembang harus membuat terlebih
perangkat lunak dengan tujuan dahulu tes yang hendak dijalani oleh
meningkatkan kualitas dari struktur perangkat lunak. Berbagai model tes
program tersebut tanpa mengubah yang mengantisipasi penerapan
cara program tersebut bekerja”. perangkat lunak pada sistem
Refactoring sendiri sangat sesuai dikembangkan terlebih dahulu. Saat
untuk menjadi bagian XP karena proses coding selesai dilakukan maka
Refactoring mengusung konsep perangkat lunak diuji dengan model
penyederhanaan dari proses desain tes yang telah dibuat tersebut.
maupun struktur baris kode program. Pengetesan akan jauh lebih baik
Dengan Refactoring tim pengembang apabila dilakukan pada setiap unit
dapat melakukan berbagai usaha perangkat lunak dalam lingkup
untuk meningkatkan kualitas sekecil mungkin daripada menunggu

-70-
Global Extreme Prorgamming Framework Untuk Pengembangan Sistem Software
Enginering Dengan Pendekatan Metode Extreme Programming (Novita K N)

sampai seluruh perangkat lunak pengetahuan untuk tiap baris


selesai dibuat. Dengan memahami program bahkan beserta hak untuk
tahap ini kita dapat melihat bahwa mengubahnya. Dengan pemahaman
siklus pada XP adalah requirement yang sama terhadap keseluruhan
analysis  test  code  design. program, ketergantungan pada
Sekilas terlihat hal ini tidak mungkin programer tertentu ataupun berbagai
dilakukan tetapi pada kenyataannya hambatan akibat perbedaan gaya
memang gambaran inilah yang menulis program dapat diperkecil.
paling dapat menjelaskan tentang Pada level yang lebih tinggi bahkan
XP. dimungkinkan para programer dapat
bertukar unit yang dibangunnya.
7. Pair Programming
Pair programming adalah melakukan 9. Coding Standards
proses menulis program dengan Pair programming dan collective
berpasangan. Dua orang programer ownership hanya akan dapat berjalan
saling bekerjasama di komputer yang dengan baik apabila para programer
sama untuk menyelesaikan sebuah memiliki pemahaman yang sama
unit. Dengan melakukan ini maka terhadap penulisan kode program.
keduanya selalu dapat berdiskusi dan Dengan adanya coding standards
saling melakukan koreksi apabila ada yang telah disepakati terlebih dahulu
kesalahan dalam penulisan program. maka pemahaman terhadap program
Aspek ini mungkin akan sulit akan menjadi mudah untuk semua
dijalankan oleh para programer yang programer dalam tim. Hal ini dapat
memiliki ego tinggi dan sering tidak diterapkan sebagai contoh pada
nyaman untuk berbagi komputer penamaan variabel dan penggunaan
bersama rekannnya. tipe data yang sama untuk tiap
elemen semua record atau array
8. Collective Ownership
pada program.
Tidak ada satupun baris kode
program yang hanya dipahami oleh 10. Continous Integration
satu orang programer. XP menuntut Melakukan build setiap hari kerja
para programer untuk berbagi menjadi sebuah model yang disukai

-71-
Majalah Ilmiah INFORMATIKA Vol. 3 No. 3, Sept. 2012

oleh berbagai tim pengembang proses pengembangan perangkat


perangkat lunak. Hal ini terutama lunak. Yang lebih penting lagi ia
didorong oleh keberhasilan harus ada di tempat pemrogaman dan
penerapan sistem ini oleh Microsoft turut serta dalam proses build dan
dan telah sering dipublikasikan. test yang dilakukan. Apabila ada
Dengan melakukan build sesering kesalahan dalam pengembangan
mungkin berbagai kesalahan pada diharapkan klien dapat segera
program dapat dideteksi dan memberikan masukan untuk
diperbaiki secepat mungkin. Apabila koreksinya.
banyak tim pengembang perangkat
lunak meyakini bahwa build sekali I. METODOLOGY
sehari adalah minimum maka pada
III.1. eXtreme Programming (GXP)
XP hal tersebut adalah maksimum.
Sebagaimana dipaparkan pada latar
Pada XP tim disarankan untuk
belakang masalah di atas, saat ini telah
melakukan build sesering mungkin
dikenalkan sebuah framework baru yang
misalnya setiap 4 jam atau bahkan
menerapkan pendekatan agile yang dinamis
lebih cepat lagi.
menyesuaikan kondisi projek dan team
11. 40-hours Week work. Global eXtream Programming
Beck berpendapat bekerja 8 jam (GXP)4] sebagai framework yang membantu
sehari dan 5 hari seminggu adalah team work yang terpisah secara geografis
maksimal untuk tiap programer. namun masih terhubung dari segi
Lebih dari itu programer akan komunikasi dan informasi. GXP ini
cenderung membuat berbagai error diharapkan dapat mengatasi permasalah non
pada baris-baris kode programnya teknis yang dihadapi pengembang sehingga
karena kelelahan. dapat secara efisien dan efektif menjawab
tantangan pengembang yang dituntut untuk
12. On-Site Customer
menyelesaikan projek rapidly atau dengan
Sebuah pendekatan klasik, di mana
cepat dan adanya dynamic requirements dari
XP menganjurkan bahwa ada
client. Dengan cepatnya pengerjaan projek
anggota dari klien yang terlibat pada
maka berbanding lurus dengan cost yang

-72-
Global Extreme Prorgamming Framework Untuk Pengembangan Sistem Software
Enginering Dengan Pendekatan Metode Extreme Programming (Novita K N)

dikeluarkan oleh pengembangpun dapat memungkinkan team work berada di tempat


ditekan seminimal mungkin. yang terpisah secara geografis.
GXP bukanlah satu produk framework
Sebagaimana dipaparkan pada bab
baru dalam software engineering,
sebelumnya XP dengan prinsip dan teknik
sebelumnya ada banyak model framework
praktis yang diterapkan pada metodenya
yang sudah dikenalkan dan sudah
sesuai untuk software development yang
digunakan. Keberadaan GXP saat ini untuk
efektif dan efisien.
melengkapi dan menyempurnakan hasil
penelitian yang sudah ada sebelumnya. Alat bantu yang dikembangkan dalam
GXP ditujukan untuk membantu kinerja
Terdapat tiga komponen utama yang
team work. Dengan adanya alat bantu ini,
mendasari framework GXP, yaitu proses
diharapkan produktivitas team work dapat
Global Software Development (GSD) yang
meningkat.
dipaparkan oleh Sangwan [ HYPERLINK \l
"San10" 8 ], eXtream Programming2], dan III.2. Eksekusi Global eXtreme
yang terakhir adalah alat bantu yang Programming (GXP)
diasumsikan untuk meningkatkan
produktivitas team work dalam software Banyak framework yang bisa

development. digunakan untuk membantu pengembangan


sisstem, diantaranya Microsoft Solution
GSD sebagai siklus hidup software Framework (MSF), Rational Unified
engineering yang memfokuskan pada Process (RUP), dapat juga mengadopsi
pengembangan perangkat lunak yang model Scrum. Demikian pula dengan GXP,
mendukung pola pengembangan tidak semua projek software
terdistribusi. Pola pengembangan development sesuai dikerjakan dengan
terdistribusi menekankan pada dukungan framework GXP. Oleh karena itu ada
pengembangan jarak jauh seperti teknik beberapa poin yang perlu dipenuhi sebelum
pengembangan shift (shift based model) atau projek dikerjakan dengan framework GXP
round clock follow the sun techniques. GSD antara lain:
sesuai diadopsi untuk software development
saat ini dimana dunia yang makin global, - GXP sesuai untuk team work
yang terpisah secara geografis

-73-
Majalah Ilmiah INFORMATIKA Vol. 3 No. 3, Sept. 2012

dan terfasilitasi secra komunikasi pada kegagalan pengerjaan


dan informasi. Namun, apabila projek.
terjadi kendala perbedaan bahasa - Harus dapat dikomunikasikan
dan kultur kerja yang tidak dapat dengan baik bahwa team work
diseragamkan, GXP menjadi menitikberatkan pada hasil
tidak efisien diterapkan pada kualitas software dibandingakan
kondisi team work seperti ini. dengan pendokumentasian yang
- GXP sesuai untuk projek dengan bewrlebihan dalam pengerjaan
skala kecil dimana team work projek.
yang terlibat antara 10-12 orang
Dari penjelasan beberapa poin di atas,
anggota. Untuk projek dengan
pada dasarnya pengerjaan dengan
skala besar dan membutuhkan
framework GXP banyak menitik beratkan
banyak anggota teami serta
pada prinsip komunikasi yang komunikatif
projek yang bersifat real time
dua arah antara software developer dengan
tidak sesuai dikerjakan dengan
client. Semakin baik dan lancar komunikasi
GXP.
yang dilakukan, akan mempengaruhi tingkat
- Karakter client yang fleksibel
keberhasilan team work dalam pengerjaan
dengan kondisi team work yang
projek.
bekerja secara fleksibel melalui
jarak jauh pentng untuk Apabila sudah diketahui apakah projek
diperhatikan. Sehingga ada sesuai untuk dikerjakan dengan framework
kesinambungan dan pengertian GXP atau tidak sesuai, tahap berikutnya
antara software developer dengan dapat dilanjutkan dengan eksekusi GXP.
client. Langkah eksekusi GXP digambarkan pada
- Komunikasi yang intens antara gambar 3 berikut ini,
software developer dengan client
harus bisa terjalin dengan baik.
Jika hal ini tidak terpenuhi akan
memungkinkan terjadinya
misunderstanding yang berujung

-74-
Global Extreme Prorgamming Framework Untuk Pengembangan Sistem Software
Enginering Dengan Pendekatan Metode Extreme Programming (Novita K N)

Gambar 3. Langah-langkah Eksekusi GXP [ HYPERLINK \l "Fer12" 4 ]


GXP Execution Flowchart

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

Yes, need refinement

Executing
GXP
GXP is not suitable
Need
through its for this project
refinement?
SDLC

Gambar 3 menunjukkan langkah- dinyatakan layak maka masuk ke fase


langkah eksekusi GXP terbagi menjadi berikutnya, configuration.
empat fase utama, yaitu feasibility,
Setelah dinyatakan layak, selanjutnya
configuration, preparation, dan
team work mengkonfigurasi projek
execution.
akan menggunakan model eksekusi
Pada fase feasibility atau kelayakan GXP apa yang sesuai dengan projek
team work mempertimbangkan apakah tersebut. Ada tiga model eksekusi
sesuai dan layak jika projek dikerjakan GXP yang bisa dipilih, antara lain:
dengan framework GXP. Jika
1. Remote Execution Model (REM)

-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)

seperti pengembangan Windows 7, Persiapan pembentukan struktur team


Linus Ubuntu, FreeBSD. berdasarkan dilakukan berdasarkan
Pengembangan sistem ditekankan tiga hal:
pada eksekusi yan terdistribusi dari
- Struktur team terdiri atas manager,
masing-masing team work.
developer, tester, teracker, subject
Karakteristik GEM antara lain: matter expert, coach. Masing-masing
melaksanakan sesuai dengan job
- Managemen terpisah
description yang telah ditentukan.
- Komunikasi antar managemen team
- Model team dibentuk berdasarkan
work meskipun terpisah terjalin
hasil fase konfigurasi sebelumnya.
dengan dengan baik
Ada dua macam model team yaitu
- Sistem yang dikembangakan
central team dan site team. Central
umumnya berbasis produk
team bertindak sebagai pusat
- Memungkinkan menggunakan
pengendalian visi misi produk,
bahasa pemrograman yang berbeda
menentukan arsitektur
- Jangka waktu pengerjaan projek
team,menentukan kebijakan dan
lebih dari satu tahun.
managemen projek. Site team lebih
Karena model ini terdiri atas focus pada desain sistem dan
managemen team lebih dari satu dan pengembangan aplikasi. Dalam satu
berbeda-beda, sehingga aspek non central team bisa terdapat beberapa
teknis seperti persamaan visi dan site team sesuai kebutuhan projek.
center management menjadi hal yang - Pembentukan team dilakukan secara
perlu diperhatikan. incremwental beraturan. Dimana
team terbentuk secara bertahap
Setelah team mengkonfigurasi model
sesuai dengan kebutuhan. Jika
eksekusi yang sesuai fase selanjutnya
cakupan projek luas, maka team yang
persiapan. Diantaranya
terbentuk akan menyesuaikan dengan
mempersiapkan komposisi team¸
kebutuhan projek tersebut
mempelajari prinsip, nilai, teknis
- Proses pembelajaran team adalah hal
praktis, dan mempersiapkan
yang mutlak dalam penerapan GXP.
infrastruktur yang dibutuhkan.

-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)

kolaborasi maksimal meskipun dengan keterbatasan


sarana yang ada
9.` Komunikasi multimodel Team work diharapkan memiliki model komunikasi
alternative selain tatap muka secara konvensional,
misalnya by email, IM, maupun komponen
komunikasi lainnya
10. Online progress Progress kondisi projek harus selalu diakses oleh
team work sehingga tetap terpantau kondisi projek
tersebut

Prinsip kerja GXP tersebutdiharapkan praktis aspek yang diimplentasikan


dapat diimplementasikan secara dalam Tabel 3 [ HYPERLINK \l "Fer12" 4
praktis oleh team work dalam ].
menjalankan eksekusi projek. Secara
Tabel 3. Tabel Teknis Praktis GXP

No Teknis Praktis Penjelasan


1. Sinkronisasi secara rutin Team work membutuhkan jadwal yang rutin untuk
berkomunikasi dengan client maupun dengan sesame
anggota t
2. Online programming Pemrograman yang menekankan kolaborasi online,
offline melalui media internet
3. Cloud codes Selalu mengunggah kode-kode terkini melalui sistem
CVS atau workspace yang bisa diakses oleh seluruh
team work
4. Standarts coding Team work harus menentukan standart coding yang
digunakan agar seragam
5. Refactoring and review team work melakukan review pada setiap pekerjaan
yang sudah berjalan sesuai dengan fungsi masing-
masing dan optimalisasi coding melalui teknik

-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

client. Ada pula beberapa projek software Daftar Pustaka


development yang bersifat sederhana dan Anderson, D, dan G Post. Managemen
Information Systems: Solving
tidak memerlukan rangkaian tahapan
business problems with Information
pengembangan sistem yang panjang. Oleh Technology. New York: Mc Graw-
karena itu dibutuhkan suatu metode Hill Irwin, 2006.
pemnegmbangan sistem yang dinamis yang Beck, Kent. Global Software Development
mampu menyesuaikan antara kebutuhan and Collaboration: barries and
projek dengan kebutuhan team dalam solution. Inroads, ACM, 2010.

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-

Anda mungkin juga menyukai