Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

24
Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471 Hidayat Febiansyah 1203000528 M.Irfan 1203000875 Rachmad Laksana 1203000897 Riyadi Akbar 1203000994

description

Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471 Hidayat Febiansyah 1203000 528 M.Irfan 1203000875 Rachmad Laksana 1203000897 Riyadi Akbar 1203000994. Introduction. Apa sih XP itu ?. XP itu yah, Extreme Programming..... So what gitu?. Apakah. NO!!!. - PowerPoint PPT Presentation

Transcript of Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

Page 1: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

Extreme Programming (XP)

Albert Kurniawan 1203000102

Fuady Rosma Hidayat 1203000471

Hidayat Febiansyah 1203000528

M.Irfan 1203000875

Rachmad Laksana 1203000897

Riyadi Akbar 1203000994

Page 2: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

Introduction

Apa sih XP itu ?

XP itu yah, Extreme Programming.....So what gitu?

Apakah ...

NO!!!

Page 3: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

Sebuah cara atau pendekatan disiplin dalam pengembangan software system Dikembangkan oleh Kent Beck Sudah berumur sekitar 4 tahun, secara pesat digunakan di organisasi kecil maupun besar Menekankan pada komunikasi, kesederhanaan feedback dan di atas semuanya feedback pelanggan Termasuk keluarga yang sedang berkembang dari “lightweight methods”

XP itu adalah :

Introduction

Page 4: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

When IF

Ingat anda harus mencocokkan proses dengan masalah

XP bekerja saat: Keperluan berubah dengan cepat Resiko tinggi, proyek dengan tantangan baru Kelompok kecil programer (antara 2-10) Mampu mengotomatiskan tes Peran serta pelanggan secara langsung dimungkinkan

Kapan kita memakai XP ?

Page 5: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

 1. Cost ( biaya )

Extreme programing memiliki empat(4) buah variable :

3. Quality (mutu)

4. Scope (feature)

2. Time (waktu)

Next

XP Variable

Page 6: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

 1. Cost ( biaya )

XP Variable

Extreme programing memiliki empat(4) buah variable :

Dengan meningkatkan biaya kita bisa menciptakan program yang lebih baik.

Sebaliknya mengurangi budget untuk proyek tidak akan bisa memecahkan masalah customer. Akan tetapi biaya yagn tak terbatas (infinite cost) juga bisa merusak.

3. Quality (mutu)

4. Scope (feature)

2. Time (waktu)

Next

Page 7: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

XP Variable

Extreme programing memiliki empat(4) buah variable :

Dengan meningkatkan waktu maka kita akan bisa menciptakan suatu program yang berkualitas dan dengan feature-feature yang lebih banyak. Akan tetapi jika waktu yang terlalu berlebihan tidak baik karena bisa merusak terhadap diri sendiri. Waktu yang terlalu sedikit juga tidak baik karena kualitas yang dihasilkan akan sangat jauh dari yang diharapkan.

3. Quality (mutu)

 1. Cost ( biaya )

4. Scope (feature)

2. Time (waktu)

Back Next

Page 8: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

XP Variable

Extreme programing memiliki empat(4) buah variable :

Mutu merupakan suatu variable pengendali yang sangat “mengerikan” karena merupakan sesuatu hal yang sangat diperhatikan consumer.

3. Quality (mutu)

 1. Cost ( biaya )

4. Scope (feature)

2. Time (waktu)

Back Next

Page 9: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

XP Variable

Extreme programing memiliki empat(4) buah variable :

Scope merupakan variable primer. Jika kita mengurangi Scope, maka maka kita bisa mengurangi dan biaya serta meningkatkan kualitas.

4. Scope (feature)

 1. Cost ( biaya )

3. Quality (mutu)

2. Time (waktu)

Back Next

Page 10: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

XP Value

1. Simplicity (kesederhanaan)

2. Communication

3. Feedback

4. Courage

Next

Page 11: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

XP Value

1. Simplicity (kesederhanaan)

XP memberi fungsionalitas yang sederhana seperti apa yang dibutuhkan oleh pebisnis sehingga XP dapat merancang software sederhana yang mendukung kebutuhan fungsionalitas. Dalam XP kita menulis kode apa yang mudah untuk dibaca, dimengerti, dan dimodifikasi. Membangun untuk saat ini dan bukan untuk besok merupakan motto dari kesederhanaan XP.

Back Next

Page 12: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

XP Value

2. Communication

Collaborative workspaces => ruangkerja kolaborasi

Co-location of development and business space => lokasi

pengembangan dan ruang bisnis

Paired development => pasangan pengembangan

Frequently changing pair partners => mengubah pasangan kerja

secara berkala

Frequently changing assignments => mengubah pembagian tugas

secara berkala

Public status displays => menampilkan status umum

Short standup meetings => pertemuan yang singkat

Unit tests, demos and oral communication, not documentation => tes

unit, demo dan komunikasi berbicara, bukan dokumentasi.

Back Next

Page 13: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

XP Value

3. Feedback

Feedback yang diberikan harus memenuhi syarat:

=> selalu agresif dan selalu bertambah/meningkat

=> seringkali direlease untuk pengguna

=> pengalokasian dengan pengguna

=> test unit yang otomatis

=> test fungsionalitas yang otomatis

Back Next

Page 14: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

XP Value

4. Courage

Merupakan proses pengeliminasian code-code yang salah. Dengan melakukan testing-testing, maka kita akan ter-courage untuk menghilangkan bad code yang ada.

Courage berfungsi agar:

=> program kita berjalan dengan benar dan sesuai

ekspektasi

=> untuk sukses latihan sangat dibutuhkan

Back Next

Page 15: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

XP Principles

Dalam penerapannya, Extreme Programming memiliki lima prinsip utama, yaitu:

