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 kelemahan 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 sejajar dengan pembangunan. Kerana semua kelebihan ini, kaedah Agile lebih disukai berbanding metodologi tradisional pada masa ini. Pengaturcaraan Scrum dan 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 didasarkan pada memberi keutamaan kepada penyertaan pelanggan awal dalam kitaran pembangunan. Ia mengesyorkan menggabungkan ujian oleh pelanggan awal dan seringkali yang mungkin. Ujian dilakukan pada setiap titik apabila versi stabil tersedia. Asas SCRUM didasarkan pada permulaan ujian dari awal projek dan meneruskan sepanjang hingga 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 penting lain SCRUM adalah memecahkan perisian ke bahagian-bahagian yang lebih mudah diurus dan menyampaikannya kepada pelanggan dengan cepat. Memberi 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 singkat (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 tunggakan produk), master Scrum (yang bertindak sebagai penganjur dan penyelaras pasukan dengan menjalankan mesyuarat scrum, mengekalkan tunggakan pecut dan membakar carta) dan ahli pasukan lain. Pasukan mungkin terdiri daripada peranan tradisional, tetapi kebanyakannya adalah pasukan pengurusan diri. Artefak Scrum Utama adalah backlog produk / backlog pengeluaran (senarai keinginan), backlogs Backlog / backlogs cacat (tugas dalam setiap lelaran), Burn carta (baki kerja vs tarikh). Upacara SCRUM utama adalah mesyuarat Takat Produk, mesyuarat Sprint dan mesyuarat Retrospect.
Apakah 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 memberikan 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) dipersembahkan kepada pihak berkepentingan. Selepas itu, fasa seterusnya (yang memfokuskan kepada set ciri paling penting seterusnya) bermula.
Apakah perbezaan antara Pemrograman Extreme dan SCRUM?
Pemrograman 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 kepada perubahan dalam lelaran. Sebagai contoh, selepas perancangan pecut, set item pecut itu tetap tidak berubah, tetapi ciri yang tidak berfungsi pada bila-bila masa 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 berasaskan ujian (TDD), pemrograman sepasang, 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 pemrograman Extreme adalah bahawa pasukan berpengalaman mungkin cenderung refactor tanpa sebarang ujian automatik atau TDD (atau hanya menggodam). Oleh itu, sesetengah mencadangkan SCRUM lebih baik untuk menatap (kerana ia membawa penambahbaikan yang besar dengan hanya melalui lelaran berulang kali tumpuan) dan XP sesuai untuk pasukan yang matang yang telah menemui nilai amalan yang dinyatakan di atas (daripada menggunakannya kerana mereka telah ditanya untuk berbuat demikian).