JS

Tuesday, June 08, 2021

Perbedaan SCRUM , Extreme Programming dan Kanban didalam project Agile



Dilansir dari berbagai sumber, XP dan Scrum adalah proses pengembangan yang mengikuti nilai-nilai itu. Keduanya "sama gesitnya"/ Agile.

Perbedaan besar antara Scrum dan XP adalah bahwa Scrum tidak mengandung praktik khusus untuk pemrograman , sedangkan XP memiliki banyak praktik (TDD, integrasi berkelanjutan, pemrograman pasangan).

Apa itu SCRUM?

Seperti disebutkan di atas, SCRUM adalah proses manajemen proyek tambahan dan berulang, yang termasuk dalam keluarga metode Agile. SCRUM didasarkan pada pemberian prioritas tinggi pada partisipasi pelanggan di awal siklus pengembangan. Ini merekomendasikan penggabungan pengujian oleh pelanggan sedini dan sesering mungkin. Pengujian dilakukan di setiap titik saat versi stabil tersedia. Fondasi SCRUM didasarkan pada pengujian awal dari awal proyek dan berlanjut hingga akhir proyek.

Nilai kunci SCRUM adalah "kualitas adalah tanggung jawab tim", yang menekankan bahwa kualitas perangkat lunak adalah tanggung jawab seluruh tim (bukan hanya tim penguji). Satu aspek penting lainnya dari SCRUM adalah memecah perangkat lunak menjadi bagian-bagian kecil yang dapat dikelola dan mengirimkannya ke pelanggan dengan sangat cepat. Memberikan produk yang berfungsi adalah yang paling penting. Kemudian tim terus meningkatkan perangkat lunak dan mengirimkannya secara berkelanjutan di setiap langkah utama. Ini dicapai dengan memiliki siklus rilis yang sangat singkat (disebut sprint) dan mendapatkan umpan balik untuk perbaikan di akhir setiap siklus.

SCRUM mendefinisikan beberapa peran kunci untuk kelancaran operasi tim pengembangan. Mereka adalah Product owner (yang mewakili pelanggan dan memelihara product backlog), Scrum master (yang bertindak sebagai penyelenggara dan koordinator tim dengan melakukan rapat scrum, memelihara sprint backlog dan burn down chart) dan anggota tim lainnya. Sebuah tim mungkin terdiri dari peran tradisional, tetapi kebanyakan mereka adalah tim yang mengatur diri sendiri. Artefak Scrum utama adalah Product backlog / release backlog (wish list), Sprint backlogs / defect backlogs (tugas di setiap iterasi), Burn down chart (sisa pekerjaan vs. tanggal). Upacara SCRUM utama adalah pertemuan Product backlog, pertemuan Sprint dan pertemuan Retrospeksi.

Apa itu Pemrograman Ekstrim (XP) ?

Extreme Programming (disingkat XP) adalah metodologi pengembangan perangkat lunak milik model Agile. Pemrograman ekstrim melakukan tahapan dalam langkah-langkah kontinu yang sangat kecil (dibandingkan dengan metode tradisional). Lintasan pertama, yang hanya membutuhkan satu hari atau seminggu, sengaja tidak lengkap. Untuk memberikan tujuan konkret untuk mengembangkan perangkat lunak, tes otomatis ditulis di awal. Kemudian pengembang melakukan pengkodean. Fokusnya adalah melakukan pemrograman sebagai pasangan. Setelah semua tes lulus, pengkodean dianggap selesai. Fase berikutnya adalah desain dan arsitektur, yang berhubungan dengan pemfaktoran ulang kode oleh sekumpulan programmer yang sama. Pada akhir fase ini, produk yang tidak lengkap (tapi fungsional) disajikan kepada para pemangku kepentingan. Tepat setelah ini, fase berikutnya (yang berfokus pada rangkaian fitur terpenting berikutnya) dimulai.

Apa itu Kanban ?

Kanban adalah salah satu metode dalam manajemen proyek dengan cara membuat visualisasi menggunakan papan, kolom, dan kartu untuk mengelola tugas dan alur kerja secara lebih efektif.

Visualisasi itu memungkinkan tim untuk melihat tugas atau pekerjaan yang sedang berlangsung dan memahami informasi kompleks seperti proses, hubungan antar tugas, serta masalah atau risiko yang memengaruhi kemampuan tim dalam menyelesaikan pekerjaan tersebut dengan tepat waktu.

Kanban sendiri sebenarnya dalam bahasa Jepang berarti "tanda visual" atau "kartu". Konsep ini pertama kali dikembangkan pada tahun 1940-an oleh Taiichi Ohno salah satu engineer di perusahaan Toyota, Jepang. 

