TUGAS SISTEM INFORMASI MANAJEMEN
KELOMPOK 1
INDRA PERMANA
HARDI YUDA
IRZA RIZKI NURANISA
NURAENI
HERLAN MISTOPA
MEYZI IMAM HIDAYAT
MUHAEMIN
KATA PENGANTAR
KELOMPOK 1
INDRA PERMANA
HARDI YUDA
IRZA RIZKI NURANISA
NURAENI
HERLAN MISTOPA
MEYZI IMAM HIDAYAT
MUHAEMIN
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............................................................................................... 2
Kelebihan dan Kekurangan Extreme
Programming.............................................................. 3
Nilai Utama Extreme Programming...................................................................................... 3
Siklus Hidup Extreme Programming..................................................................................... 5
Variabel Extreme Programming............................................................................................ 6
TahapanExtreme Programming............................................................................................. 6
Aspek Dasar Extreme Programming..................................................................................... 8
BAB II
Penutup.................................................................................................................................. 13
Kesimpulan............................................................................................................................ 13
Daftar Pustaka....................................................................................................................... 13
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.
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 :
- Cost (biaya)
- 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.
- Quality (mutu)
Mutu
merupakan suatu variabel pengendali yang sangat “mengerikan” karena merupakan
suatu hal yang sangat diperhatikan oleh konsumen.
- 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.
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.
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.
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 menurunkanbiayadariadanyaperubahandenganmemperkenalkannilai-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
pertanyaan dari saudara Uki marsono !!
1. Apakah sistem XP lebih cocok digunakan dalam program kecil atau program besar, jelaskan ?
jawab:
Menurut saya XP bisa di gunakan dalam program skala besar dan kecil tergantung jenis program apa yang akan kita buat, karena XP hampir mencakup semua program saat ini contoh softwarenya NetBin dan VBnet.