Apa itu eXtreme Programming?

Sudah lama ya saya ga ngeblog, terakhir tanggal 4 Januari, dan ini artikel pertama saya berbahasa Indonesia di 2012😛 . Selain sudah lama ga posting, sudah luamaaaa sekali saya ga nulis yang ada hubungannya sama engineering. Katanya engineer?😀. Seorang sarjana telekomunikasi yang sudah 1,5 tahun nyemplung ke departemen software R&D ini mau sok ngomongin software engineering yak? Boleh dong? ^^

Pernahkah Anda mendengar tentang “Agile Software Development”? Buat temen2 informatics pasti sih uda pernah denger ya, nah buat yang awam kaya saya, mendengar kata itu kira2 baru setahun yang lalu. Kalo kata Oom Wikipedia yang sekarang lagi blackout sih :

Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.

Nah, salah satu dari grup agile ini, ada yang namanya eXtreme Programming (XP). Apa pula itu? XP adalah suatu metodologi software development yang bertujuan untuk meningkatkan kualitas dan fleksibilitas software terhadap adanya perubahan requirement. Jelas bahwa setiap software dibuat pasti berdasarkan requirement yang dibutuhkan, nah bagaimana agar software lebih lentur terhadap adanya perubahan? Dan bagaimana developer dapat melakukannya dalam tempo yang singkat? XP punya jawabannya.

Berbeda dengan Waterfall method yang sangat terkenal itu, dimana iterasi Waterfall sangat panjang, mulai dari menyusun requirement, desain, coding, testing, hingga release. XP unik, karena dari kumpulan requirement, langsung dibuat release planning, dan ini pun terdiri dari berbagai release-release parsial. Kemudian pada masa coding, hal pertama yang dilakukan developer adalah menulis test function terlebih dulu, bukan function dari software tersebut. Mengapa? Agar test tersebut bisa lebih independen. Jika menulis test di akhir, maka test tersebut akan mirip sekali dengan function yang sudah dibuat. Test-test tersebut pun masih dibagi menjadi unit-unit kecil, dan ada satu fungsi yang akan menggabungkan semua unit-unit test. Setiap bagian dalam software development pun di release secara bertahap dan lebih sering.

Gambar di atas merupakan screenshot dari file presentasi saya, ahaha, males nulis lagi cuy! :p Keliatan ya beberapa tulisan yang saya warnain biru? Hal2 tersebut adalah termasuk elemen-element yang paling penting dalam XP.

Bagaimana menurut Anda tentang “bola dunia” di atas? Gambar tersebut merupakan planning/feedback loop pada XP. Setiap elemen bisa jadi memiliki loop tersendiri, itulah yang membuat XP relatif fleksibel. Salah satu empowerment pada XP adalah refactoring. Refactoring adalah suatu cara untuk membuat code mudah dipahami, dengan mengubah desain namun tetap mempertahankan fitur. Mengapa perlu refactoring dalam XP? Karena 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.

Video dibawah ini adalah kuliah yang dibawakan oleh Richard Buckland di University of New South Wales. Buckland membahas perkenalan tentang XP dalam 40 menit kuliah yang menarik. Selamat menyimak! ^_^

Nah, segini dulu deh ya artikel saya mengenai eXtreme Programming. Maap-maap yak kalo banyak cacatnya, namanya juga sok ngebahas ginian. Karena saya ini orangnya sensitif, maka saya hanya menerima saran, tidak menerima kritik, bwahahahaha😀. Untuk penjelasan yang lebih ga jelas, bisa coba download file ppt di bawah ini ya. Have a nice day!

Introduction to XP

References :

About dinipus

a big, big, big dreamer

Posted on January 19, 2012, in Knowledge. Bookmark the permalink. 1 Comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: