METODE EXTREAM PROGRAMMING
Pendahuluan
Metodologi pengembangan perangkat lunak sendiri adalah sebuah metodologi yang digunakan untuk membuat struktur, rencana, dan kontrol pengerjaan suatu proyek, sedangkan Proses pengembangan perangkat lunak adalah model-model dan metodologi yang digunakan untuk mengembangkan suatu perangkat lunak.
Ada beberapa model Metodologi pengembangan perangkat lunak diantaranya : waterfall, fountain, spiral, rapid, prototyping, incremental, build, agille & fix, dan synchronize & stabilize.
Metodologi pengembangan perangkat lunak sendiri adalah sebuah metodologi yang digunakan untuk membuat struktur, rencana, dan kontrol pengerjaan suatu proyek, sedangkan Proses pengembangan perangkat lunak adalah model-model dan metodologi yang digunakan untuk mengembangkan suatu perangkat lunak.
Ada beberapa model Metodologi pengembangan perangkat lunak diantaranya : waterfall, fountain, spiral, rapid, prototyping, incremental, build, agille & fix, dan synchronize & stabilize.
Metodologi Agile Methods
Agile Development Methods adalah sekelompok metodologi pengembangan perangkat lunak yang didasarkan pada prinsip-prinsip yang sama atau pengembangan sistem jangka pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun.
Metode Extreme Programming
Extreme Programming adalah suatu model yang termasuk dalam pendekatan agile yang diperkenalkan oleh Kent Back. Menurut penjelasannya, definisi XP adalah sebagai berikut:
“Extreme Programming (XP) adalah metode pengembangan software yang cepat, efisien, beresiko rendah, fleksibel, terprediksi, scientific, dan menyenangkan.“
Agile Development Methods adalah sekelompok metodologi pengembangan perangkat lunak yang didasarkan pada prinsip-prinsip yang sama atau pengembangan sistem jangka pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun.
Metode Extreme Programming
Extreme Programming adalah suatu model yang termasuk dalam pendekatan agile yang diperkenalkan oleh Kent Back. Menurut penjelasannya, definisi XP adalah sebagai berikut:
“Extreme Programming (XP) adalah metode pengembangan software yang cepat, efisien, beresiko rendah, fleksibel, terprediksi, scientific, dan menyenangkan.“
Tujuan Extreme Programming
Tujuan utama dari Extreme Programming (XP) untuk menurunkan biaya dari adanya perubahan software. Dalam metodologi pengembangan sistem tradisional, kebutuhan sistem ditentukan pada tahap awal pengembangan proyek dan bersifat fixed.
Hal ini berarti biaya pengembangan terhadap adanya perubahan kebutuhan yang terjadi pada tahap selanjutnya akan menjadi mahal.
XP diarahkan untuk menurunkan biaya dari adanya perubahan dengan mengenali nilai-nilai basis dasar, prinsip dan praktis. Dengan menerapkan XP, pengembangan suatu sistem haruslah lebih fleksibel terhadap perubahan.
Kelebihan dan Kekurangan Extreme Programming
Kelebihan Extreme Programming, yaitu:
Tujuan utama dari Extreme Programming (XP) untuk menurunkan biaya dari adanya perubahan software. Dalam metodologi pengembangan sistem tradisional, kebutuhan sistem ditentukan pada tahap awal pengembangan proyek dan bersifat fixed.
Hal ini berarti biaya pengembangan terhadap adanya perubahan kebutuhan yang terjadi pada tahap selanjutnya akan menjadi mahal.
XP diarahkan untuk menurunkan biaya dari adanya perubahan dengan mengenali nilai-nilai basis dasar, prinsip dan praktis. Dengan menerapkan XP, pengembangan suatu sistem haruslah lebih fleksibel terhadap perubahan.
Kelebihan dan Kekurangan Extreme Programming
Kelebihan Extreme Programming, yaitu:
- Meningkatkan kepuasan kepada klien.
- Pembangunan system dibuat lebih cepat.
- Menjalin komunikasi yang baik dengan client.
- Meminimalkan biaya pengembangan yang kadang membengkak.Meningkatkan komunikasi dan sifat saling menghargai antar developer.
Kelemahan Extreme Programming, yaitu:
- Cerita-cerita yang menunjukkan requirements dari pelanggan 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.
Terdapat empat prinsip dalam Extreme Programming. Prinsip-prinsip ini digunakan untuk menentukan apa / bagaimana tindakan yang telah dilakukan akan sukses atau sebaliknya.
Empat karakteristik itu diantaranya :
- Komunikasi (Communication)
- Kesederhanaan (Simplicity)
- Umpan Balik (Feedback)
- Keberanian (Courage)
Komunikasi (Communication)
Tugas utama developer dalam membangun suatu sistem perangkat lunak adalah mengkomunikasikan kebutuhan sistem kepada pengembang perangkat lunak.
Komunikasi dalam Extreme Programmning 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. Asume Simplicity (Asumsi Kesederhanaan).
Kesederhanaan (Simplicity)
XP mencoba untuk mencari solusi paling sederhana dan praktis. Perbedaan metode ini dengan metodologi pengembangan sistem konvensional lainnya terletak pada proses desain dan coding yang terfokus pada kebutuhan saat ini daripada kebutuhan besok, seminggu lagi atau sebulan lagi. Lebih baik melakukan hal yang sederhana dan mengembangkannya besok jika diperlukan.
Umpan Balik (Feedback)
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. Ini dimaksudkan agar hal-hal yang menjadi masalah dalam proses pengembangan dapat diketahui sedini mungkin. Setiap feedback ditanggapi dengan melakukan tes, unit test atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).
Keberanian (Courage)
Berani mencoba ide baru. Bagi programmer atau tim pengembang proyek didorong untuk berani bereksperimen dan menulis ulang kode jika mereka menemukan ketidak puasan ataupun kesalahan dengan kode atau desain yang sudah ada.
Hal ini membantu mempertahankan moral serta integritas para pengembang proyek dan dapat mendukung lebih lanjut komunikasi dengan anggota proyek lainnya.
No comments:
Post a Comment