JavaRush /Java блогы /Random-KK /Бағдарламалық қамтамасыз етуді әзірлеу әдістемелері
Миха Писаренко
Деңгей
Киев

Бағдарламалық қамтамасыз етуді әзірлеу әдістемелері

Топта жарияланған
Сәлеметсіз бе. Соңғы екі сұхбатта мен әдістемелер туралы сұрадым. Бұл ең маңызды немесе қиын сұрақ емес, бірақ жауап алу үшін парақ болғаны жақсы болады. Бұл мақалада мен даму әдістемесі деген не екендігі туралы түсінік беруге тырысамын және өзім кездестірген немесе сұрағандарды салыстыруға тырысамын. Бағдарламалық қамтамасыз етуді әзірлеу әдістемелері – 1Бағдарламалық қамтамасыз етуді әзірлеу әдістемесі - бұл нақты өнімнің қалай жасалатынын сипаттау процесі, яғни команданың дамуын ұйымдастыру тәсілдерінің бірі. Мұндай процестің көптеген әртүрлі үлгілері бар, олардың әрқайсысы өзіндік көзқарасты сипаттайды және олардың арасында әрбір жобада қолданылуы керек біреуі бар деп айтуға болмайды, барлығы таза ситуациялық. Мен олардың үшеуін толығырақ қарастыруды ұсынамын.

Сарқырама

Сарқырама (каскад, сарқырама) - ең көне әдістемелердің бірі және барлық кезеңдердің қатаң дәйекті орындалуын білдіреді, олардың әрқайсысы келесі кезең басталғанға дейін аяқталуы керек. Яғни, келесі кезеңге өту алдыңғы кезеңдегі жұмыстың толық аяқталуын білдіреді. Суретте алдымен тапсырманы талдайтынымыз (құжат тапсырмалары, қиындықтарды талқылайтынымыз), содан кейін жобалау (бұл кезеңде жоба құрылымы қалыптасады), содан кейін codeтау және тестілеу орындалатыны көрсетілген. Келесі кезеңдер үшін ақша қайтарылмайды. Мұндай жүйені талаптары алдын ала белгілі және олардың өзгеру ықтималдығы аз шағын жобаларда қолдану ұсынылады. Бағдарламалық қамтамасыз етуді әзірлеу әдістемелері – 2Артықшылықтары:
  • Әр кезеңде толық және дәйекті құжаттама;
  • Қолданудың қарапайымдылығы;
  • Тұрақты талаптар.
  • Бюджет пен мерзімдер алдын ала белгіленген
Кемшіліктері:
  • Құжаттаманың үлкен көлемі;
  • Өте икемді жүйе емес;
  • Клиент өнімнің демо нұсқасын көре алмайды;
  • Бір қадам артқа шегінуге жол жоқ.

Scrum

Scrum - бұл бүкіл процесті итерацияларға бөлуге негізделген бағдарламалық жасақтаманы әзірлеу жүйесі, олардың әрқайсысының соңында команда өнімнің демо нұсқасын беруге дайын. Суретте команданың дамудың барлық кезеңдерін параллельді түрде өтетіні көрсетілген, бұл бізге әрбір итерацияның соңында жобаның аяқталған бөлігін алуға мүмкіндік береді. Бағдарламалық қамтамасыз етуді әзірлеу әдістемесі – 3Мен әдістеменің мәнін қарапайым сөздермен қысқаша түсіндіруге тырысамын, бірақ мұнда көптеген терминдер бар. Ең бастысы, мәнін түсіну керек, ал терминдер тәжірибемен есте қалады деп ойлаймын. Барлық даму спринттерге бөлінеді (көбінесе 2-3 апта). Бүкіл әзірлеу кезеңі үшін және әрбір спринт үшін бөлек артта қалу (тапсырмалар тізімі) бар . Әрбір тапсырманың өзіндік оқиға нүктесі бар (қиындық рейтингі). Процеске әрбір қатысушының рөлі бар:
  • Scrum командасы – бұл жобада жұмыс істейтін топ (әзірлеушілер, тестерлер, дизайнерлер).
  • Scrum Master - бұл Scrum принциптерінің сақталуын қамтамасыз ететін адам.
  • Өнім иесі – тұтынушы.
