Pengaturcaraan Extreme vs Scrum | XP vs scrum
Terdapat bilangan metodologi pembangunan perisian yang berbeza yang digunakan dalam industri perisian selama bertahun-tahun, seperti kaedah pembangunan air terjun, model V, RUP dan beberapa kaedah linear linear, berulang dan gabungan yang lain. Model Agile (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 tersebut.
Kaedah tangkas berdasarkan perkembangan berulang dan menggunakan maklum balas daripada pengguna sebagai mekanisme kawalan utama. Agile boleh dipanggil pendekatan yang berpusatkan rakyat daripada kaedah tradisional. Model Agile menyampaikan versi produk yang bekerja sangat awal dengan memecahkan sistem ke bahagian sub yang sangat kecil dan terkawal, supaya pelanggan dapat merealisasikan beberapa manfaat awal. Ujian masa kitaran tangkas agak pendek berbanding dengan kaedah tradisional, kerana ujian dilakukan selari dengan pembangunan. Kerana semua kelebihan ini, kaedah tangkas lebih disukai daripada metodologi tradisional pada masa ini. Scrum dan pengaturcaraan melampau adalah dua variasi kaedah yang paling popular.
Apa itu scrum?
Seperti yang disebutkan di atas, Scrum adalah proses pengurusan projek tambahan dan berulang, yang dimiliki oleh keluarga kaedah tangkas. Scrum didasarkan pada memberi keutamaan yang tinggi kepada penyertaan pelanggan pada awal kitaran pembangunan. Ia mengesyorkan menggabungkan ujian oleh pelanggan awal dan selalunya mungkin. Ujian dilakukan pada setiap titik apabila versi stabil tersedia. Asas Scrum didasarkan pada ujian permulaan dari awal projek dan berterusan sepanjang akhir projek.
Nilai Utama Scrum adalah "Kualiti adalah tanggungjawab pasukan", yang menekankan bahawa kualiti perisian adalah tanggungjawab seluruh pasukan (bukan hanya pasukan ujian). Satu aspek penting lain Scrum memecah perisian ke bahagian -bahagian yang boleh diurus yang lebih kecil dan menyampaikannya kepada pelanggan dengan cepat. Menyampaikan produk kerja adalah sangat penting. Kemudian pasukan terus memperbaiki perisian dan menyampaikan secara berterusan pada setiap langkah utama. Ini dicapai dengan mempunyai kitaran pelepasan yang sangat singkat (dipanggil sprints) dan mendapat 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 backlog produk), Scrum Master (yang bertindak sebagai penganjur dan penyelaras pasukan dengan mengadakan mesyuarat scrum, mengekalkan backlog sprint dan membakar carta) dan ahli pasukan lain. Pasukan mungkin terdiri daripada peranan tradisional, tetapi kebanyakannya mereka mengurus diri. Artefak scrum utama adalah backlog backlog/pelepasan produk (senarai keinginan), backlogs sprint/kecacatan kecacatan (tugas dalam setiap lelaran), membakar carta (kerja baki vs. Tarikh). Upacara scrum utama adalah mesyuarat backlog produk, mesyuarat pecut dan mesyuarat penglihatan.
Apa itu pengaturcaraan yang melampau?
Pengaturcaraan Extreme (disingkat XP) adalah metodologi pembangunan perisian yang dimiliki oleh model tangkas. Pengaturcaraan yang melampau menjalankan fasa dalam langkah berterusan yang sangat kecil (berbanding dengan kaedah tradisional). Pas pertama, yang hanya mengambil masa sehari atau seminggu, tidak sengaja tidak lengkap. Untuk memberikan matlamat konkrit untuk membangunkan perisian, ujian automatik ditulis pada permulaan. Kemudian pemaju melakukan pengekodan. Tumpuannya adalah melakukan pengaturcaraan sebagai pasangan. Setelah semua ujian berlalu, pengekodan dianggap lengkap. Fasa seterusnya adalah reka bentuk dan seni bina, yang berkaitan dengan refactoring kod dengan set pengaturcara yang sama. Pada akhir fasa ini, produk tidak lengkap (tetapi berfungsi) dibentangkan kepada pihak berkepentingan. Sebaik sahaja ini, fasa seterusnya (yang memberi tumpuan kepada set seterusnya ciri -ciri yang paling penting) bermula.
Apakah perbezaan antara pengaturcaraan dan scrum yang melampau?
Pengaturcaraan dan scrum yang melampau difahami sangat serupa dan metodologi sejajar. Walau bagaimanapun, terdapat perbezaan yang halus tetapi penting antara kedua -dua kaedah ini. Sprint scrum bertahan selama 2-4 minggu, sementara lelaran XP biasa lebih pendek (1-2 minggu terakhir). Biasanya, pasukan scrum tidak membenarkan perubahan dalam sprint, tetapi pasukan XP sedikit lebih fleksibel untuk perubahan dalam lelaran. Sebagai contoh, selepas perancangan pecut, set item pecut itu tetap tidak berubah, tetapi satu ciri yang belum dimulakan boleh bekerja pada bila -bila masa boleh ditukar dengan beberapa ciri lain dalam XP. Satu lagi perbezaan antara XP dan Scrum ialah, susunan ciri yang dibangunkan dalam XP adalah satu yang diprioritaskan oleh pelanggan, sementara pasukan Scrum memutuskan susunan item (selepas backlog produk diprioritaskan oleh pemilik produk scrum).
Tidak seperti XP, Scrum tidak meletakkan sebarang amalan kejuruteraan. Sebagai contoh, XP didorong oleh amalan seperti pembangunan yang didorong oleh ujian (TDD), pengaturcaraan pasangan, refactoring, dll. Walau bagaimanapun, ada yang percaya bahawa mandat satu set amalan ke atas pasukan penganjur diri boleh memberi impak negatif, dan ini boleh dianggap sebagai kekurangan XP. Satu lagi kelemahan pengaturcaraan yang melampau adalah bahawa pasukan yang tidak berpengalaman mungkin cenderung untuk refactor tanpa sebarang ujian automatik atau TDD (atau hanya penggodaman). Oleh itu, ada yang mencadangkan bahawa Scrum lebih baik untuk menatap (kerana ia membawa peningkatan yang besar hanya melalui lelaran timebox yang difokuskan) dan XP sesuai untuk pasukan yang sedikit matang yang telah menemui nilai amalan yang disebutkan di atas (bukannya menggunakannya kerana mereka telah ditanya untuk berbuat demikian).