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
 


1.      






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