Ekstremal dasturlash va SCRUM o'rtasidagi farq

Ekstremal dasturlash va SCRUM o'rtasidagi farq
Ekstremal dasturlash va SCRUM o'rtasidagi farq

Video: Ekstremal dasturlash va SCRUM o'rtasidagi farq

Video: Ekstremal dasturlash va SCRUM o'rtasidagi farq
Video: Boshqaruvining zamoniy usuli [Agile haqida]. 2024, Iyul
Anonim

Ekstremal dasturlash va SCRUM | XP va SCRUM

Dasturiy ta'minot sanoatida yillar davomida bir qancha turli xil dasturiy ta'minot ishlab chiqish metodologiyalari qo'llanilgan, masalan, "Palalosa" ishlab chiqish usuli, V-Model, RUP va boshqa bir nechta chiziqli, iterativ va kombinatsiyalangan chiziqli-iterativ usullar. Agile modeli (yoki toʻgʻrirogʻi, metodologiyalar guruhi) bu anʼanaviy dasturiy taʼminotni ishlab chiqish metodologiyalarida topilgan kamchiliklarni bartaraf etish uchun Agile manifestida joriy qilingan dasturiy taʼminotni ishlab chiqishning eng yangi modelidir.

Agile usullari iterativ rivojlanishga asoslangan va asosiy boshqaruv mexanizmi sifatida foydalanuvchilarning fikr-mulohazalaridan foydalanadi. Agileni an'anaviy usullardan ko'ra odamlarga yo'n altirilgan yondashuv deb atash mumkin. Agile modeli tizimni juda kichik va boshqarilishi mumkin bo'lgan kichik qismlarga bo'lish orqali mahsulotning ishlaydigan versiyasini juda erta etkazib beradi, shunda mijoz ba'zi afzalliklarni ertaroq anglay oladi. Agile-ni sinovdan o'tkazish davri an'anaviy usullar bilan solishtirganda nisbatan qisqa, chunki sinov ishlab chiqish bilan parallel ravishda amalga oshiriladi. Ushbu afzalliklarning barchasi tufayli, Agile usullari an'anaviy metodologiyalarga qaraganda afzalroqdir. Scrum va Extreme dasturlash - bu Agile usullarining eng mashhur variantlari.

SCRUM nima?

Yuqorida ta'kidlab o'tilganidek, SCRUM - bu Agile usullari oilasiga tegishli bo'lgan bosqichma-bosqich va iterativ loyihalarni boshqarish jarayoni. SCRUM rivojlanish tsiklining boshida mijozlar ishtirokiga yuqori ustuvorlik berishga asoslangan. Bu mijoz tomonidan imkon qadar erta va tez-tez test o'tkazishni tavsiya qiladi. Sinov barqaror versiya mavjud bo'lganda har bir nuqtada amalga oshiriladi. SCRUM asosi sinovni loyiha boshidan boshlab, loyiha oxirigacha davom ettirishga asoslangan.

SCRUM-ning asosiy qiymati bu “sifat - jamoaning mas'uliyatidir”, bu dasturiy ta'minot sifati butun jamoaning (nafaqat sinov guruhining) mas'uliyati ekanligini ta'kidlaydi. SCRUM ning yana bir muhim jihati dasturiy ta'minotni kichikroq boshqariladigan qismlarga bo'lish va ularni mijozga juda tez yetkazib berishdir. Ishlaydigan mahsulotni yetkazib berish juda muhimdir. Keyin jamoa dasturiy ta'minotni takomillashtirishda va har bir muhim bosqichda uzluksiz yetkazib berishda davom etadi. Bunga juda qisqa bo'shatish davrlari (sprintlar deb ataladi) va har bir sikl oxirida yaxshilash uchun fikr-mulohaza olish orqali erishiladi.

