Transcript Document

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