Perbedaan Antara Extreme Programming dan SCRUM

Perbedaan Antara Extreme Programming dan SCRUM
Perbedaan Antara Extreme Programming dan SCRUM

Video: Perbedaan Antara Extreme Programming dan SCRUM

Video: Perbedaan Antara Extreme Programming dan SCRUM
Video: Perbedaan Bluetooth Ampliflier VS Bluetooth Receiver Amplifier Decoder 2024, Desember
Anonim

Pemrograman Ekstrim vs SCRUM | XP vs SCRUM

Ada sejumlah metodologi pengembangan perangkat lunak yang berbeda yang digunakan dalam industri perangkat lunak selama bertahun-tahun, seperti metode pengembangan Waterfall, V-Model, RUP dan beberapa metode linear, iteratif, dan kombinasi linear-iteratif lainnya. Model Agile (atau lebih tepatnya, sekelompok metodologi) adalah model pengembangan perangkat lunak yang lebih baru yang diperkenalkan oleh manifesto Agile untuk mengatasi kekurangan yang ditemukan dalam metodologi pengembangan perangkat lunak tradisional tersebut.

Metode Agile didasarkan pada pengembangan berulang dan menggunakan umpan balik dari pengguna sebagai mekanisme kontrol utama. Agile bisa disebut pendekatan people-centric daripada metode tradisional. Model Agile memberikan versi kerja produk sangat awal dengan memecah sistem menjadi sub bagian yang sangat kecil dan dapat dikelola, sehingga pelanggan dapat menyadari beberapa manfaat sejak dini. Waktu siklus pengujian Agile relatif singkat dibandingkan dengan metode tradisional, karena pengujian dilakukan paralel dengan pengembangan. Karena semua kelebihan ini, metode Agile lebih disukai daripada metodologi tradisional saat ini. Pemrograman Scrum dan Extreme adalah dua variasi metode Agile yang paling populer.

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 untuk memasukkan pengujian oleh pelanggan lebih awal dan sesering mungkin. Pengujian dilakukan pada setiap titik ketika versi stabil telah tersedia. Landasan 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 pengujian). Salah satu aspek penting lain dari SCRUM adalah memecah perangkat lunak menjadi bagian-bagian yang lebih 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 memberikan secara terus menerus pada setiap langkah utama. Hal ini dicapai melalui 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 mengelola 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 dapat terdiri dari peran tradisional, tetapi kebanyakan mereka adalah tim yang mengelola diri sendiri. Artefak Scrum utama adalah Product backlog/release backlog (wish list), Sprint backlog/defect backlog (tugas di setiap iterasi), Burn down charts (sisa pekerjaan vs. tanggal). Upacara utama SCRUM adalah rapat Product backlog, rapat Sprint dan rapat Retrospeksi.

Apa itu Extreme Programming?

Extreme Programming (disingkat XP) adalah metodologi pengembangan perangkat lunak yang termasuk dalam model Agile. Pemrograman ekstrim melakukan fase dalam langkah-langkah kontinu yang sangat kecil (dibandingkan dengan metode tradisional). Pass pertama, yang hanya memakan waktu sehari 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 refactoring kode oleh set programmer yang sama. Pada akhir fase ini, produk yang tidak lengkap (tetapi fungsional) disajikan kepada para pemangku kepentingan. Tepat setelah ini, fase berikutnya (yang berfokus pada kumpulan fitur terpenting berikutnya) dimulai.

Apa perbedaan Extreme Programming dan SCRUM?

Extreme Programming dan SCRUM adalah 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 tipikal 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, set item dari sprint tersebut tetap tidak berubah, tetapi fitur yang belum mulai bekerja kapan saja dapat ditukar dengan beberapa fitur lain di XP. Perbedaan lain antara XP dan SCRUM adalah, urutan fitur yang dikembangkan di XP sangat diprioritaskan oleh pelanggan, sedangkan tim SCRUM memutuskan urutan item (setelah product backlog diprioritaskan oleh pemilik Produk SCRUM).

Tidak seperti XP, SCRUM tidak menetapkan praktik rekayasa apa pun. Misalnya, XP didorong oleh praktik seperti test-driven development (TDD), pair programming, refactoring, dll. Namun, beberapa percaya bahwa mengamanatkan serangkaian praktik pada tim yang mengatur diri sendiri dapat berdampak negatif, dan ini dapat dipertimbangkan kekurangan XP. Kelemahan lain dari pemrograman Extreme adalah bahwa tim yang tidak berpengalaman mungkin cenderung melakukan refactor tanpa tes otomatis atau TDD (atau hanya meretas). Oleh karena itu, beberapa menyarankan bahwa SCRUM lebih baik untuk menatap (karena membawa peningkatan besar hanya melalui iterasi kotak waktu yang terfokus) dan XP cocok untuk tim yang sedikit matang yang telah menemukan nilai dari praktik yang disebutkan di atas (daripada menggunakannya karena mereka telah diminta untuk melakukannya).

Direkomendasikan: