JavaRush /Kurslar /All lectures for UZ purposes /Agile — Moslashuvchan ishlab chiqish metodologiyasi

Agile — Moslashuvchan ishlab chiqish metodologiyasi

All lectures for UZ purposes
Daraja, Dars
Mavjud

Agile Model

Moslashuvchan (Agile) metodologiya dasturiy ta'minotni ishlab chiqishda xavfni kamaytirishda yordam beradi, bu jarayonni bir nechta kichik sikllarga ajratish orqali amalga oshiriladi. Bunday sikllar iteratsiyalar deb ataladi va odatda ular ikki yoki uch hafta davom etadi.

Iteratsiya kichik dasturiy loyihaga o'xshaydi, u vazifalardan iborat bo'lib, har biri funksionallikni yaxshilaydi. Ular quyidagilarni o'z ichiga oladi: reja tuzish, talablarni baholash, loyiha kelishuvi, kod yozish, testdan o'tkazish va texnik hujjat tayyorlash.

Bitta iteratsiya odatda to'liq dasturiy ta'minotni chiqarish uchun yetarli emas. Ammo, Agile yaxshi tomoni shundaki, loyihaning kichik qismlarini har bir iteratsiya oxirida baholash uchun tayyor bo'ladi. Bu jamoa a'zolariga yakuniy relizni kutmay turib, ishning keyingi bosqichlari uchun ustuvorliklarni o'zgartirish imkoniyatini beradi.

Moslashuvchan ishlab chiqish metodologiyasini qo'llash orqali har bir iteratsiyadan so'ng aniq natijani ko'rishingiz mumkin. Ya'ni, dasturchi o'z ishining natijalari talablariga mos keladimi yoki yo'qmi, tushunishi mumkin. Bu moslashuvchan modelning muhim afzalliklaridan biridir.

Kamchiliklariga kelsak, Agile'ni qo'llashda ba'zan mehnat resurslari va loyiha byudjetini baholash qiyin bo'ladi. Agar moslashuvchan modelning amaliy qo'llanilishiga e'tibor qaratilsa, eng mashhurlaridan biri ekstremal dasturlash (XP) hisoblanadi.

XP asosida jamoa a'zolarining qisqa uchrashuvlari mavjud bo'lib, ular har kuni va muntazam yig'ilishlar (har hafta yoki kamroq) o'tkaziladi. Har kungi uchrashuvlarda (daily standup) odatda quyidagilar muhokama qilinadi:

  • joriy ish natijalari;
  • jamoa har bir a'zosiga bajarilishi kerak bo'lgan vazifalar ro'yxati;
  • paydo bo'lgan qiyinchiliklar va ularning echimlari.

Manifest

Agile — bu ishlab chiqishdagi butun bir yo'nalish bo'lib, shuning uchun unga amal qilish qoidalari maxsus hujjat — Agile Manifesto'da e'lon qilingan. Bu yerda jamoa ishlashi kerak bo'lgan amaliyotlar va tamoyillar mavjud.

Agile Manifesto 4 asosiy g'oya va 12 tamoyildan iborat.

Asosiy g'oyalar:

  • dasturchilar o'rtasidagi hamkorlik vositalardan muhimroq;
  • ishlaydigan mahsulot versiyasi hujjatlardan ustundir;
  • jamoa va mijoz o'rtasidagi o'zaro tushunish shartnoma shartlaridan muhimroq;
  • boshlang'ich rejani kerak bo'lsa doim o'zgartirish mumkin.

Agile'ning 12 tamoyiliga kelsak, bular ular:

  • asosiy ustuvorlik — tayyor dasturiy ta'minotning mijoz kutganiga mos kelishi;
  • shartlarni o'zgartirish istalgan bosqichda, hatto ishlab chiqish oxirida ham ruxsat etiladi (agar bu dasturiy ta'minot sifatini va raqobatbardoshligini oshirsa);
  • dasturiy mahsulotning ishlaydigan versiyalarini muntazam yetkazib berish (har 14 kun, oy yoki choraklik);
  • muvaffaqiyat omili — mijoz va dasturchilar o'rtasidagi muntazam aloqalar (imkuniyat boricha har kuni);
  • loyihalarni faqat ularning manfaatdor tomonlari orasida tuzish kerak, bunday insonlarni ish uchun kerakli sharoitlar bilan ta’minlash kerak;
  • jamoada ma’lumot almashishning eng yaxshi usuli — shaxsiy uchrashuv;
  • dasturiy ta'minotning ishlaydigan versiyasi — taraqqiyotning eng yaxshi ko'rsatkichi;
  • barcha manfaatdor tomonlar dasturiy ta'minotni yaratish jarayonida kerakli ish tezligini qo'llab-quvvatlash imkoniyatiga ega bo'lishi kerak;
  • texnik takomillashtirish va yaxshi ishlab chiqish moslashuvchanlikni yaxshilaydi;
  • muhim narsa — soddalik va ortiqcha narsalarni yaratmaslik;
  • eng yaxshi natijalarni o'zini o'zi tashkil qila oladigan jamoalar beradi;
  • jamoa a’zolari ishlarini samaradorligini oshirish uchun ish jarayonini o'zgartirish yo'llarini muntazam ravishda o'ylab ko'rish kerak.