SCRUM ishlab chiqish guruhining uzluksiz ishlashi uchun bir nechta asosiy rollarni belgilaydi. Bular Mahsulot egasi (mijozni ifodalovchi va mahsulotning orqada qolishi bilan shug'ullanuvchi), Scrum master (scrum yig'ilishlarini o'tkazish, sprint qoldig'ini saqlash va yo'q qilish jadvallarini saqlash orqali jamoaning tashkilotchisi va muvofiqlashtiruvchisi vazifasini bajaradi) va boshqa jamoa a'zolari. Jamoa an'anaviy rollardan iborat bo'lishi mumkin, lekin ular asosan o'zini o'zi boshqaradigan jamoalardir. Scrum-ning asosiy artefaktlari: Mahsulotlar to'plami/relizlar ro'yxati (istaklar ro'yxati), Sprint qoldiqlari/nuqsonlar to'plami (har bir iteratsiyadagi vazifalar), Yozib olish jadvallari (qolgan ish va sana). SCRUMning asosiy marosimlari: Mahsulotlar yig'ilishi, Sprint uchrashuvi va Retrospect uchrashuvi.

Ekstremal dasturlash nima?

Extreme Programming (qisqartirilgan XP) - bu Agile modeliga tegishli dasturiy ta'minotni ishlab chiqish metodologiyasi. Ekstremal dasturlash fazalarni juda kichik uzluksiz bosqichlarda amalga oshiradi (an'anaviy usullarga nisbatan). Faqat bir kun yoki bir hafta davom etadigan birinchi o'tish ataylab to'liq emas. Dasturiy ta'minotni ishlab chiqish uchun aniq maqsadlarni ta'minlash uchun boshida avtomatlashtirilgan testlar yoziladi. Keyin ishlab chiquvchilar kodlashni amalga oshiradilar. Asosiy e'tibor dasturlashni juft bo'lib bajarishga qaratilgan. Barcha testlardan o'tgandan so'ng, kodlash tugallangan hisoblanadi. Keyingi bosqich dizayn va arxitektura bo'lib, u bir xil dasturchilar to'plami tomonidan kodni qayta tiklash bilan shug'ullanadi. Ushbu bosqich oxirida to'liq bo'lmagan (lekin funktsional) mahsulot manfaatdor tomonlarga taqdim etiladi. Shundan so'ng, keyingi bosqich (eng muhim xususiyatlarning keyingi to'plamiga qaratilgan) boshlanadi.

Ekstremal dasturlash va SCRUM oʻrtasidagi farq nima?

Ekstremal dasturlash va SCRUM juda oʻxshash va birlashtirilgan metodologiyalar. Biroq, bu ikki usul o'rtasida nozik, ammo muhim farqlar mavjud. SCRUM sprintlari 2-4 hafta davom etadi, odatdagi XP iteratsiyalari esa qisqaroq (oxirgi 1-2 hafta). Odatda, SCRUM jamoalari sprintlarni o'zgartirishga ruxsat bermaydi, ammo XP jamoalari iteratsiyalar ichidagi o'zgarishlarga biroz moslashuvchan. Misol uchun, sprintni rejalashtirishdan so'ng, ushbu sprintning elementlari to'plami o'zgarishsiz qoladi, lekin ishlamay qolgan xususiyatni istalgan vaqtda XP dagi boshqa xususiyat bilan almashtirish mumkin. XP va SCRUM o'rtasidagi yana bir farq shundaki, XP-da ishlab chiqilgan funksiyalar tartibi mijoz tomonidan qat'iy ustuvorlik qiladi, SCRUM jamoasi esa elementlarning tartibini hal qiladi (mahsulotning orqada qolishi SCRUM mahsulot egasi tomonidan birinchi o'ringa qo'yilgandan keyin).

XPdan farqli o'laroq, SCRUM hech qanday muhandislik amaliyotini belgilamaydi. Misol uchun, XP sinovga asoslangan ishlab chiqish (TDD), juft dasturlash, refaktoring va boshqalar kabi amaliyotlar tomonidan boshqariladi. Biroq, ba'zilar o'z-o'zini tashkil etuvchi jamoalarga bir qator amaliyotlarni majburlash salbiy ta'sir ko'rsatishi mumkin deb hisoblashadi va buni hisobga olish mumkin. XP ning kamchiligi. Ekstremal dasturlashning yana bir kamchiligi shundaki, tajribasiz jamoalar hech qanday avtomatlashtirilgan testlar yoki TDD (yoki oddiygina xakerlik)siz qayta ishlashga moyil bo'lishi mumkin. Shuning uchun, ba'zilar, SCRUM ko'zdan kechirish uchun yaxshiroq deb ta'kidlaydilar (chunki u diqqatni yo'n altirilgan vaqt bo'yicha takrorlash orqali katta yaxshilanishlarni olib keladi) va XP yuqorida aytib o'tilgan amaliyotlarning ahamiyatini kashf etgan biroz etuk jamoalar uchun mos keladi (ulardan so'ralgani uchun ulardan foydalanish o'rniga) Buning uchun).

Tavsiya: