Sejarah Extreme Programming
dirancang untuk mendorong interaksi , pengembang - to- developer dan pengembang - ke-pelanggan .
http://topieks.blogspot.co.id/2013/12/tugas-softskill-extreme-programing_26.html
http://infodanpengertian.blogspot.co.id/2016/01/pengertian-dan-proses-extreme.html
Extrem programming dimunculkan untuk menangani perubahan-perubahan yang biasanya sering terjadi pada
saat pengembangan berlangsung bahkan pada saat proses pengembangan
sudah hampir berakhir. Selainitu XP juga dimunculkan untuk mengatasi
berbagai requirements yang tidak jelasdari user. Sebagai
sebuahmetodologi untuk mengembangkan peragkat lunak XP tentu memiliki
siklus hidup. Siklus hidup pada XP inierdapat lima fase yaitu : Extreme
Programming diciptakan oleh Kent Beck selama bekerja di Chrysler
MenyeluruhbSistem Kompensasi (C3) proyek penggajian. Beck C3 menjadi
pemimpin proyek Maret 1996 dan mulai untuk memperbaiki metode
pengembangan yang digunakan dalam proyek dan menulis sebuah buku tentang
metode (pada Oktober 1999, Extreme Programming Explained
diterbitkan). Chrysler membatalkan proyek C3 pada Februari 2000, setelah
perusahaan diakuisisi oleh Daimler-Benz. Meskipun Extreme Programming
itu sendiri adalah relatif baru, banyak dari praktik sudah ada selama
beberapa waktu, metodologi, setelah semua, diperlukan praktek terbaik
untuk tingkat ekstrem. Sebagai contoh, tes-praktek pembangunan pertama,
perencanaan dan tes tertulis sebelum setiap mikro-increment digunakan
sebagai awal NASA Project Mercury, pada awal 1960-an (Larman 2003).
Refactoring, modularitas, bottom-up dan desain inkremental digambarkan
oleh Leo Brodie dalam bukunya yang diterbitkan pada tahun 1984
Pengertian Extreme Programming (XP) - Extreme
Programming (XP) merupakan salah satu metode pengembangan software yang
termasuk dalam Agile Software Development. XP menggunakan pendekatan
object-oriented.
Dalam XP, terdapat 5 nilai yang
menjadi pondasi yaitu communication, simplicity, feedback, courage,
dan respect. Komunikasi yang efektif antara pengembang perangkat
lunak dan pihak-pihak yang terlibat sangatlah penting. Dalam XP, desain
dijadikan kebutuhan intermediate. Desain dibuat sesederhana mungkin agar mudah
mengimplementasikan code. Disini dapat terjadi perubahan struktur desain atau
perubahan source code tanpa mengubah fungsi utamanya (refactoring). Feedback
akan diberikan saat peningkatan dan pengimplementasian perangkat lunak.
Berikut merupakan proses Extreme
Programming menurut Pressman (2010):
- Planning. Tahap planning dimulai dengan membuat user stories yang menggambarkan output, fitur, dan fungsi-fungsi dari software yang akan dibuat. User stories tersebut kemudian diberikan bobot seperti prioritas dan dikelompokkan untuk selanjutnya dilakukan proses delivery secara incremental.
- Design. Design di Extreme Programming mengikuti prinsip Keep It Simple (KIS). Untuk design yang sulit, Extreme Programming akan menggunaan Spike Solution dimana pembuatan design dibuatlangsung ke tujuannya. Extreme Programming juga mendukung adanya refactoring dimana software system diubah sedemikian rupa dengan cara mengubah stuktur kode dan menyederhanakannya namun hasil dari kode tidak berubah.
- Coding. Proses coding pada XP diawali dengan membangun serangkaian unit test. Setelah itu pengembang akan berfokus untuk mengimplementasikannya. Dalam Extreme Programmingdiperkenalkan istilah Pair Programming dimana proses penulisan program dilakukan secara berpasangan. Dua orang programmer saling bekerjasama di satu komputer untuk menulis program. Dengan melakukan ini akan didapat real-time problem solving dan real-time quality assurance.
- Testing. Tahap ini dilakukan pengujian kode pada unit test. Dalam Extreme Programming,diperkenalkan XP acceptance test atau biasa disebut customer test. Tes ini dilakukan oleh customer yang berfokus kepada fitur dan fungsi sistem secara keseluruhan. Acceptance test ini berasal dari user stories yang telah diimplementasikan.
1.Komunikasi: Nilai ini berfokus pada membangun orang-ke - orang,saling pengertian dari lingkungan
masalah melalui minimal resmi dokumentasi dan melalui interaksi tatap muka maksimal . Praktek XPdirancang untuk mendorong interaksi , pengembang - to- developer dan pengembang - ke-pelanggan .
2.Kesederhanaan: Nilai ini menantang setiap anggota tim untuk terus bertanya, Apa hal paling sederhana yang
mungkin bisa bekerja ? XP berpendapat bahwa lebih baik untuk melakukan
hal yang sederhana dan membayar sedikit lebih besok untuk perubahan
daripada melakukan lebih rumit,hal hari ini yang mungkin tidak akan
pernah digunakan .
3.Tanggapan: Dalam extreme programming team mendapatkan umpan balik dengan menguji perangkat lunak mereka,memberikan sistem ke pelanggan sedini mungkin dan mengimplementasikan perubahan dan prioritas seperti yang disarankan oleh umpan balik dari pelanggan .
4.Keberanian: Pengembang sering mengutip tekanan untuk kapal produk buggy. Itu Dibutuhkan keberanian untuk
menolak tekanan ini. Beck juga menyatakan bahwa tim harus berani dan
bersedia untuk membuat perubahan di akhir proyek atau bahkan membuang
kode dan mulai dari awal lagi.
5.Menghormati: Jika anggota tim tidak peduli satu sama lain dan pekerjaan mereka , ada metodologi dapat bekerja . Anda harus menghormati kepada rekan-rekan Anda dan kontribusi mereka , untuk organisasi Anda , untuk orang-orang yang hidupnya tersentuh oleh sistem. Beck mengatakan Praktek adalah bukti dari nilai-nilai Tugas yang dapat dijatuhkan jika kita mendapatkan kendala .Dengan cara ini akan tetap margin keamanan dan memecahkan kasus masalah.
Tambahan: Desain extreme programming menentang menghasilkan desain yang lengkap di depan .Tim pengembangan menghasilkan kode sesegera mungkin dalam rangka untuk mendapatkan umpan balik dan
memperbaiki sistem terus menerus. Desain diperlukan untuk mendapatkan
kode yang baik Pertanyaannya adalah ketika merancang XP menyarankan
untuk melakukannya secara bertahap selama coding . Cara membantu memperoleh ini adalah untuk menghilangkan duplikasi dalam kode.
Pemrograman Test- Pertama : sebelum memperbarui dan menambahkan kode perlu untuk menulis tes untuk memveri kasi kode. Hal ini memecahkan empat masalah :
Pemrograman Test- Pertama : sebelum memperbarui dan menambahkan kode perlu untuk menulis tes untuk memveri kasi kode. Hal ini memecahkan empat masalah :
- Cowboy coding yaitu sangat mudah untuk mendapatkan,dapat dibawa pergi dengan program cepat dan menempatkan semuanya dalam pikiran serta dalam kode. Tes membantu kita fokus pada masalah yang dihadapi dan dapat membuktikan bahwa desain kami adalah benar.
- Coupling dan kohesi yaitu jika tidak mudah untuk menulis tes , ini berarti bahwa anda memiliki masalah desain , bukan dari pengujian atau coding
- Kepercayaan yaitu jika Anda menulis kode dokumen dengan tes otomatis , rekan kerja Anda akan mempercayai Anda .
- Rhythm yaitu mudah untuk tersesat dan mengembara selama berjam-jam ketika kita coding . Jika kita membiasakan diri dengan: tes, kode ,refactor , tes, kode , refactor , itu tidak akan terjadi .
Tujuan Extreme Programming
Tujuan utama dalam extreme programming adalah menurunkan biaya dari adanya perubahan software .Dalam
metodologi pengembangan sistem tradisional, kebutuhan sistem ditentukan
padatahap awal pengembangan proyek dan bersifat xed. 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 eksibel 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 maupun terjadinya 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 Extreme Programing
Keunggulan:
- Menjalin komunikasi yang baik dengan klien. (Planning Phase)
- Menurunkan biaya pengembangan (Implementation Phase)
- Meningkatkan komunikasi dan sifat saling menghargai antar developer. (Implementation Phase)
- XP merupkan metodologi yang semi formal. (Planning Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima, atau dengan kata lain eksibel. (Maintenance Phase)
Kelemahan :
- Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan
- apa yang diperlukan hari itu juga). Selain dari keunggulan dan kelemahan XP yang telah disebutkan
- diatas, XP juga memiliki keunggulan yang sekaligus menjadi kelemahannya, yaitu XP tidak memiliki
- dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.
http://topieks.blogspot.co.id/2013/12/tugas-softskill-extreme-programing_26.html
http://infodanpengertian.blogspot.co.id/2016/01/pengertian-dan-proses-extreme.html
Komentar
Posting Komentar