Бұл жүйеде коммуникацияға баса назар аударылғандықтан, митингілердің көп саны бар:
  • Stand-up - бұл күн сайын өтетін қысқа жиналыс, барлық команда мүшелері қатысады және әр қатысушы 3 сұраққа жауап береді: сіз не істедіңіз? Ол не істейді? Ал блокаторлар дегеніміз не?
  • Жоспарлау – спринттің басында жүргізіледі және осы жиналыста келесі спринтте қандай тапсырмаларды орындау керектігі анықталады.
  • Ретроспектив спринттің соңында өткізіледі және оның мәні ненің жақсы орындалғанын және нені жақсартуға болатынын анықтау болып табылады.
Артықшылықтары:
  • Тапсырыс беруші әзірлеу барысында нәтижені бақылай алады.
  • Даму процесін күнделікті бақылау.
  • Даму кезінде түзетулер енгізу мүмкіндігі.
  • Команданың барлық мүшелерімен жақсы жолға қойылған байланыс.
  • Құжаттаманың аз мөлшері.
Кемшіліктері:
  • Әзірлеуге қажетті еңбек пен шығындарды бағалау қиын
  • Даму басталғанға дейін ең үлкен кедергілерді анықтау қиын.
  • Команданың басқа мүшелерін дамытуға барлығын тарту қажеттілігі.

Канбан

Канбан - топ тапсырмаларын орындау процесін визуализациялауға негізделген жүйе. Бұл жүйедегі негізгі идея – орындалып жатқан тапсырмалардың санын азайту («орындалуда» бағанында).Scrum-да команда спринттерді сәтті аяқтауға бағытталған, Канбанда тапсырмалар бірінші орында. Негізгі функционалдығы әзірленген және ең аз жақсартулар мен қателерді түзету қалған қолдау көрсету сатысындағы жобалар үшін жақсы. Канбанда тапсырмалар жеке беріледі. Тапсырма, басқа тапсырмаларға қарамастан, тақтадағы барлық кезеңдерден өтеді және орындалған бойда оны тұтынушыға көрсетуге болады. Kanban тақтасы әрқайсысы жеке әзірлеу процесін білдіретін бағандардан тұрады. Кейбір бағандар (мысалы, орындалуда) онда болуы мүмкін тапсырмалар санына шектеулер қояды. Бұл тапсырмаларды бөлу кезінде проблемалық аймақтарды оңай және жылдам табуға көмектеседі. Суретте осындай қарапайым тақтаның мысалы көрсетілген. Бағандар мен атаулардың саны әртүрлі болуы мүмкін, бірақ мен ең көп тарағандарын атаймын: Бағдарламалық қамтамасыз етуді әзірлеу әдістемесі – 4
  • Орындау - орындалуы қажет тапсырмалар тізімі
  • Орындалуда – қазіргі уақытта орындалып жатқан тапсырмалар
  • Кодты тексеру – орындалған және қарауға жіберілген тапсырмалар
  • Тестілеуде – тестілеуге дайын тапсырмалар
  • Орындалды – орындалған тапсырмалар.
Артықшылықтары:
  • Қолданудың қарапайымдылығы.
  • Визуализация (кедергілерді табуға көмектеседі, түсінуді жеңілдетеді)
  • Процеске команданың жоғары қатысуы.
  • Дамудағы жоғары икемділік.
Кемшіліктері:
  • Тұрақсыз тапсырмалар тізімі.
  • Ұзақ мерзімді жобаларда пайдалану қиын.
  • Қатты мерзімдер жоқ.

Қорытындысында бағдарламалық жасақтаманы әзірлеу әдістемесі туралы

Менің ойымша, басқарушы лауазымдарды атқаратын немесе оларға ұмтылатын адамдар бағдарламалық жасақтаманы әзірлеу әдістемелерін жетік түсінуі керек, бірақ әрбір адам кем дегенде негіздерді түсінгені жөн. Бұл әзірлеу процесінің ажырамас бөлігі және тек IT саласында ғана қолданылмайды. Менің мақаламды оқуға уақыт бөлгеніңіз үшін рахмет, сізге пайдалы болды деп үміттенемін. Мен тек негізгі ойларды мүмкіндігінше анық және қысқаша сипаттауға тырыстым, сондықтан мақала толық емес. Мен бұл туралы сіздің пікіріңізді тыңдауға және сұрақтарыңызға жауап беруге қуаныштымын. Бәріне жақсылық!
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION