Extreme Programming By : Adhi Nugroho ( 11111080 ) Aris Triyanto ( 11111073 ) Edy Riswanto ( 11111078 ) Krismanto ( 11111079 )
Abstrak Extreme Programming (XP) merupakan salah satu metodologi dalam rekayasa perangkat lunak dan juga merupakan satu dari beberapa agile software development methodologies yang berfokus pada coding sebagai aktivitas utama di semua tahap pada siklus pengembangan perangkat lunak (software development lifecycle). Metodologi ini mengedepankan proses pengembangan yang lebih responsive terhadap kebutuhan customer (”agile”) dibandingkan dengan metode-metode tradisional sambil membangun suatu software dengan kualitas yang lebih baik.
Sejarah Pertama proyek Extreme Programming dimulai 6 Maret 1996 . Extreme Programming adalah salah satu dari beberapa Proses Agile populer dan ini telah terbukti sangat sukses di banyak perusahaan di seluruh dunia. Programmer ekstrim terus berkomunikasi dengan pelanggan mereka dan sesama programmer. Mereka menjaga rancangannya yang sederhana dan bersih. Mereka mendapatkan umpan balik dengan menguji perangkat lunak mereka dimulai dari hari pertama. Mereka memberikan sistem ke pelanggan sedini mungkin dan mengimplementasikan perubahan seperti yang disarankan.
Tujuan penggunaan XP Tujuan utama XP adalah menurunkan biaya dari adanya perubahan software. 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.
Gambaran XP Sebuah usaha untuk mendamaikan manusia dan produktivitas Sebuah mekanisme untuk perubahan sosial Sebuah jalan menuju perbaikan Sebuah gaya pembangunan Sebuah disiplin pengembangan perangkat lunak
XP Diagram
Kunci Utama XP Extreme Programming muncul menawarkan sebuah disiplin baru dalam pengembangan software secara agile. Nilai dasar yang terkandung di dalam Extreme Programming adalah: Komunikasi (Communication), Kesederhanaan (Simplicity), Umpan balik (Feedback) Keberanian (Courage) dan menghormati (Respect).
Kunci Utama XP Communication (Komunikasi) Tugas utama developer dalam membangun suatu sistem perangkat lunak adalah mengkomunikasikan kebutuhan sistem kepada pengembang perangkat lunak. Komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan (pair programming). Developer didampingi oleh pihak klien dalam melakukan coding dan unit testing sehingga klien bisa terlibat langsung dalam pemrograman sambil berkomunikasi dengan developer. Tujuannya untuk memberikan pandangan pengembang sesuai dengan pandangan pengguna sistem.
Kunci Utama XP 2. Simplicity (Kesederhanaan) XP mencoba untuk mencari solusi paling sederhana dan praktis. Perbedaannya dengan metodologi pengembangan sistem konvensional terletak pada proses desain dan coding yang terfokus pada kebutuhan saat ini dari pada kebutuhan besok, seminggu lagi atau sebulan lagi.
Kunci Utama XP 3. Feedback (Masukan) Hal ini diperlukan untuk mengetahui kemajuan dari proses dan kualitas dari aplikasi yang dibangun. Informasi ini harus dikumpulkan setiap interval waktu yang singkat secara konsisten. agar masalah diketahui sedini mungkin. Setiap feed back ditanggapi dengan melakukan tes, unit test atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).
Kunci Utama XP 4. Courage (Keberanian) Berani mencoba ide baru. Berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung diperbaiki. Contohnya 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 seperti itu di refactor (kalau perlu dibangun ulang).
Kunci Utama XP 5. Respect (Menghormati) Pentingnya respect terhadap anggota team lainnya, programmer tidak boleh melakukan perubahan yang dapat merusak kompilasi dan menyebabkan keberadaan unit uji gagal atau memperlambat kerja team.
Extreme Programming memiliki 12 praktik yang berasal dari praktek-praktek terbaik rekayasa perangkat lunak: Planning Game Small, frequent releases System metaphors Simple design Testing (unit testing & TDD) Frequent refactoring Pair programming Collective code ownership Continuous integration Sustainable pace Whole team together Coding standards
Kelebihan dan kekurangan Keuntungan XP: Menjalin komunikasi yang baik dengan client. Meningkatkan komunikasi dan sifat saling menghargai antar developer. Kerugian XP: 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).
Daftar Pustaka Ron Jeffries,november 8 2001,Xprogramming, http://xprogramming.com/book/whatisxp/ diakses 12 Oktober 2013 Don Wells,October 8 2013, Extreme Programming: A Gentle introduction, http://www.extremeprogramming.org/ diakses 12 Oktober 2013 Select Business Solution,1988-2013,What is Extreme Programming, http://www.selectbs.com/process-maturity/what-is-extreme-programming diakses 12 Oktober 2013 Mizaki’90,2009, Extreme Programming, http://mizaki83.blogspot.com/2009/03/extreme-programming-xp.html diakses tanggal 12 Oktober 2013
Terima Kasih