1. Rapid Feedback

2. Assume Simplicity

3. Incremental Change

4. Embracing Change

5. Quality Work

Page 16: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

XP Principles

Menurut ilmu psikologi, waktu antara sebuah aksi dengan feedbacknya sangat penting untuk dipelajari. Dalam sebuah proyek XP, developer memperoleh feedback sesegera mungkin, menginterpretasikannya, lalu mengambil inti sarinya dan meletakkannya ke dalam system. Feedback dari pelanggan terhitung harian, bukan bulanan, dan feedback dari developer terhitung menitan, bukan mingguan!

Back

1. Rapid Feedback

2. Assume Simplicity

3. Incremental Change

4. Embracing Change

5. Quality Work

Dalam penerapannya, Extreme Programming memiliki lima prinsip utama, yaitu:

Page 17: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

Dalam penerapannya, Extreme Programming memiliki lima prinsip utama, yaitu:

Hanya mendesain untuk masalah saat ini dan menghemat waktu 98% dari masalah tersebut dan hanya menekuni sekitar 2% untuk bagian yang sulit. XP berencana untuk masa depan sehingga desainnya bias di-reuse, lakukan pekerjaan yang penting, dan percayalah bahwa untuk kekompleksitasan bias ditambahkan kemudian.

XP Principles

Back

1. Rapid Feedback

2. Assume Simplicity

3. Incremental Change

4. Embracing Change

5. Quality Work

Page 18: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

Dalam penerapannya, Extreme Programming memiliki lima prinsip utama, yaitu:

XP Principles

Pemecahan problem yaitu dengan bagian-bagian kecil perubahan saja. Jadi perubahan-perubahan yang terjadi pada XP melalui tahap-tahap kecil dan waktu yang singkat.

Back

1. Rapid Feedback

2. Assume Simplicity

3. Incremental Change

4. Embracing Change

5. Quality Work

Page 19: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

Dalam penerapannya, Extreme Programming memiliki lima prinsip utama, yaitu:

XP Principles

Mencari dan menyediakan terlebih dahulu sebanyak mungkin pilihan ketika menyelesaikan masalah yang begitu menekan.

Back

1. Rapid Feedback

2. Assume Simplicity

3. Incremental Change

4. Embracing Change

5. Quality Work

Page 20: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

Dalam penerapannya, Extreme Programming memiliki lima prinsip utama, yaitu:

XP Principles

Setiap orang suka mengerjakan pekerjaan yang bagus dan layak dan kualitas yang dimaksud di sini adalah kualitas yang sempurna dan kualitas yang sempurna secara ekstrim. Karena tanpa kualitas kita tidak akan suka melakukan pekerjaan tersebut, hasilnya tidak akan sempurna dan proyeknya akan jatuh berantakan.

Back Next

1. Rapid Feedback

2. Assume Simplicity

3. Incremental Change

4. Embracing Change

5. Quality Work

Page 21: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

XP Core practice

1. Planning

2. Merilis bagian-bagian dari software utuh, agar cepat ditemukan bug-nya dan

kemudianlangsung di-update.

3. Standarisasi penamaan, gunakan sistim penamaan yang disetujui bersama

untuk memudahkan komunikasi

4. KISS - Keep It Simple S*****, buat software sesederhana mungkin, tanpa

mengorbankan kebutuhan user.

5. Testing, pertama oleh programmernya sendiri, kemudian oleh customer,

dan baru kemudian source code tsb disetujui untuk diintegrasikan ke

proyek.

Page 22: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

XP Core practice

6. Refactoring, source code selalu di-cek kembali untuk memeriksa apakah ada

hal-hal yang tidak penting/masih bisa di-sederhanakan lagi?

(continued)

7. Kepemilikian bersama - seluruh source code dimiliki bersama, sehingga tidak

ada masalah birokrasi dimana sebelum dapat membetulkan/emngganti sesuatu

harus meminta izin terlebih dahulu kepada programmernya.

8. Integrasi yang kontinyu - integrasi kode dilakukan berkali-kali dalam sehari. Hal ini

kelihatannya merpotkan, namun pada prakteknya membuat para programmer jadi

terdorong untuk bekerja dengan cepat dan efisien. Namun yang terutama, teknik ini

membuat masalah integrasi yang biasa terjadi di akhir proyek menjadi nyaris nol.

Page 23: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

XP Core practice

10. On-site Customer - harus ada customer yang stand-by di lokasi proyek, dengan

otoritas untuk menentukan requirements, mengatur prioritas, dan menjawab

pertanyaan2 dari para programmer. Efek positifnya adalah komunikasi menjadi

sangat lancar, dan mengurangi ketergantungan ke dokumentasi hard-copy

sesuatu yang biasanya sangat memperlambat proyek software.

9. 40 jam dalam seminggu - kerja lembur tidak sehat, programmer XP hanya

diperbolehkan bekerja 40 jam dalam seminggu.

(continued)

Page 24: Extreme Programming (XP) Albert Kurniawan 1203000102 Fuady Rosma Hidayat 1203000471

XP Core practice

11. Pair Programming, ini mungkin adalah teknik yang paling besar kontribusinya

ke produktifitas programmer. Programmer yang bekerja berdua mendapatkan

keuntungan-keuntungan sebagai berikut:

Produktifitas tinggi, krn programmer menjadi lebih sering mood untuk

bekerja. Masalah mood ini cukup penting karena programming bisa

dikatakan 50% keahlian dan 50% seni.

Jika ada masalah, bisa cepat mendapatkan bantuan/saran.

Programmer jadi lebih terdorong untuk melakukan point-point diatas.

12. Standardisasi Code, setiap programmer meng-code dengan standard yang sama

sehingga dapat mendukung kepemilikan bersama.

(continued)