Tugas MATKUL SIM EXTREME PROGRAMMING
SISTEM INFORMASI MANAJEMEN
EXTREME
PROGRAMMING
Diajukan untuk memenuhi salah satu tugas
Jurusan Teknik Informatika / Sistem
Informasi
Disusun Oleh :
1. YENNI :
15428015
2. KOKOM KOMARIAH :
15429049
3. FITRI YANTI :
15429037
4. BELLA QUINTA :
15429051
|
|
SEKOLAH
TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
STMIK
CIKARANG
2017
KATA PENGANTAR
Puji syukur kepadaTuhan
Yang Maha Esa atas berkat,
karunia-Nya, rahmat dan hidayah-Nya kami dapat menyelesaikan tugas makalah yang diberikan kepada kami dengan judul “Extreme Programming”.Makalah ini dibuat dalam rangka memenuhi tugas terstruktur
mata kuliah Sistem Informasi Manajemen.Di penulisan
makalah ini kami akan menjelaskan tentang Extreme Programming.
Teknologi Informasi yang semakin kokoh menancapkan fungsi–fungsinya dalam berbagai aspek saat ini sangat bervariasi dalam pengimplementasian perangkat lunaknya. Permasalahan
utama yang sering muncul dalam sebuah proyek pengembangan perangkat lunak
adalah perubahan requirement yang begitu cepat. Hal ini terjadi
sebagai akibat perubahan-perubahan yang muncul baik pada aspek bisnis maupun
teknologi yang berlangsung lebih cepat daripada proses pengembangan perangkat
lunak itu sendiri. Extreme Programming (XP) adalah sebuah pendekatan
pengembangan perangkat lunak yang mencoba meningkatkan efisiensi dan
fleksibilitas dari sebuah proyek pengembangan perangkat lunak dengan
mengkombinasikan berbagai ide sederhana.
Semoga makalah ini dapat memberikan wawasan yang lebih luas dan menjadi sumbangan pemikiran kepada pembaca .Kami sebagai penulis sadar bahwa masih banyak kekurangan dan jauh dari sempurna yang di
sebabkan kerena keterbatasan waktu dan latarbelakang keilmuan yang kami miliki namun segala kekurangan tersebut adalah hal yang wajar sebagai tahap awal untuk terus menuju kesempurnaan dalam pembuatan makalah ini.
Demikian makalah ini kami buat semoga dapat memberikan
manfaat bagi penulis dan pembaca.
Hormat kami,
Penyusun
DAFTAR ISI
Kata
Pengantar......................................................................................................................
i
Daftar
Isi............................................................................................................................... ii
BAB I
Sejarah Extreme
Programming..............................................................................................
1
Pengertian
Extreme
Programming.........................................................................................
2
Tujuan Extreme
Programming...............................................................................................
3
Kelebihan dan
Kekurangan Extreme
Programming.............................................................. 3
Nilai Utama
Extreme
Programming...................................................................................... 4
Siklus Hidup
Extreme
Programming.....................................................................................
6
Variabel
Extreme
Programming............................................................................................
6
TahapanExtreme
Programming.............................................................................................
7
Aspek Dasar
Extreme
Programming.....................................................................................
8
Contoh UML.........................................................................................................................
14
BAB II
Penutup..................................................................................................................................
16
Kesimpulan............................................................................................................................
16
Daftar
Pustaka.......................................................................................................................
17
BAB I
SEJARAH EXTREME
PROGRAMMING
Proyek pengembangan perangkat lunak
yang dianggap sebagai yang pertama kali menerapkan XP adalah C3 (Chrysler
Comprehensive Compensation) Project dari Chrysler. Proyek ini adalah proyek
penggajian 10.000 karyawan Chrysler, terdiri dari kira-kira 2000 class
dan 30.000 method. Proyek yang dimulai pertengahan dekade 90-an ini
terancam gagal karena rumitnya sistem yang dibangun dan kegagalan pada saat testing.
Chrysler kemudian menyewa Kent Beck, seorang pakar software engineering
yang di kemudian hari dikenal sebagai pencetus awal dari XP, untuk
menyelamatkan proyek tersebut. Beck bersama rekannya Ron Jeffries dengan
kewenangan yang diberikan oleh Chrysler melakukan berbagai perubahan di C3
Project untuk membuatnya lebih efisien, adaptif, dan fleksibel. Hal yang paling
penting bagi mereka adalah harus mampu memenuhi permintaan utama dari Chrysler,
untuk melakukan launching perangkat lunak tersebut dalam waktu tidak
lebih dari dua tahun sejak saat Beck dikontrak.
Beck dan Jeffries pada akhirnya
berhasil menyelesaikan target Chrysler dengan menerapkan berbagai metode dalam
proses pengembangan perangkat lunak tersebut. Kumpulan metode inilah yang
kemudian dikenal sebagai model atau pendekatan XP dalam pengembangan perangkat
lunak. Begitu sederhananya metode-metode tersebut sehingga bagi orang yang
belum menerapkan, XP terlihat sebagai kumpulan ide lama yang terlalu sederhana
dan tidak akan memberikan efek apapun pada sebuah proyek pengembangan perangkat
lunak.
Kent Beck sendiri mengakui dan
menegaskan bahwa XP tidak selalu cocok untuk setiap proyek pengembangan
perangkat lunak. Kelebihan XP adalah sesuai untuk digunakan pada proyek yang
memiliki dynamic requirements. Proyek semacam ini memerlukan adaptasi
cepat dalam mengatasi perubahan-perubahan yang terjadi selama proses
pengembangan perangkat lunak. XP juga cocok untuk proyek dengan jumlah anggota
tim tidak terlalu banyak (sekitar 10-20 orang) dan berada pada lokasi yang
sama.
PENGERTIAN
EXTREME PROGRAMMING
Extreme
Programming (atau di singkat sebagai XP) adalah salah satu metodologi dalam
rekayasa perangkat lunak dan juga merupakan satu dari beberapa agile
software development methotodogies yang berfokus pada coding sebagai
aktivitas utama di semua tahap pada siklus pengembangan yang lebih responsive
terhadap kebutuhan costumer (“agile”) di bandingkan dengan metode – metode
tradisional sambil membangun suatu software dengan kualitas yang lebih baik,
selain itu extreme programming meliputi seluruh area pengembangan
perangkat lunak. Extreme Programming ini mencoba menyederhanakan berbagai
tahapan dalam proses pengembangannya sehingga menjadi lebih adaptif dan
fleksibel.
Exterme
Programming merupakan pendekatan yang berbeda dengan skenario tradisional yang
memerlukan waktu baik pengembangan maupun pelanggan untuk mencoba (biasanya
dengan tingkat kesuksesan yang terbatas) mendokumentasikan secara
detail software yang telah dikembangkan selama beberapa lama waktu yang
dihabiskan. pengembang yang berpengalaman mengerti bahwa implementasi yang
ter-stag secara positif berpengaruh pada proses desain. extreme programming
secara special efektif ketika kebutuhan kompleks dan tidak memerlukan hal
seperti sebelumnya.Karena XP hanya sebuah metodologi ada beberapa contoh
kasus dari Aplikasi Extreme programing yaitu Pemprograman Aplikasi Platform Terbuka Berbasis
XML Web Services,pengembangan Software dengan desain dan kontruksi dengan
sesederhana mungkin Dll.
TUJUAN EXTREME PROGRAMMING
Tujuanutamadari Extreme
Programing (XP) adalah menurunkan biaya dari adanya perubahan software. Dalam metodologi pengembangan system tradisional, kebutuhan system ditentukan pada tahap awal pengembangan proyek dan bersifat
fixed. Hal ini berarti biaya terhadap adanya perubahan kebutuhan yang terjadi pada tahap selanjutnya akan menjadi mahal.
XP diarahkan untuk menurunkan biaya dari adanya perubahan dengan memperkenalkan nilai-nilai basis dasar, prinsip dan praktis. Dengan menerapkan XP, pengembangan suatu sistem haruslah lebih fleksibel terhadap perubahan.
Sasaran
XP adalah tim yang dibentuk berukuran antara kecil sampai
medium saja, tidak perlu menggunakan sebuah tim yang besar. Hal ini dimaksudkan untuk menghadapi requirements yang tidak jelas mau punter jadinya perubahan-perubahan requirements
yang sangat cepat. XP dimunculkan untuk menangani perubahan-perubahan
yang biasanya sering terjadi pada saat pengembangan berlangsung bahkan pada saat
proses pengembangan sudah hampir berakhir.
KELEBIHAN DAN KELEMAHAN XP
Kelebihandari Extreme Programming :
·
Meningkatkan
kepuasan kepada klien
·
Menurunkan
biaya pengembangan
·
Pembangunan
system dibuat lebih cepat
·
Menjalin
komunikasi yang baik dengan client
·
Meningkatkan
komunikasi dan sifat saling menghargai antar developer
Kekurangan dari Extreme Programming :
·
User story
kemungkinan besar tidak lengkap sehingga Developer harus selalu siap
dengan perubahan karena perubahan akan selalu diterima.
·
Tidak bisa
membuat kode yang detail di awal (prinsip simplicity dan juga anjuran
untuk melakukan apa yang diperlukan hari itu juga).
·
XP tidak
memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya
dokumentasi adalah dokumentasi awal yang dilakukan oleh user.
NILAI UTAMA
EXTREME PROGRAMMING
XP memiliki empat
values yang merupakan nilai dasar yang diperlukan dalam XP. Kent Beck
menyatakan bahwa tujuan jangka pendek individu sering berbenturan dengan
tujuan sosial jangka panjang. Karena itu dibuatlah values yang
menjadi aturan, hukuman, dan juga penghargaan. Keempat values tersebut
adalah :
· Komunikasi (Communication)
Tugas utama developer dalam membangun suatu system perangkat lunak adalah mengkomunikasikan kebutuhan system kepada pengembang perangkat lunak. Kurangnya komunikasi merupakan penyebab utama kegagalan pengembangan software, maka XP mengfokuskan pada hubungan komunikasi yang baik antar tim-klien, anggota tim, dan manajer proyek. Komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan (pair programming).Klien harus dilibatkan dalam proses pengembangan perangkat lunaknya dengan tujuannya untuk memberikan pandangan pengembang sesuai dengan pandangan pengguna sistem yang dibangun.
Tugas utama developer dalam membangun suatu system perangkat lunak adalah mengkomunikasikan kebutuhan system kepada pengembang perangkat lunak. Kurangnya komunikasi merupakan penyebab utama kegagalan pengembangan software, maka XP mengfokuskan pada hubungan komunikasi yang baik antar tim-klien, anggota tim, dan manajer proyek. Komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan (pair programming).Klien harus dilibatkan dalam proses pengembangan perangkat lunaknya dengan tujuannya untuk memberikan pandangan pengembang sesuai dengan pandangan pengguna sistem yang dibangun.
Para
anggota tim harus membangun saling pengertian, mereka juga wajib saling berbagi pengetahuan dan keterampilan dalam mengembangkan perangkat lunak. Ego dari para programmer yang biasanya cukup tinggi harus ditekan dan mereka harus membuka diri untuk bekerjasama dengan programmer lain dalam menuliskan kode
program.
·
Kesederhanaan (Simplicity)
XP melakukan semua dengan sederhana dan praktis tanpa mengurangi fungsi
utamanya. Diusahakan mengunakan method yang pendek dan simpel, jangan
terlalu rumit dalam membuat desain, hilangkan fitur yang tidak ada gunanya atau
menghapus fungsi yang tidak terpakai. Perbedaan metode ini dengan metodologi pengembangan system konvensional lainnya terletak pada proses desaindan coding yang
terfokus pada kebutuhan saat ini dari pada kebutuhan besok, seminggu lagi atau sebulan lagi. Dengan kata lain lebih baik melakukan hal yang sederhana saat sekarang
(sesuai kebutuhan) dan mengembangkannya besok jika diperlukan.
·
Umpan balik (Feedback)
Selalu mengevaluasi perkembangan terhadap perangkat lunak yang sedang
dikerjakan, segala informasi harus dikumpulkan setiap interval waktu yang
konsisten dan diskusikan kesalahan-kesalahan yang muncul selama proses
pengembangan. Ini dimaksudkan agar hal-hal yang
menjadi masalah dalam proses pengembangan dapat diketahui sedini mungkin. Setiapfeed back ditanggapi dengan melakukan tes,
unit test atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu). Umpan balik tersebut berfungsi sebagai indikator kemajuan proyek dan
menginformasikan pemimpin proyek apabila perubahan perlu dibuat.
·
Keberanian (Courage)
Berani mencoba ide baru.Berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung diperbaiki. Programmer XP didorong
untuk berani bereksperimen dan menulis ulang kode jika mereka
tidak puas dengan kode yang sudah ada atau desain. Hal ini membantu
mempertahankan moral serta integritas para pengembang proyek
dan dapat mendukung lebih lanjut komunikasi dengan anggota
proyek lainnya.Contoh dari courage adalah komitmen untuk selalu melakukan
design dan coding untuk saat ini dan bukan untuk esok. Ketika ada kode yang terlalu rumit, sulit dibaca dan dipahami,
tidak sesuai dengan kemauan pelanggan, dll maka seharusnya kode
program sepertiitu di refactor (kalau perlu dibangun ulang). Hal ini menjadikan pengembang merasa nyaman dengan refactoring program ketika diperlukan.
SIKLUS HIDUP XP
Extreme
Programing dimunculkan untuk menangani perubahan-perubahan yang biasanya sering
terjadi pada saat pengembangan berlangsung bahkan pada saat proses pengembangan
sudah hampir berakhir. Selain itu XP juga dimunculkan untuk mengatasi berbagai
requirements yang tidak jelasdari user. Sebagai sebuah metodologi untuk
mengembangkan perangkat lunak XP tentu memiliki siklus hidup. Siklus hidup pada
XP ini terdapat lima fase yaitu :
1.
Exploration Phase
2.
Planning Phase
3.
Iteration to Release Phase
4.
Productionizing Phase
5.
Maintenance Phase
6.
Death Phase
VARIABEL XP
Terdapat
4 variabel XP, yaitu antara lain :
1.
Cost (biaya)
Dengan meningkatkan biaya, kita bisa
menciptakan program yang lebih baik. Sebaliknya mengurangi biaya untuk proyek
tidak akan menyelesaikan masalah customer. Tetapi, biaya yang tiak terbatas
juga akan menimbulkan kerusakan.
2.
Time (waktu)
Dengan meningkatkan waktu makan kita
akan mampu menciptakan program yang berkualitas dan dengan feature-feature yang
lebih banyak.Akan tetapi waktu yang berlebihan tidak baik, karena dapat merusak
terhadap diri sendiri. Waktu yang sedikit juga tidak baik karena kualitas yang
dihasilkan akan jauh dari yang diharapkan.
3. Quality (mutu)
Mutu merupakan suatu variabel
pengendali yang sangat “mengerikan” karena merupakan suatu hal yang sangat
diperhatikan oleh konsumen.
4.
Scope (feature)
Scope merupakan varibel primer. Jika
kita mengurangi Scope,maka kita bisa mengurangi biaya dan meningkatkan
kualitas.
TAHAPAN XP
Tahapan-tahapan yang harus dilalui antara lain: Planning, Design,
Coding, dan Testing.
·
Planning,
Aktivitas planning dimulai dengan membentuk user stories. Anggota XP team
kemudian menilai setiap story dan menentukan cost – diukur dalam development
week. Customer dan XP team bekerja bersama untuk memutuskan bagaimana grup
story untuk release berikutnya (software increment berikutnya) untuk dibangun
oleh XP team. Jika komitmen telah dibuat, XP team akan membangun story-story
dengan cara :
- Semua story segera diimplemetasikan (dalam beberapa minggu)
-
Story dengan value tertinggi akan dipindahkan dari jadwal dan
dimplementasikan pertama.
-
Story dengan resiko paling tinggi akan diimplemetasikan lebih dulu. Setelah
project pertama direlease dan didelivery, XP team memperhitungkan kecepatan
project. Selama development, customer dapat menambah story, merubah value,
membagi story atau menghapusnya.
·
Design.
XP menggunakan CRC card, untuk mengenali dan mengatur object oriented class
yang sesuai dengan software increment.
·
Coding.
Sebelum membuat code, lebih baik membuat unit test tiap story untuk
dimasukkan dalam software increment. XP menyarankan agar dua orang bekerja
bersama pada satu komputer workstation untuk membuat code dari satu story (pair
programming), untuk menyediakan real time problem solving dan jaminan real time
quality. Setelah pair programming selesai, code diintegrasikan dengan kerja
laiinnya (continuous integration).
·
Testing.
Unit test yang telah dibuat harus diimplementasikan menggunakan suatu
framework dan diatur ke dalam universal testing suite, integrasi dan
validasi sistem dapat dilakukan setiap hari. Customer test (acceptance test)
dilakukan oleh customer dan fokus pada keseluruhan fitur dan fungsional sistem.
Acceptance test diperoleh dari customer stories yang telah diimplemetasikan
sebagai bagian dari software release.
Aspek Dasar XP
Aspek dasar XP terdiri dari berbagai teknik atau metode yang diterapkan
Beck dan Jeffries pada C3 Project. Teknik-teknik tersebut antara lain:
1. Whole Team
Seluruh kontributor dalam proyek yang menggunakan pendekatan XP duduk
bersama sebagai suatu tim. Tim ini terdiri beberapa peran, antara lain
programmer, penguji,orang yang mengerti bisnis, analis, manajer, dan lain-lain.
Setiap peran yang ada tidak mutlak menjadi peran dari satu orang saja. Tim
terbaik dalam XP tidak harus memiliki pakar, hanya kontributor umum dengan
keterampilan khusus saja. Semua orang di tim XP memberikan kontribusi dengan
cara apapun yang mereka dapat lakukan.
2. Planning game
Pendekatan XP dalam perencanaan sangat mirip dengan metode yang diterapkan pada RAD (Rapid Application Development). Proses pendek dan cepat, mengutamakan aspek teknik,
memisahkan unsure bisnis dengan unsure teknis dan pertemuan intensef antara klien dengan developer. Pada XP proses ini menggunakan terminologi “game” karena
Beck menyarankan untuk menggunakan teknik score card dalam menentukan requirements. Semakin sulit aspek teknis
yang dibutuhkan semakin tinggi pula skor pada kartu rencana tersebut.
Perencanaan dalam XP mengemukakan dua pertanyaan kunci dalam pengembangan
perangkat lunak, yaitu memprediksi apa yang akan dicapai pada waktu
tertentu, dan menentukan apa yang harus dilakukan setelah itu. Ada dua langkah
kunci dalam perencanaan XP, yang menangani dua pertanyaan tersebut:
1. Release Planning
yaitu praktek dimana Customer mengutarakan fitur yang diinginkannya ke
programer, dan programer memperkirakan tingkat kesulitannya. Dengan estimasi
biaya di tangan, dan dengan pengetahuan tentang pentingnya fitur yang
diinginkan, Pelanggan meletakkan satu rencana untuk proyek tersebut. Rencana
rilis awal yang selalu tepat: baik prioritas maupun perkiraan yang benar-benar
solid, dan sampai tim mulai bekerja, kita tidak akan tahu seberapa cepat mereka
akan pergi. Bahkan rencana rilis pertama cukup akurat untuk pengambilan
keputusan, namun, dan tim XP melakukan revisi terhadap rencana rilis secara
teratur.
2. Iteration Planning
adalah praktek di mana tim diberikan petunjuk atau arahan setiap beberapa
minggu sekali. Tim XP membangun perangkat lunak dalam “iterasi” dua minggu,
memberikan menjalankan perangkat lunak yang berguna pada setiap akhir iterasi.
Selama Iteration Planning, Customer mengutarakan fitur yang diinginkan selama
dua minggu ke depan. Para programer memecahnya ke dalam pekerjaan yang lebih
kecil, dan memperkirakan biaya yang diperlukan.
3. Customer Tests
Sebagai bagian dari presentasi masing-masing fitur yang diinginkan,
Customer XP mendefinisikan satu atau lebih tes penerimaan otomatis untuk
menunjukkan bahwa fitur tersebut bekerja dengan baik. Tim membangun tes ini dan
menggunakannya untuk membuktikan pada kepada Customer bahwa fitur ini telah
diimplementasikan dengan benar. Tes secara otomatis ini penting karena dalam XP
hanya diberikan waktu yang singkat sehingga tes manual tidak akan digunakan
karena memakan waktu yang lama.
4. Small Release
Pada setiap Iterasi, tim mengerjakan sebuah unit atau bagian dari perangkat
lunak, melakukan tes terhadap unit perangkat lunak yang dibangun, kemudian di
akhir iterasi perangkat lunak yang dibangun diberikan kepada Customer. Oleh
customer, perangkat lunak ini bisa dijadikan bahan evaluasi maupun langsung
dirilis kepada end user. Bisa juga tim XP langsung merilis ke end user secara
rutin.
5. Simple Design
Tim XP membangun perangkat lunak dengan desain yang sederhana. Dimulai
dengan desain yang sederhana, kemudian melalui pengujian program dan perbaikan
desain. Desain yang dibuat harus benar-benar cocok untuk fungsi saat ini dari
sistem sehingga tidak ada yang sia-sia dan perangkat lunak siap dikembangkan
lagi selanjutnya. Namun, pembuatan desain dalam XP tidak dilakukan hanya
sekali. Tahapan desain dalam Extreme Programming yang menghasilkan desain yang
bagus dianggap sangat penting, sehingga selama proses development banyak
difokuskan ke tahapan desain.
Dengandesain yang simple apabila terjadi perubahan maka membuat desain baru untuk mengatasi perubahan tersebut dapat dengan mudah dilakukan dan resiko kegagalan desain dapat diperkecil.
6. Pair
Programming
Pair programming adalah melakukan proses menulis program dengan berpasangan. Semua perangkat lunak yang dibangun dengan pendekatan XP dibangun oleh dua
orang programmer. Keduanya duduk berdampingan di satu komputer yang sama untuk
menyelesaikan sebuah unit. Seorang programmer akan membuat code dan programmer
yang lainnya akan mengoreksinya. Praktik seperti ini mungkin kelihatan tidak
efisien. Namun dari segi hasil dari pair programming, desain akan lebih baik,
pengujian lebih baik, dan code yang dihasilkan pun akan lebih baik.
Namun aspek ini mungkin akan sulit dijalankan oleh paraprogramer yang memiliki ego tinggi dan sering tidak nyaman untuk berbagi komputer bersama rekannnya.
7. Test-Driven Development
XP begitu terobsesi dengan umpan balik, dan dalam pengembangan perangkat
lunak, umpan balik yang baik mensyaratkan pengujian yang baik pula. Test-Driven
Development bergantung pada pengulangan siklus development yang sangat pendek.
Pertama tim XP akan menuliskan automated test case yang mendefinisikan
perbaikan yang diinginkan atau fungsi baru. Kemudian dari test case tersebut
dihasilkan jumlah minimal code yang harus dituliskan untuk lulus tes tersebut.
Setelah itu melakukan refactoring code baru agar memenuhi standar baru.
8. Design Improvement
XP berfokus pada memberikan nilai bisnis dalam setiap perulangan. Agar
dapat mencapai tujuan tersebut selama proyek berlangsung, perangkat lunak harus
dirancang dengan baik. XP menggunakan proses perbaikan desain secara terus
menerus dengan Refactoring. Proses refactoring berfokus pada penghapusan duplikasi
dari code yang telah dibuat. Disamping itu, proses refactoring didukung dengan
pengujian yang komprehensif untuk memastikan bahwa desain yang dibuat
berkembang dan tiidak ada yang rusak.
9. Continuous Integration
Beberapa
kali dalam sehari, tim XP akan menggabungkan seluruh salinan pekerjaan tim
menjadi satu dalam jaringan utama. Sehingga tim XP harus menjaga tim agar
terintegrasi setiap saat.
Melakukan build setiap hari
kerja menjadi sebuah model yang disukai oleh berbagai tim pengembang perangkat
lunak. Hal ini terutama didorong oleh keberhasilan penerapan sistem ini oleh
Microsoft dan telah sering dipublikasikan. Dengan melakukan build sesering
mungkin berbagai kesalahan pada program dapat dideteksi dan diperbaiki secepat
mungkin. Apabila banyak tim pengembang perangkat lunak meyakini bahwa build sekali
sehari adalah minimum maka pada XP hal tersebut adalah maksimum. Pada XP tim
disarankan untuk melakukan build sesering mungkin misalnya setiap 4 jam
atau bahkan lebih cepat lagi.
10. Collective Code
Ownership
Pada proyek XP, setiap pasang programmer dapat meningkatkan code apapun
setiap saat. Semua code yang ada dimiliki secara kolektif oleh tim. Tidak ada satupun baris kode program yang hanya dipahami oleh satu orang programer. XP menuntut para programmer untuk berbagi pengetahuan untuk tiap baris
program bahkan beserta hak untuk mengubahnya.
Manfaatnya setiap code akan mendapat perhatian dari banyak orang, sehingga
dapat meningkatkan kualitas code dan mengurangi cacat. Selain itu dapat
mengurangi duplikasi code yang sama walaupun dibuat oleh pasangan programmer
yang berbeda. Pada level
yang lebih tinggi bahkan dimungkinkan paraprogramer dapat bertukar unit yang dibangunnya.
11. Coding Standard
Pair programming dan Collective Code Ownership hanya akan dapat berjalan dengan baik apabila para programmer memiliki pemahaman yang sama terhadap penulisan kode program. Setiap anggota tim XP harus mengikuti standar coding yang umum, sehingga
semua code dalam sistem seolah-olah tampak dibuat oleh satu orang yang sangat
kompeten. Dengan adanya coding standards yang telah disepakati terlebih dahulu maka pemahaman terhadap program akan menjadi mudah untuk semua programmer dalam tim. Hal ini dapat diterapkan sebagai contoh pada penamaan variable dan penggunaan tipe
data yang sama untuk tiap elemen semua record atau array pada program.
12. Metaphor
Metaphor pada dasarnya sama dengan arsitektur perangkat lunak. Keduanya menggambarkan visi yang luas terhadap tujuan dari pengembangan perangkat lunak. Beck sendiri seperti para penandatangan Agile Manifesto lainnya bercita-cita menyederhanakan proses pengembangan perangkat lunak yang saat ini sudah dianggap terlalu rumit. Arsitektur yang saat ini banyak berisi diagram dankodesemacam UML dianggap terlalu rumit untuk dimengerti, terutama oleh klien. Metaphor, walaupun mirip dengan arsitektur lebih bersifat naratif dan deskriptif. Dengan demikian diharapkan komunikasi antara klien dengan developer akan berlangsung lebih baik dan lancar dengan penggunaan metaphor.
Tim XP akan membuat suatu deskripsi umum bagaimana program yang mereka
kembangkan bekerja dengan benar.
13. Sustainable Pace
Tim XP akan bekerjasama dalam jangka waktu lama. Mereka bekerja keras
dengan kecepatan tertentu tanpa batas waktu. Tim XP akan bekerja lembur pada
hari efektif dan memaksimalkan produktivitas setiap minggunya. Hal ini
perlu diperhatikan dengan baik, karena akan mengurangi produktivitas atau
sebaliknya menghasilkan perangkat lunak yang berkualitas.
BAB II
PENUTUP
Kesimpulan
·
Extreme Programming (atau disingkat
sebagai XP) adalah sebuah pendekatan atau model pengembangan perangkat lunak
yang mencoba menyederhanakan berbagai tahapan dalam proses pengembangan
tersebut sehingga menjadi lebih adaptif dan fleksibel. Walaupun menggunakan
kata programming, XP bukan hanya berfokus pada coding tetapi
meliputi seluruh area pengembangan perangkat lunak.
· Penggunaan XP dapat menurunkan
biaya dari adanya perubahan dengan memperkenalkan nilai - nilai basis dasar,
prinsip dan praktis.
· XP tepat digunakan saat: keperluan
berubah dengan cepat, resiko
tinggi dan ada proyek dengan tantangan yang baru, tim programmer sedikit, yaitu antara
2-10 orang, mampu
mengotomatiskan tes dan ada
peran serta pelanggan secara langsung.
·
Keistimewaan XP yang fleksibel terhadap perubahan requirement, maka dituntutlah code yang mudah dipahami. Sehingga ketika customer menginginkan spesifikasi yang berbeda, dapat dengan mudah diubah dan diperbarui.
DAFTAR PUSTAKA
Komentar
Posting Komentar