Agile жана салттуу программалык камсыздоону иштеп чыгуу методологиясы
Бүгүнкү күндө программалык камсыздоо тармагында программалык камсыздоону иштеп чыгуунун бир катар ар кандай методологиялары колдонулат. Шаркыратмаларды иштеп чыгуу ыкмасы программалык камсыздоону иштеп чыгуунун эң алгачкы ыкмаларынын бири. V-Model, RUP жана шаркыратма методологиясынан кийин келген бир нече башка сызыктуу, итеративдик жана айкалыштырылган сызыктуу-итеративдик ыкмалар шаркыратма ыкмасынын көптөгөн маселелерин жок кылууга багытталган. Бул мурунку методологиялардын бардыгы программалык камсыздоону иштеп чыгуунун салттуу методологиялары деп аталат. Agile модели салттуу моделдерде табылган кемчиликтерди жоюу үчүн киргизилген акыркы программалык камсыздоону иштеп чыгуу модели болуп саналат. Agile'дин негизги багыты тестирлөөнү мүмкүн болушунча эртерээк киргизүү жана системаны өтө кичинекей жана башкарылуучу бөлүктөргө бөлүп, продуктунун жумушчу версиясын эртерээк чыгаруу болуп саналат.
Салттуу программалык камсыздоону иштеп чыгуу методологиясы деген эмне?
Waterfall ыкмасы, V-Model жана RUP сыяктуу программалык камсыздоо методологиялары программалык камсыздоону иштеп чыгуунун салттуу методологиялары деп аталат. Шаркыратма методологиясы программалык камсыздоону иштеп чыгуунун эң алгачкы моделдеринин бири болуп саналат. Аты айтып тургандай, бул ырааттуу процесс, анда прогресс шаркыратмага окшош бир нече фазалар (талаптарды талдоо, долбоорлоо, иштеп чыгуу, сыноо жана ишке ашыруу) жогорудан ылдыйга карай өтөт. V-Model Waterfall программалык камсыздоону иштеп чыгуу моделинин кеңейтилиши катары каралат. V-Модель Шаркыратма моделинде аныкталган фазалардын ортосундагы бирдей мамилелерди колдонот. Бирок сызыктуу түшүүнүн ордуна (шаркыратма модели сыяктуу) V-Модель диагональ боюнча ылдыйлап, андан кийин кайра өйдө жылып (коддоо фазасынан кийин) V тамгасынын формасын түзөт. RUP (Рационалдуу бирдиктүү процесс) – бул ийкемдүү процесс алкагы (бир конкреттүү процесс эмес), аны өнүктүрүү уюму алардын муктаждыктарына жараша ыңгайлаштыра алат. Шаркыратмага бир аз окшош, анын башталышы, иштеп чыгуу, куруу жана өтүү сыяктуу туруктуу фазалары бар. Бирок шаркыратмадан айырмаланып, RUP кайталануучу процесс.
Agile деген эмне?
Agile – бул программалык камсыздоону иштеп чыгуунун эң акыркы методологиясы (дагы туурасы, методологиялар тобу) agile манифестине негизделген. Бул программалык камсыздоону иштеп чыгуунун салттуу методологиясындагы айрым кемчиликтерди чечүү үчүн иштелип чыккан. Agile ыкмалары кардарлардын өнүгүү циклинин башталышында катышуусуна артыкчылык берүүгө негизделген. Бул кардар тарабынан тестирлөөнү мүмкүн болушунча эрте жана тез-тез киргизүүнү сунуштайт. Туруктуу версия жеткиликтүү болгондо, сыноо ар бир учурда жүргүзүлөт. Agile негизи тестирлөө долбоордун башынан баштап бүткүл долбоордун аягына чейин улантууга негизделген. Scrum жана Extreme программалоо Agile ыкмаларынын эң популярдуу эки варианты.
Agile'дин негизги мааниси "сапат - бул команданын жоопкерчилиги", бул программалык камсыздоонун сапаты бүт команданын (текшерүүчү топтун эле эмес) жоопкерчилиги экенин баса белгилейт. Agileдин дагы бир маанилүү аспектиси - бул программалык камсыздоону башкарууга мүмкүн болгон кичинекей бөлүктөргө бөлүп, аларды кардарга тез жеткирүү. Иштеп жаткан продуктуну жеткирүү абдан маанилүү. Андан кийин команда программалык камсыздоону өркүндөтүүнү жана ар бир негизги кадамда үзгүлтүксүз жеткирүүнү улантат. Бул өтө кыска чыгаруу циклдарына ээ болуу (Scrumда спринт деп аталат) жана ар бир циклдин аягында жакшыртуу үчүн пикир алуу аркылуу жетишилет. Мурунку ыкмалардагы иштеп чыгуучулар жана сыноочулар сыяктуу топтун көп өз ара аракети жок салым кошуучулар эми Agile моделинин алкагында чогуу иштешет.
Agile жана салттуу программалык камсыздоону иштеп чыгуу методологиясынын ортосунда кандай айырма бар?
Agile ыкмасы итеративдик өнүгүүгө негизделгени менен, кээ бир салттуу ыкмалар, Agile жана салттуу методологиялардын негизги айырмачылыктары бар. Салттуу ыкмалар башкаруу механизми катары пландаштырууну колдонушат, ал эми Agile моделдери негизги башкаруу механизми катары колдонуучулардын пикирлерин колдонушат. Agile салттуу ыкмаларга караганда адамдарга багытталган мамиле деп атоого болот. Agile модели продуктунун жумушчу версиясын салттуу методологияга салыштырмалуу өтө эрте жеткирет, ошондуктан кардар кээ бир артыкчылыктарды эрте түшүнө алат. Agile тестирлөө циклинин убактысы салттуу методдорго салыштырмалуу кыска, анткени тестирлөө өнүгүүгө параллелдүү жүргүзүлөт. Көпчүлүк салттуу моделдер Agile моделине караганда абдан катуу жана салыштырмалуу аз ийкемдүү. Бардык ушул артыкчылыктардан улам учурда Agile салттуу методологияларга караганда артыкчылыкка ээ.