Agile мен Waterfall арасындағы қарама-қайшылық теориялық емес, практикалық тұрғыдан көрінеді. Жобасыңызға сәйкес келмейтін әдіснаманы таңдау, ең жақсы жағдайда, дамуын баяулатады немесе ең жаманы, оны “Жылдың Үлкен Қатесі” тізіміне жібереді. Жобаны дамытудағы икемді және каскадты дизайн (Agile және Waterfall сәйкесінше) — басқарудың ең танымал әдіснамаларының бірі.
Жобаның ерекшеліктерін зерттеп, осы мақаладан алынған біліммен қарулансаңыз, «Менің бизнесіме не жақсырақ сәйкес келеді — Agile немесе Waterfall?» деген сұраққа сенімді түрде жауап бере аласыз.
Agile — басқа танымал әдістер, мысалы, Scrum, Kanban және т.б. үшін негіз болатын идеялар мен “икемді” жобаны басқару принциптерінің жүйесі. Негізгі принцип — қысқа итерациялар (циклдер) арқылы даму, және осындай циклдердің әрбірінің соңында клиент (пайдаланушы) жұмыс істейтін код немесе өнім алады.
Waterfall — кезеңдер мен сатыаралық тәртіппен өткізілетін жобаны басқару әдісі, ешбір кезеңді өткізіп жібермей, алдыңғы сатыға оралусыз.
Agile дегеніміз не
Agile басқа танымал жобаларды дамыту және басқару әдістемелері сияқты, АҚШ-та салыстырмалы түрде жақында пайда болды. CPM және CCPM-ден айырмашылығы, бұл икемді даму әдістемесінің пайда болуына жауапты адамдар тобы, Юта штатынан 17 америкалық IT-маман болып табылады. “Икемді бағдарламалық қамтамасыз етуді дамыту манифестінде”, онда “Agile” термині алғаш рет ұсынылған, олар Agile даму принциптерінің 12-ін шығарды.
Бұл принциптердің мәні икемді даму әдісінің сипатын анықтайтын келесі негізгі принциптерге келіп тіреледі:
- Адамдар мен ынтымақтастық процестер мен құралдардан маңыздырақ.
- Жұмыс істейтін өнім кеңейтілген құжаттамадан маңыздырақ.
- Клиентпен ынтымақтастық келісім-шарттың шарттарын келісуден маңыздырақ.
- Өзгерістерге дайын болу бастапқы жоспарды орындаудан маңыздырақ.
Agile бүкіл икемді әдістердің негізіне айналды, мысалы, Scrum, Lean және
экстремалды бағдарламалау (XP).
Scrum — Agile негізіндегі икемді даму әдістемесі, ол “спринт” — 1‑ден 4 аптаға дейінгі кезеңге негізделеді, оның соңында жұмыс істейтін өнім нұсқасы алынуы керек.
Lean — Toyota өндіріс жүйесіне негізделген әдіс. Оның негіздері — тұрақты жетілдіру философиясы, ұйымның барлық деңгейлерінде, негізгі ұғымдардың бірі — құн (клиент неге төлей алады).
Extreme Programming (XP) — клиенттің қатысуымен мерзімді жоспарлау ойынын ескере отырып, маңызды рөл берілетін Agile-әдістердің бірі. Бұл алдыңғы интеграциядағы барлық кемшіліктерді, тапсырмалардың басымдығын және қалаулы өнім функционалдығын клиенттің тілектерімен есепке ала отырып анықтауға мүмкіндік береді.
Agile әдісінің артықшылықтары мен кемшіліктері
Артықшылықтары:
- Қысқа және түсінікті итерациялар — даму циклдары 2 аптаның 2 айға дейін созылады, олардың соңында клиент жұмыс істейтін өнім нұсқасын алады.
- Басқарушылар мен клиенттердің жоғары деңгейдегі қатысуы.
- Жұмыс істейтін өнім негізгі прогресс көрсеткіші ретінде алда, бұл өзін-өзі басқаруға жоғары талаптар қояды.
Waterfall көптеген басқа inventions сияқты пайда болды: Герберт Беннингтон 1956 жылы және Хозьер 1961 жылы әдістемені дамытуға үлес қосты, ал Уокер олардың жұмыстарын пайдаланып “Waterfall жасаушысының” атын алды. Айтпақшы, жеңімпаздарды бағалауға болмайды…
Waterfall дамыту моделі процестің кезеңдерге бөлініп, ретімен өтуін қамтиды. Жаңа кезеңге көшу тек алдыңғы кезең аяқталғанда ғана мүмкін.

Уокердің “Үлкен бағдарламалық жүйелерді басқару” атты түпнұсқа жұмысында өнімді дамытудың 6 кезеңі сипатталған. Бұл 6 кезең 1985 жылы АҚШ Қорғаныс министрлігінің бағдарламалық әзірлеушілермен жұмыс стандарттарында бекітілді:
- Жүйе және бағдарлама талаптары: PRD (өнім талаптары құжаты) көрсетілген.
- Анализ: модельдер, жоспарлар және бизнес-ережелер түрінде көрініс табады.
- Дизайн: бағдарламалық қамтамасыз етудің ішкі архитектурасы талаптарды жүзеге асыру жолдарымен дамытылады. Бұл тек интерфейс пен бағдарламалық қамтамасыз етудің келбетіне ғана емес, сонымен қатар оның ішкі құрылымдық логикасына да қатысты.
- Кодтау: бағдарламалық код тікелей жазылады; бағдарламалық интеграция жүріп жатыр.
- Тестілеу: Бағдарламалық өнімдегі ақаулар туралы ақпаратты трекерлерге енгізу арқылы Bug тестерлері (тестілеушілер) соңғы өнімді тексереді. Қателер мен уақыт/қаржы мүмкіндігі болғанда ақауларды түзету жүзеге асырылады.
- Операциялар: өнім түрлі операциялық жүйелерге бейімделеді, пайдаланушылар тапқан ақауларды түзету және функционалдықты қосу үшін тұрақты түрде жаңартылып отырады. Бұл кезең клиенттерге техникалық қолдау көрсетуін қамтамасыз етеді.
Lean және Kanban әдістерін танымал етуге мүмкіндік берген Toyota компаниясы 2000 жылдардың соңына дейін өндірістік қажеттіліктер үшін каскадтық бағдарламалық қамтамасыз етумен жұмыс істеді.
Waterfall әдісінің артықшылықтары мен кемшіліктері
Waterfall-ның ең үлкен артықшылықтары:
- Даму процесінің анық және қарапайым құрылымы — бұл командалар үшін кіріс шегін азайтады
- құжаттама — ресурстарды, тәуекелдерді, уақыт пен ақша жұмсалғанын бақылау оңай, өйткені даму процесінің қатал кезеңдік құрылымы мен жобаның егжей-тегжейлі құжаттамасы бар
- тапсырмалардың тұрақтылығы — өнімнің алдында тұрған тапсырмалар жобаның басынан-ақ командаға түсінікті және даму процесінің барысында өзгеріссіз қалады
- жобаның құны мен мерзімдерін бағалау — дайын өнімнің мерзімі мен оның жалпы құнын әзірлеу басталар алдында есептеу мүмкін.
Каскадты әдістің кемшіліктері:
- икемділіктің жетіспеушілігі – басқа сөздермен айтқанда, егер жоба бастапқыда белгіленген уақыт пен қаржы ресурстарынан көп уақытты талап етсе, онда барлық тестілеу кезеңі бүлінеді. Ротман консалтинг тобының зерттеуіне сәйкес, дайын өнім шығарылғаннан кейін қателерді түзетудің құны орташа есеппен дамыту процесіндегі толыққанды көп кезеңді тестілеу кезінде жұмсалғаннан 20 есе жоғары
- өзгерістерге “қарсылық” — даму кезеңдерінің қатал шеңбері мен тек дайын өнім берілетін шарт, дамыту барысында түзетулерді енгізуге мүлдем мүмкін болмайды
- инерция — бастапқы кезеңдерде уақыт және қаржы шығындарын болжамдау жоғарылайды, бірақ жобаны аяқталған өнімді шығарғанға дейін шығындарды оңтайландыру және функционалдықты немесе концепцияны жақсарту тұрғысынан өзгерту мүмкін емес
- тәуекелдің артуы — классикалық тестілеу жүйесі жобаның әр компонентін бөлек тестілеуді (басқа компоненттермен ынтымақтастықта тестілеуді қоса алғанда) қарастырады. Waterfall қолдану барысында дайын өнім тестіленеді.
Каскадтық дамыту моделі ауытқулардың біршама кемшіліктерін Waterfall модификацияларында түзетеді: Sashimi, суб-жобалармен Waterfall, және тәуекелді азайту мүмкіндігі бар каскадтық даму моделі.
Суб-жобалары бар Waterfall моделі — жұмыстары үш үлкен блокпен жүзеге асырылады: концепция жасау, талаптарды жобалау және өнімнің архитектуралық құрылымы. Одан кейін олардың әрқайсысы егжей-тегжейлі дизайн, кодтау және тестілеу кезеңдерінен (суб-жобалар) өтеді. Соңында, барлық компоненттер жүйе тестілеу кезеңінде біріктіріледі.
Қауіптерді азайту компоненті бар Waterfall дамыту моделі классикалық Waterfall модификациясы болып табылады, онда тәуекелді азайтатын спиральдер қосылады, олар жобаны мини-жобаларға бөледі және бір немесе бірнеше негізгі тәуекелдерге сәйкес келеді.
Agile | Waterfall | |
---|---|---|
Мәні | Итеративтік принциптерге негізделген икемді даму моделі | Қатты сатыдан тұратын каскадты даму жүйесі |
Жасалған күні | 2001 | 1956, 1961 және 1970 |
Қолдану принциптері |
|
|
Артықшылықтары |
|
|
Кемшіліктер |
|
|
Клиенттер | Unilever, бірнеше банктер (Alfa Bank, Home Credit, Raiffeisenbank т.б.) | Cisco Ericsson AB, Toyota (2010 жылға дейін) |
Егер сізге тиімді болса… |
|
|
Сізге жарамаса… |
|
|
Вердикт
Agile және Waterfall — даму және жоба басқарудың екі мүлдем түрлі әдісі. Олардың әрқайсысы арнайы жоба форматына “бүйректелген” ондаған модификациялар мен әдістерді жасап шығарды.
Икемді модель IT-компаниялар, стартаптар және инновациялық салалардағы жобалар үшін керемет болады. Каскадты модель құрылыс жобаларында немесе проекткінің уақытша шектеуі қаржыдан гөрі маңызды болған жобаларда орнын жоғалтпайды.
Әр әдістің және сіздің бизнесіңіздің спецификасын, сондай-ақ тәуекел критерийлерін, уақытты және мүдделі тараптардың қатысуын ескере отырып, тиімді әдістемені өз бетіңізше анықтай аласыз.