Extreme Programming

13
eXtreme Programming Pamungkas Utomo

Transcript of Extreme Programming

eXtreme Programming

Pamungkas Utomo

Definisi

Extreme Programming (XP) adalah model pengembanganperangkat lunak yang mencoba menyederhanakan berbagaitahapan dalam proses pengembangan tersebut sehinggamenjadi lebih adaptif dan fleksibel. Pendekatan tidak hanyaberfokus pada coding tetapi meliputi seluruh areapengembangan perangkat lunak.

Keunggulan XP

• Menjalin komunikasi yang baik dengan klien. (Planning Phase)

• Menurunkan biaya pengembangan (Implementation Phase)

• Meningkatkan komunikasi dan sifat saling menghargai antar developer. (Implementation Phase)

Kelemahan

• 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)

• Tidak bisa membuat kode yang detail di awal (prinsipsimplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).

Tahapan dalam XP

1. PlanningMembentuk user stories, menentukan cost. Semua story segeradiimplemetasikan (dalam beberapa minggu) Story dengan value tertinggiakan dipindahkan dari jadwal dan dimplementasikan pertama. Storydengan resiko paling tinggi akan diimplemetasikan lebih dulu. Setelahproject pertama direlease dan didelivery, XP team memperhitungkankecepatan project.2. Designmenggunakan CRC card, untuk mengenali dan mengatur object orientedclass yang sesuai dengan software increment.3. CodingSebelum membuat code, lebih baik membuat unit test tiap story untukdimasukkan dalam software increment. XP menyarankan agar dua orangbekerja bersama pada satu komputer workstation untuk membuat codedari satu story (pair programming), untuk menyediakan real time problemsolving dan jaminan real time quality. Setelah pair programming selesai,code diintegrasikan dengan kerja laiinnya (continuous integration).

4. Testing.

Unit test yang telah dibuat harus diimplementasikanmenggunakan suatu framework dan diatur ke dalam universal testing suite, integrasi dan validasi sistem dapat dilakukan setiaphari. Customer test (acceptance test) dilakukan oleh customer dan fokus pada keseluruhan fitur dan fungsional sistem. Acceptance test diperoleh dari customer stories yang telahdiimplemetasikan sebagai bagian dari software release.

Artefak tahapan XP

Role

1. Costumer / User

Orang yang mendefinisikan proyek untuk digambarkan / ditranslatekan ke aplikasi oleh developer, dan juga menetapkantujuan

2. Developer

Orang yang mentraslatekan gambaran dari user ke dalamaplikasi yang akan dibuat. mengembangkan aplikasi dari user stories

3. Tracker

Berperan melacak jadwal yang dibuat. menentukan rasio waktuyang ideal agar tugas – tugas dengan waktu yang sebenarnyadihabiskan untuk pengimplementasian.

4. Coach

Seperti team leader. Berperan menuntun anggota / tim nyauntuk mengerti pengembangan menggunakan XP . Posisi inipenuh akan tanggung jawab proyek.

Pair Programming

Melakukan proses menulis program dengan berpasangan. Duaorang programer saling bekerjasama di komputer yang samauntuk menyelesaikan sebuah unit. Dengan melakukan ini makakeduanya selalu dapat berdiskusi dan saling melakukan koreksiapabila ada kesalahan dalam penulisan program. Aspek inimungkin akan sulit dijalankan oleh para programer yang memilikiego tinggi dan sering tidak nyaman untuk berbagi komputerbersama rekannnya.

Test Driven Development (TDD)

Suatu konsep pengembangan aplikasi dimana script untukmelakukan testing aplikasi dibuat lebih dulu dibandingkan kodeprogram utamanya. Script yang dimaksud disini adalah suatukode program yang melakukan test untuk menguji parameter,nilai keluaran yang dihasilkan oleh suatu fungsi.

User Story

Dalam pengembangan perangkat lunak dan manajemen produk,cerita pengguna adalah satu atau lebih kalimat dalam bahasasehari-hari atau bisnis dari pengguna akhir atau penggunasistem yang menangkap apa yang pengguna lakukan atau perludilakukan sebagai bagian dari fungsi pekerjaan nya. Ceritapengguna digunakan dengan metodologi pengembanganperangkat lunak tangkas sebagai dasar untuk menentukan fungsisistem bisnis harus menyediakan, dan untuk memfasilitasimanajemen persyaratan. Ia menangkap 'siapa', 'apa' dan'mengapa' dari persyaratan dalam cara yang sederhana danringkas, sering dibatasi secara rinci oleh apa yang bisa ditulistangan pada kartu catatan kertas kecil.

References

Wikipedia.com

topieks.blogspot.com