Agile manifestiga ko'ra, yaxshi dasturiy ta'minotni rivojlantirish jarayoni to'g'ridan-to'g'ri ushbu jarayonda ishtirok etayotgan insonlarga bog'liq. Buning uchun ularning o'zaro hamkorliklarini imkon qadar samarali tashkil qilish, maksimal darajada uyushgan jamoani yaratish kerak.

Metodologiyalar

Agile Manifesto'da bir nechta metodologiyalar mavjud bo'lib, ular qiymatlar va tamoyillarni tushuntiradi:

  • Agile Modeling;
  • Agile Unified Process;
  • Agile Data Method;
  • Rapid Application Development (DSDM);
  • Essential Unified Process;
  • Extreme programming;
  • Feature driven development;
  • Getting Real;
  • OpenUP;
  • Scrum.

Agile Modeling — dasturiy ta'minot modellarini yaratish va hujjatlashtirishni tezlashtirish va soddalashtirishni ta’minlaydigan tamoyillar, atamalar va amaliyotlar ro'yxati.

Agile Modeling ning maqsadi modellashtirish va hujjatni tayyorlashni yaxshilashdir. Muhim eslab o'tish joizki, bunga kodlash, test qilish yoki loyiha nazorati, joylashtirish va qo'llab-quvvatlash bilan bog'liq masalalar kirmaydi. Ammo, ushbu metodologiya kodni tekshirishni o'z ichiga oladi.

Agile Unified Process — foydalanuvchilarni yaqinlashtirishni osonlashtiradigan (model) metodologiya. Odatda tijorat dasturiy ta'minotni ishlab chiqishda qo'llaniladi.

Agile Data Method — mijozning talablarini bir necha jamoalar hamkorligi orqali erishiladi, bir nechta o'xshash metodologiyalar.

DSDM — bu yondashuv boshqa yondashuvlardan farqli o'laroq, bunda ishlab chiquvchilar bilan bir qatorda kelajakdagi mahsulot foydalanuvchilari faol ishtirok etadi.

Feature driven development — vaqt chekloviga ega bo'lgan dasturiy ta'minotni ishlab chiqish metodologiyasi: “har bir funksiya ikki haftadan ko'proq vaqt ichida amalga oshirilmasligi kerak”.

E’tiborga olish kerakki, agar foydalanish stsenariysi kichik bo'lsa, uni funksional deb hisoblash mumkin. Agar u muhim bo'lsa, uni bir necha funksiyalarga bo'lish kerak.

Getting Real — iterativ metodologiya bo'lib, bunda dastlab dastur interfeysi ishlab chiqiladi, keyin esa uning funksionalligi.

OpenUP — bu dasturiy ta'minotni ishlab chiqish, loyiha siklini boshlang'ich, aniqlash, qurilish va ko'chirish bosqichlariga bo'lish.

Agile tamoyillariga ko'ra, ishning davomiyligidan qat'i nazar, manfaatdor tomonlar va jamoa a'zolariga tanishish va qaror qabul qilish imkoniyatini ta'minlash kerak. Shu yo'l bilan vaziyatni samarali nazorat qilish va oraliq natijalarni o'z vaqtida baholash mumkin. Loyiha rejasi turmush tsiklini aniqlaydi va yakuniy natija sifatida barqaror dastur chiqarishini hisoblash kerak.

Scrum ga kelsak, u ishlab chiqish jarayonini boshqarish qoidalarini tartibga soladi va mavjud kodlash amaliyotlarini qo'llash imkoniyatini beradi, shartlarni o'zgartirish yoki o'zgartirish kiritish imkoniyatini beradi. Ushbu metodologiyani qo'llash natijani kutgan natijadan chetga chiqishda dastlabki bosqichda aniqlash va yo'q qilish imkoniyatini beradi.

Keling, bu haqida ozgina batafsilroq tanishing...

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION