Agile va an'anaviy dasturiy ta'minotni ishlab chiqish metodologiyasi
Bugungi kunda dasturiy ta'minot sanoatida turli xil dasturiy ta'minot ishlab chiqish metodologiyalari qo'llaniladi. Sharsharani ishlab chiqish usuli dasturiy ta'minotni ishlab chiqishning eng dastlabki usullaridan biridir. Sharshara metodologiyasidan keyin paydo bo'lgan V-Model, RUP va boshqa bir nechta chiziqli, iterativ va kombinatsiyalangan chiziqli iterativ usullar sharshara usulining ko'plab muammolarini yo'q qilishni maqsad qilgan. Ushbu oldingi metodologiyalarning barchasi dasturiy ta'minotni ishlab chiqishning an'anaviy metodologiyalari deb ataladi. Agile model - bu an'anaviy modellarda topilgan kamchiliklarni bartaraf etish uchun joriy qilingan yangi dasturiy ta'minotni ishlab chiqish modeli. Agile-ning asosiy e'tibori imkon qadar erta sinovdan o'tkazish va tizimni juda kichik va boshqariladigan kichik qismlarga bo'lish orqali mahsulotning ishlaydigan versiyasini juda erta chiqarishdir.
Dasturlarni ishlab chiqishning an'anaviy metodologiyasi nima?
Sharfall usuli, V-Model va RUP kabi dasturiy ta'minot metodologiyalari an'anaviy dasturiy ta'minot ishlab chiqish metodologiyalari deb ataladi. Sharshara metodologiyasi dasturiy ta'minotni ishlab chiqishning eng dastlabki modellaridan biridir. Nomidan ko'rinib turibdiki, bu ketma-ket jarayon bo'lib, unda taraqqiyot bir necha bosqichlardan (talablarni tahlil qilish, loyihalash, ishlab chiqish, sinovdan o'tkazish va amalga oshirish) yuqoridan pastga qarab, sharsharaga o'xshaydi. V-Model Waterfall dasturiy ta'minotni ishlab chiqish modelining kengaytmasi sifatida qaraladi. V-modeli Sharshara modelida belgilangan fazalar orasidagi bir xil munosabatlardan foydalanadi. Biroq, chiziqli tushish o'rniga (Palapartishlik modeli kabi) V-model diagonal ravishda pastga tushadi va keyin yana yuqoriga ko'tariladi (kodlash bosqichidan so'ng) V harfining shaklini hosil qiladi. RUP (Rational Unified Process) - bu moslashuvchan jarayon asosi (bitta aniq jarayon emas), uni ishlab chiqish tashkiloti o'z ehtiyojlariga qarab sozlashi mumkin. Sharsharaga bir oz o'xshaydi, u boshlang'ich, ishlab chiqish, qurilish va o'tish kabi qat'iy bosqichlarga ega. Biroq, sharsharadan farqli o'laroq, RUP takrorlanuvchi jarayondir.
Agile nima?
Agile - bu agile manifestiga asoslangan dasturiy ta'minotni ishlab chiqishning eng yangi metodologiyasi (yoki to'g'rirog'i, metodologiyalar guruhi). Bu dasturiy ta'minotni ishlab chiqishning an'anaviy metodologiyasidagi ba'zi kamchiliklarni bartaraf etish uchun ishlab chiqilgan. Agile usullar 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. Agile asosi sinovni loyiha boshidan boshlab, loyiha oxirigacha davom ettirishga asoslangan. Scrum va Extreme dasturlash - bu Agile usullarining eng mashhur variantlari.
Agile-ning asosiy qiymati "sifat - jamoaning mas'uliyatidir", bu dasturiy ta'minot sifati butun jamoaning mas'uliyati ekanligini ta'kidlaydi (nafaqat sinov guruhi). Agile-ning yana bir muhim jihati dasturiy ta'minotni kichikroq boshqariladigan qismlarga ajratish va ularni mijozga juda tez yetkazib berishdir. Ishlaydigan mahsulotni yetkazib berish juda muhim. Keyin jamoa dasturiy ta'minotni takomillashtirishda va har bir muhim bosqichda uzluksiz yetkazib berishda davom etadi. Bunga juda qisqa bo'shatish sikllariga ega bo'lish (Scrum-da sprintlar deb ataladi) va har bir tsikl oxirida yaxshilash uchun fikr-mulohazalarni olish orqali erishiladi. Ilgari usullarda ishlab chiquvchilar va testerlar kabi jamoaning oʻzaro taʼsiri boʻlmagan hissa qoʻshuvchilar endi Agile modelida birgalikda ishlaydi.
Agile va an'anaviy dasturiy ta'minotni ishlab chiqish metodologiyasi o'rtasidagi farq nima?
Agile usuli iterativ rivojlanishga asoslangan bo'lsa-da, chunki ba'zi an'anaviy yondashuvlar, Agile va an'anaviy metodologiyalar asosiy farqlarga ega. An'anaviy yondashuvlar boshqarish mexanizmi sifatida rejalashtirishdan foydalanadi, Agile modellari esa asosiy boshqaruv mexanizmi sifatida foydalanuvchilarning fikr-mulohazalaridan foydalanadi. Agileni an'anaviy usullardan ko'ra odamlarga yo'n altirilgan yondashuv deb atash mumkin. Agile modeli mahsulotning ishchi versiyasini an'anaviy metodologiyalarga nisbatan juda erta taqdim etadi, shunda mijoz ba'zi afzalliklarni ertaroq anglay oladi. Agile-ni sinovdan o'tkazish davri an'anaviy usullar bilan solishtirganda nisbatan qisqa, chunki sinov ishlab chiqishga parallel ravishda amalga oshiriladi. Aksariyat an'anaviy modellar juda qattiq va Agile modeliga qaraganda nisbatan kamroq moslashuvchan. Bu barcha afzalliklar tufayli hozirda Agile an'anaviy metodologiyalardan afzal.