Perbezaan Antara Pemrograman Extreme dan SCRUM

Anonim

Pemrograman Extreme vs SCRUM | XP vs SCRUM

Terdapat banyak metodologi pembangunan perisian yang digunakan dalam industri perisian selama bertahun-tahun, seperti kaedah pembangunan Air Terjun, V-Model, RUP dan kaedah linear-iteratif linier, iteratif dan gabungan yang lain. Model tangkas (atau lebih tepat, sekumpulan metodologi) adalah model pembangunan perisian yang lebih baru yang diperkenalkan oleh manifesto Agile untuk menangani kekurangan yang terdapat dalam metodologi pembangunan perisian tradisional.

Kaedah tangkas didasarkan pada pembangunan berulang dan menggunakan maklum balas dari pengguna sebagai mekanisme kawalan utama. Agile boleh dipanggil pendekatan orang-centric daripada kaedah tradisional. Model Agile menyampaikan versi produk yang sangat awal dengan memecah sistem ke bahagian kecil yang sangat kecil dan boleh diurus, supaya pelanggan dapat menyedari beberapa manfaat awal. Ujian masa kitaran Agile agak pendek berbanding dengan kaedah tradisional, kerana ujian dilakukan selari dengan pembangunan. Kerana semua kelebihan ini, kaedah Agile lebih disukai daripada metodologi tradisional pada masa ini. Scrum dan pengaturan Extreme adalah dua daripada variasi kaedah Agile yang paling popular.

Apa itu SCRUM?

Seperti yang disebutkan di atas, SCRUM adalah proses pengurusan projek bertambah dan berulang, yang dimiliki oleh keluarga kaedah Agile. SCRUM adalah berdasarkan memberi keutamaan kepada penyertaan pelanggan awal dalam kitaran pembangunan. Ia mencadangkan menggabungkan ujian oleh pelanggan awal dan seringkali yang mungkin. Ujian dilakukan pada setiap titik ketika versi stabil tersedia. Asas SCRUM didasarkan pada permulaan ujian dari permulaan projek dan berterusan sepanjang akhir projek.

Nilai utama SCRUM adalah "kualiti adalah tanggungjawab pasukan", yang menegaskan bahawa kualiti perisian adalah tanggungjawab seluruh pasukan (bukan hanya pasukan ujian). Satu aspek lain yang penting SCRUM adalah memecahkan perisian ke bahagian-bahagian yang lebih mudah diurus dan menyampaikannya kepada pelanggan dengan cepat. Menyampaikan produk yang bekerja sangat penting. Kemudian pasukan terus meningkatkan perisian dan menyampaikan secara berterusan pada setiap langkah utama. Ini dicapai melalui kitaran pelepasan yang sangat pendek (dipanggil sprint) dan mendapatkan maklum balas untuk penambahbaikan pada akhir setiap kitaran.

SCRUM mentakrifkan beberapa peranan utama untuk operasi lancar pasukan pembangunan. Mereka adalah pemilik Produk (yang mewakili pelanggan dan mengekalkan produk backlog), master Scrum (yang bertindak sebagai penganjur dan penyelaras pasukan dengan menjalankan mesyuarat scrum, mengekalkan tunggakan pecut dan membakar carta) dan ahli pasukan lain.Sebuah pasukan mungkin terdiri daripada peranan tradisional, tetapi kebanyakannya adalah pasukan kendali diri. Artefak Scrum Utama adalah backlog produk / backlog pengeluaran (senarai keinginan), backlogs / backlogs Sprint (tugas dalam setiap lelaran), Burn chart (baki kerja vs tarikh). Upacara SCRUM utama adalah mesyuarat Takat Produk, mesyuarat Sprint dan mesyuarat Retrospect.

Apa itu Pengaturcaraan Extreme?

Pengaturcaraan Extreme (disingkat XP) adalah metodologi pembangunan perisian yang dimiliki oleh model Agile. Pengaturcaraan melampau menjalankan fasa dalam langkah berterusan yang kecil (berbanding dengan kaedah tradisional). Pas pertama, yang hanya mengambil satu hari atau seminggu, sengaja tidak lengkap. Untuk menyediakan matlamat konkrit untuk membangunkan perisian, ujian automatik ditulis pada awal. Kemudian pemaju melakukan pengekodan. Fokusnya ialah melakukan pengaturcaraan sebagai pasangan. Apabila semua ujian lulus, pengkodan dianggap lengkap. Fasa seterusnya adalah reka bentuk dan seni bina, yang berkaitan dengan refactoring kod oleh set programmer yang sama. Pada akhir fasa ini, produk tidak lengkap (tetapi berfungsi) dikemukakan kepada pihak yang berkepentingan. Selepas ini, fasa seterusnya (yang memfokuskan kepada set berikutnya ciri-ciri yang paling penting) bermula.

Apakah perbezaan antara Pemrograman Extreme dan SCRUM?

Pengaturcaraan Extreme dan SCRUM adalah metodologi yang hampir sama dan sejajar. Walau bagaimanapun, terdapat perbezaan yang ketara tetapi penting antara kedua-dua kaedah ini. SCRUM sprint berlangsung selama 2-4 minggu, manakala lelaran XP biasa lebih pendek (1-2 minggu terakhir). Biasanya, pasukan SCRUM tidak membenarkan perubahan pada sprint, tetapi pasukan XP sedikit lebih fleksibel terhadap perubahan dalam lelaran. Sebagai contoh, selepas perancangan pecut, set item pecut itu tetap tidak berubah, tetapi ciri yang tidak berfungsi pada bila-bila boleh ditukar dengan beberapa ciri lain dalam XP. Satu lagi perbezaan di antara XP dan SCRUM ialah, urutan ciri yang dibangunkan dalam XP adalah satu yang diprioritaskan oleh pelanggan, sementara pasukan SCRUM memutuskan pesanan item (selepas backlog produk diprioritaskan oleh pemilik produk SCRUM).

Tidak seperti XP, SCRUM tidak meletakkan apa-apa amalan kejuruteraan. Sebagai contoh, XP didorong oleh amalan seperti pembangunan yang didorong oleh ujian (TDD), pemrograman pasangan, refactoring, dan lain-lain. Walau bagaimanapun, ada yang percaya bahawa mandat satu set amalan pada pasukan penganjur sendiri mungkin mempunyai kesan negatif, dan ini boleh dipertimbangkan kekurangan XP. Satu lagi kekurangan pengaturcaraan Extreme adalah bahawa pasukan yang berpengalaman mungkin cenderung refactor tanpa sebarang ujian automatik atau TDD (atau hanya menggodam). Oleh itu, sesetengahnya mencadangkan SCRUM lebih baik untuk menatap (kerana ia membawa peningkatan yang besar dengan hanya melalui lelaran terperinci) dan XP sesuai untuk pasukan yang matang yang telah menemui nilai amalan yang disebutkan di atas (daripada menggunakannya kerana mereka telah ditanya untuk berbuat demikian).