Pada saat itu Taiichi mengembangkan Kanban sebagai sistem perencanaan sederhana untuk mengontrol dan mengelola pekerjaan serta inventaris pada setiap tahapan produksi Toyota secara optimal.

Ide ini ia dapatkan setelah melihat cara kerja supermaket yang mampu mengelola inventaris dengan efisien sesuai dengan jumlah permintaan konsumen. 

Hal tersebut dilakukan dengan memesan pasokan dari vendor dan mengisi ulang produk hanya ketika melihat sinyal visual berupa rak yang hampir kosong di toko mereka. 

Pendekatan ini yang kemudian diterapkan pada Toyota, sebab saat itu Taiichi mengidentifikasi masalah dalam manajemen inventaris mereka yang tidak efisien.

Metode tersebut diterapkan dengan cara  mengomunikasikan tingkat kapasitas pekerjaan setiap pekerja di pabrik secara real time dengan memberikan kartu antar tim. Misalnya ketika bahan-bahan di jalur produksi kosong, kartu kanban akan dikirimkan ke bagian gudang untuk memberitahu apa saja yang dibutuhkan. 

Bagian gudang lalu akan memberikan sinyal kebutuhan ini pada pemasok yang akan mengirimkan inventaris ke gudang. Proses ini kemudian dikenal sebagai awal dari konsep proses manufaktur JIT atau just in time

Metode Kanban juga dipopulerkan kembali oleh David.J Anderson dalam bukunya Kanban: Successful Evolutionary Change for Your Technology Business dan banyak diadopsi ke dalam manajemen proyek, IT, dan software development

Salah satu alasan Kanban banyak digunakan adalah karena metode ini menawarkan beberapa manfaat, seperti: 

  • Meningkatkan kolaborasi.
  • Pemberdayaan karyawan.
  • Alur kerja yang lebih lancar.
  • Manajemen inventaris yang lebih baik.
  • Meningkatkan quality control.
  • Fleksibel. 
  • Peningkatan atau perbaikan yang berkelanjutan.
  • Efisiensi waktu.
  • Membantu kemampuan tim untuk fokus.

 

Apa perbedaan antara Extreme Programming dan SCRUM?

  • Pemrograman Ekstrim dan SCRUM dapat dipahami sebagai metodologi yang sangat mirip dan selaras. Namun, ada perbedaan halus namun penting antara kedua metode ini. SCRUM sprint berlangsung selama 2-4 minggu, sedangkan iterasi XP biasa lebih pendek (1-2 minggu terakhir). Biasanya, tim SCRUM tidak mengizinkan perubahan pada sprint, tetapi tim XP sedikit lebih fleksibel terhadap perubahan dalam iterasi. Misalnya, setelah perencanaan sprint, kumpulan item sprint tersebut tetap tidak berubah, tetapi fitur yang belum mulai bekerja dapat ditukar kapan saja dengan beberapa fitur lain di XP. Perbedaan lain antara XP dan SCRUM adalah bahwa, urutan fitur yang dikembangkan di XP sangat diprioritaskan oleh pelanggan, sementara tim SCRUM memutuskan urutan item (setelah product backlog diprioritaskan oleh pemilik Produk SCRUM).
  • Tidak seperti XP, SCRUM tidak menetapkan praktik teknik apa pun. Misalnya, XP didorong oleh praktik seperti pengembangan yang digerakkan oleh pengujian (TDD), pemrograman pasangan, pemfaktoran ulang, dll. Namun, beberapa percaya bahwa mengamanatkan serangkaian praktik pada tim yang mengatur diri sendiri dapat berdampak negatif, dan ini dapat dipertimbangkan kekurangan XP. Kekurangan lain dari pemrograman Extreme adalah bahwa tim yang tidak berpengalaman mungkin cenderung melakukan refactor tanpa tes otomatis atau TDD (atau sekadar peretasan). Oleh karena itu, beberapa menyarankan bahwa SCRUM lebih baik untuk menatap (karena membawa peningkatan besar hanya melalui iterasi timeboxed terfokus) dan XP cocok untuk tim yang sedikit dewasa yang telah menemukan nilai dari praktik yang disebutkan di atas (daripada menggunakannya karena mereka telah diminta untuk melakukannya).
  • Sedangkan Kanban, salah satu metode dalam manajemen proyek dengan cara terfokus untuk membuat visualisasi menggunakan papan, kolom, dan kartu untuk mengelola tugas dan alur kerja secara lebih efektif. Visualisasi itu memungkinkan tim untuk melihat tugas atau pekerjaan yang sedang berlangsung dan memahami informasi kompleks seperti proses, hubungan antar tugas, serta masalah atau risiko yang memengaruhi kemampuan tim dalam menyelesaikan pekerjaan tersebut dengan tepat waktu.

sumber:

No comments:

Post a Comment