JavaRush /Java blogi /Random-UZ /Dasturiy ta'minotni ishlab chiqish metodologiyalari

Dasturiy ta'minotni ishlab chiqish metodologiyalari

Guruhda nashr etilgan
Salom. Oxirgi ikki intervyuda mendan metodologiya haqida so'rashdi. Bu eng muhim yoki qiyin savol emas, lekin javob uchun cheat varag'iga ega bo'lish yaxshi bo'ladi. Ushbu maqolada men rivojlanish metodologiyasi nima ekanligi haqida tasavvur berishga harakat qilaman va men shaxsan tanishgan yoki so'ralganlarni solishtirishga harakat qilaman. Dasturiy ta'minotni ishlab chiqish metodologiyalari - 1Dasturiy ta'minotni ishlab chiqish metodologiyasi - bu aniq mahsulot qanday ishlab chiqilishini tavsiflash jarayoni, ya'ni jamoani ishlab chiqishni tashkil etish usullaridan biri. Bunday jarayonning juda ko'p turli xil modellari mavjud bo'lib, ularning har biri o'ziga xos yondashuvni tavsiflaydi va ular orasida har bir loyihada ishlatilishi kerak bo'lgan biri bor, deb aytish mumkin emas, hamma narsa faqat vaziyatga bog'liq. Men ulardan uchtasini batafsilroq ko'rib chiqishni taklif qilaman.

Sharshara

Sharshara (kaskad, sharshara) eng qadimgi metodologiyalardan biri bo'lib, barcha bosqichlarning qat'iy ketma-ket bajarilishini nazarda tutadi, ularning har biri keyingi bosqich boshlanishidan oldin bajarilishi kerak. Ya'ni, keyingi bosqichga o'tish oldingi bosqichdagi ishlarning to'liq bajarilishini anglatadi. Rasmda birinchi navbatda biz vazifani tahlil qilamiz (hujjat topshiriqlari, qiyinchiliklarni muhokama qilamiz), so'ngra loyihalash amalga oshiriladi (bu bosqichda loyiha tuzilmasi shakllanadi), so'ngra kodlash va sinovdan o'tkazamiz. Keyingi bosqichlar uchun to'lovlar qaytarilmaydi. Bunday tizimdan talablar oldindan ma'lum bo'lgan va ularning o'zgarishi ehtimoli kam bo'lgan kichik loyihalarda foydalanish tavsiya etiladi. Dasturiy ta'minotni ishlab chiqish metodologiyalari - 2Afzalliklari:
  • Har bir bosqichda to'liq va izchil hujjatlar;
  • Foydalanish qulayligi;
  • Barqaror talablar.
  • Byudjet va muddatlar oldindan belgilangan
Kamchiliklari:
  • Hujjatlarning katta miqdori;
  • Juda moslashuvchan tizim emas;
  • Mijoz mahsulotning demo versiyasini ko'ra olmaydi;
  • Bir qadam orqaga qaytishning iloji yo'q.

Scrum

Scrum - bu butun jarayonni iteratsiyalarga bo'lishga asoslangan dasturiy ta'minotni ishlab chiqish tizimi bo'lib, ularning har biri oxirida jamoa mahsulotning demo versiyasini taqdim etishga tayyor. Rasmda jamoa rivojlanishning barcha bosqichlarini parallel ravishda bosib o'tishini ko'rsatadi, bu bizga har bir iteratsiya oxirida loyihaning tugallangan qismiga ega bo'lish imkonini beradi. Dasturiy ta'minotni ishlab chiqish metodologiyalari - 3Men metodologiyaning mohiyatini oddiy so'zlar bilan qisqacha tushuntirishga harakat qilaman, ammo bu erda juda ko'p atamalar mavjud. Menimcha, eng muhimi mohiyatni tushunish, atamalar esa tajriba bilan yodda qoladi. Barcha rivojlanish sprintlarga bo'linadi (ko'pincha 2-3 hafta). Butun rivojlanish davri uchun va har bir sprint uchun alohida orqada qolish (vazifalar ro'yxati) mavjud . Har bir topshiriqning o'z hikoya nuqtasi bor (qiyinchilik reytingi). Jarayonning har bir ishtirokchisi o'z roliga ega:
  • Scrum jamoasi - bu loyiha ustida ishlaydigan jamoa (ishlab chiquvchilar, testerlar, dizaynerlar).
  • Scrum Master - bu Scrum tamoyillariga rioya qilinishini ta'minlaydigan shaxs.
  • Mahsulot egasi - mijoz.
Ushbu tizimda asosiy e'tibor aloqaga qaratilganligi sababli, ko'plab mitinglar mavjud:
  • Stand-up - bu har kuni o'tkaziladigan qisqa yig'ilish, barcha jamoa a'zolari qatnashadilar va har bir ishtirokchi 3 ta savolga javob beradi: nima qildingiz? Bu nima qiladi? Va blokerlar nima?
  • Rejalashtirish - sprint boshida o'tkaziladi va bu yig'ilishda keyingi sprintda qanday vazifalar bajarilishi kerakligi aniqlanadi.
  • Retrospektiv sprint oxirida o'tkaziladi va uning mohiyati nima yaxshi qilinganligini va nimani yaxshilash mumkinligini aniqlashdir.
Afzalliklari:
  • Mijoz ishlab chiqish jarayonida natijani kuzatishi mumkin.
  • Rivojlanish jarayoni ustidan kundalik nazorat.
  • Rivojlanish jarayonida tuzatishlar kiritish qobiliyati.
  • Jamoaning barcha a'zolari bilan yaxshi o'rnatilgan aloqa.
  • Kichik hajmdagi hujjatlar.
Kamchiliklari:
  • Rivojlanish uchun zarur bo'lgan mehnat va xarajatlarni hisoblash qiyin
  • Rivojlanish boshlanishidan oldin eng katta to'siqlarni aniqlash qiyin.
  • Boshqa jamoa a'zolarini rivojlantirishga hammani jalb qilish zarurati.

Kanban

Kanban - bu jamoaviy vazifalarni bajarish jarayonini vizuallashtirishga asoslangan tizim. Bu tizimdagi asosiy g‘oya hozirda bajarilayotgan vazifalar sonini kamaytirishdan iborat (“davom etayotgan” ustunida).Scrumda jamoa sprintlarni muvaffaqiyatli bajarishga qaratilgan, Kanbanda esa vazifalar birinchi o‘rinda turadi. Asosiy funksionallik allaqachon ishlab chiqilgan va minimal yaxshilanishlar va xatoliklar tuzatilgan qo'llab-quvvatlash bosqichidagi loyihalar uchun yaxshi. Kanbanda topshiriqlar yakka tartibda topshiriladi. Vazifa, boshqa vazifalardan qat'i nazar, doskadagi barcha bosqichlardan o'tadi va u bajarilishi bilanoq mijozga ko'rsatilishi mumkin. Kanban taxtasi ustunlardan iborat bo'lib, ularning har biri alohida rivojlanish jarayonini ifodalaydi. Ba'zi ustunlar (masalan, bajarilayotgan) u erda bo'lishi mumkin bo'lgan vazifalar soniga cheklovlar qo'yadi. Bu vazifalarni taqsimlashda muammoli joylarni osongina va tez topishga yordam beradi. Rasmda bunday oddiy taxtaning namunasi ko'rsatilgan. Ustunlar va nomlar soni farq qilishi mumkin, lekin men eng keng tarqalganini nomlayman: Dasturiy ta'minotni ishlab chiqish metodologiyalari - 4
  • Bajarish - bajarilishi kerak bo'lgan vazifalar ro'yxati
  • Davom etilmoqda - hozirda ishlanayotgan vazifalar
  • Kodni ko'rib chiqish - bajarilgan va ko'rib chiqish uchun yuborilgan vazifalar
  • Testda - testga tayyor vazifalar
  • Bajarildi - bajarilgan vazifalar.
Afzalliklari:
  • Foydalanish qulayligi.
  • Vizualizatsiya (to'siqlarni topishga yordam beradi, tushunishni osonlashtiradi)
  • Jarayonning o'zida jamoaning yuqori ishtiroki.
  • Rivojlanishda yuqori moslashuvchanlik.
Kamchiliklari:
  • Beqaror vazifalar ro'yxati.
  • Uzoq muddatli loyihalarda foydalanish qiyin.
  • Qattiq muddatlar yo'q.

Dasturiy ta'minotni ishlab chiqish metodologiyasi haqida xulosa

Menimcha, boshqaruv lavozimlarini egallagan yoki ularga intiluvchi insonlar dasturiy ta’minotni ishlab chiqish metodologiyasini to‘liq tushunishlari kerak, ammo har bir kishi hech bo‘lmaganda asoslarni tushunishi maqsadga muvofiqdir. Bu rivojlanish jarayonining ajralmas qismi bo'lib, nafaqat IT sohasida qo'llaniladi. Mening maqolamni o'qishga vaqt ajratganingiz uchun tashakkur, umid qilamanki, sizga foydali bo'ldi. Men faqat asosiy fikrlarni iloji boricha aniq va qisqacha tasvirlashga harakat qildim, shuning uchun maqola to'liq emas. Men sizning fikringizni eshitishdan va savollaringizga javob berishdan xursand bo'laman. Barcha ezgu tilaklarni tilayman!
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION