Pengaturcaraan Ekstrim vs SCRUM | XP vs SCRUM
Terdapat sejumlah metodologi pengembangan perisian yang berbeza yang digunakan dalam industri perisian selama bertahun-tahun, seperti kaedah pengembangan Waterfall, V-Model, RUP dan beberapa kaedah linear, berulang dan gabungan linear-iteratif lain. Model Agile (atau lebih tepat lagi, sekumpulan metodologi) adalah model pengembangan perisian yang lebih baru yang diperkenalkan oleh manifesto Agile untuk mengatasi kekurangan yang terdapat dalam metodologi pengembangan perisian tradisional tersebut.
Kaedah lincah didasarkan pada pengembangan berulang dan menggunakan maklum balas dari pengguna sebagai mekanisme kawalan utama. Lincah dapat disebut pendekatan berpusatkan rakyat daripada kaedah tradisional. Model Agile memberikan versi produk yang berfungsi dengan sangat awal dengan memecah sistem ke bahagian yang sangat kecil dan terkawal, supaya pelanggan dapat mengetahui beberapa faedahnya sejak awal. Masa kitaran pengujian Agile agak singkat berbanding kaedah tradisional, kerana pengujian dilakukan selari dengan perkembangan. Kerana semua kelebihan ini, kaedah Agile lebih disukai daripada metodologi tradisional pada masa ini. Pengaturcaraan Scrum dan Extreme adalah dua variasi kaedah Agile yang paling popular.
Apa itu SCRUM?
Seperti yang disebutkan di atas, SCRUM adalah proses manajemen proyek tambahan dan berulang, yang termasuk dalam keluarga kaedah Agile. SCRUM didasarkan pada memberi keutamaan tinggi kepada penyertaan pelanggan pada awal kitaran pembangunan. Ia mengesyorkan menggabungkan ujian oleh pelanggan lebih awal dan sesering mungkin. Pengujian dilakukan pada setiap titik apabila versi stabil tersedia. Asas SCRUM didasarkan pada memulakan ujian dari awal projek dan berterusan hingga akhir projek.
Nilai utama SCRUM adalah "kualiti adalah tanggungjawab pasukan", yang menekankan bahawa kualiti perisian adalah tanggungjawab seluruh pasukan (bukan hanya pasukan penguji). Salah satu aspek penting lain dari SCRUM adalah memecah perisian ke bahagian yang lebih kecil yang dapat dikendalikan dan memberikannya kepada pelanggan dengan cepat. Menyampaikan produk yang berfungsi sangat penting. Kemudian pasukan terus meningkatkan perisian dan menyampaikan secara berterusan pada setiap langkah utama. Ini dicapai dengan mempunyai kitaran pelepasan yang sangat pendek (disebut pecut) dan mendapatkan maklum balas untuk peningkatan pada akhir setiap kitaran.
SCRUM mendefinisikan beberapa peranan penting untuk kelancaran operasi pasukan pembangunan. Mereka adalah pemilik Produk (yang mewakili pelanggan dan mengekalkan tunggakan produk), Scrum master (yang bertindak sebagai penganjur dan penyelaras pasukan dengan mengadakan perjumpaan scrum, menjaga backlog pecut dan membakar carta) dan ahli pasukan yang lain. Pasukan mungkin terdiri daripada peranan tradisional, tetapi kebanyakannya adalah pasukan yang menguruskan diri sendiri. Artefak Scrum Utama adalah backlog Produk / backlog pelepasan (senarai keinginan), Sprint backlog / defect backlogs (tugas dalam setiap lelaran), Burn down chart (baki kerja berbanding tarikh). Upacara SCRUM utama adalah mesyuarat Product backlog, Sprint meeting dan Retrospect.
Apa itu Pengaturcaraan Ekstrim?
Extreme Programming (disingkat XP) adalah metodologi pengembangan perisian yang tergolong dalam model Agile. Pengaturcaraan ekstrim menjalankan fasa dalam langkah berterusan yang sangat kecil (berbanding kaedah tradisional). Pas pertama, yang hanya mengambil masa sehari atau seminggu, sengaja tidak lengkap. Untuk memberikan tujuan yang konkrit untuk mengembangkan perisian, ujian automatik ditulis pada awalnya. Kemudian pembangun melakukan pengekodan. Fokusnya adalah pada pengaturcaraan secara berpasangan. Setelah semua ujian lulus, pengekodan dianggap lengkap. Fasa seterusnya adalah reka bentuk dan seni bina, yang berkaitan dengan pemurnian semula kod oleh set programer yang sama. Pada akhir fasa ini, produk yang tidak lengkap (tetapi berfungsi) disampaikan kepada pihak berkepentingan. Sejurus selepas ini, fasa seterusnya (yang memfokuskan pada set ciri terpenting seterusnya) bermula.
Apakah perbezaan antara Pengaturcaraan Ekstrim dan SCRUM?
Pemrograman Ekstrim dan SCRUM dimengerti metodologi yang sangat serupa dan sejajar. Walau bagaimanapun, terdapat perbezaan yang halus tetapi penting antara kedua kaedah ini. Lari pecut SCRUM berlangsung selama 2-4 minggu, sementara iterasi XP biasa lebih pendek (1-2 minggu terakhir). Biasanya, pasukan SCRUM tidak membenarkan perubahan pada pecut, tetapi pasukan XP sedikit lebih fleksibel terhadap perubahan dalam lelaran. Sebagai contoh, setelah perencanaan pecut, sekumpulan item sprint itu tidak berubah, tetapi ciri yang belum mulai berfungsi dapat bertukar dengan beberapa fitur lain di XP kapan saja. Perbezaan lain antara XP dan SCRUM adalah bahawa, susunan ciri yang dikembangkan di XP adalah yang diutamakan secara ketat oleh pelanggan, sementara pasukan SCRUM memutuskan urutan item (setelah tunggakan produk diprioritaskan oleh pemilik Produk SCRUM).
Tidak seperti XP, SCRUM tidak menetapkan amalan kejuruteraan. Sebagai contoh, XP didorong oleh amalan seperti pengembangan yang digerakkan oleh ujian (TDD), pengaturcaraan pasangan, pemfaktoran semula, dan lain-lain. Namun, ada yang percaya bahawa mewajibkan sekumpulan amalan pada pasukan yang mengatur sendiri dapat memberi kesan negatif, dan ini dapat dipertimbangkan kekurangan XP. Kelemahan lain dari pengaturcaraan Extreme adalah bahawa pasukan yang tidak berpengalaman cenderung cenderung melakukan refactor tanpa ujian automatik atau TDD (atau hanya menggodam). Oleh itu, ada yang berpendapat bahawa SCRUM lebih baik untuk menatap (kerana ia membawa peningkatan besar hanya melalui lelaran kotak waktu yang difokuskan) dan XP sesuai untuk pasukan yang sedikit matang yang telah mengetahui nilai amalan yang disebutkan di atas (daripada menggunakannya kerana mereka telah diminta untuk berbuat demikian).