Егер сізге өзіңіздің онлайн-дүкеніңізді, интернет-сервисіңізді немесе B2B-порталыңызды жасау қажет болса, тапсырысты орындайтын әзірлеушіні таңдау керек. Елестетіңізші, сіздің алдыңызда шамамен бірдей тәжірибесі бар екі IT-компания бар. Әрқайсысының өз артықшылықтары, технологиялары және мамандары бар... Алайда, сол екі фирманың біреуі өз артықшылығы ретінде мынаны атап өтеді: «Біз Agile әдісі бойынша жұмыс істейміз!»
Алдымен: Agile тапсырыс берушіге не береді — жоғары пайда ма, әлде әдеттегіден көп қиындық па?
Agile — әзірлеушілер қолданатын икемді әдістеме. Барлық процесс бірнеше шағын кезеңдерге бөлінеді, оларды спринт деп атайды. Әдетте бір спринт бір аптадан бір айға дейін созылады. Әр спринттің нәтижесі — тапсырыс беруші бірден қолдана алатын өнімнің бөлігі (product increment). Осылайша клиент жобаның барысын үздіксіз бақылап отыра алады және қажет болған жағдайда нарықтағы өзгерістерге немесе өз тілектеріне қарай түзетулер енгізу оңайырақ болады.
Енді Agile қолданудың артықшылықтарына тоқталайық.
1. Артық қағазбастылық жоқ
Agile тәсілін қолданғанда техникалық тапсырма (ТТ) сияқты міндетті құжаттан бас тартуға болады. Бұл қалай мүмкін деп ойлайсыз ба? Өйткені әдетте ТТ-да жоба компоненттерінің мағынасы мен жалпы тұжырымдамасы сипатталады.
Егер клиент жобаны бастан-ақ ТТ арқылы жүргізгісі келсе — бұл түсінікті. Бірақ уақыт өте келе мұндай тәсілдің кемшіліктері анықтала бастайды. Өйткені іске асыру барысында түзетулер енгізу қажеттілігі туындайды. Мысалы, келісім жүйесіне интеграция жасау сатысында жағдай өзгеріп, басқа жүйемен келісім жасалса — интеграция шарттары да өзгереді. Немесе тапсырыс беруші компаниядағы немесе нарықтағы жағдай өзгереді — мұны да ескеру керек.
ТТ-ны қатаң ұстану үшін бірнеше кедергілер бар:
- ТТ егжей-тегжейлі ойластырылуы тиіс. Бірақ бәрін алдын ала болжау мүмкін емес. Клиент барлық талаптарды сипаттадым деп сенуі мүмкін, алайда екінші демо кезінде жаңа идеялар туындайды. Бұл түзетулерді енгізу үшін уақыт пен қосымша ресурстар қажет.
- Уақыт пен қаражаттың бір бөлігі бекер жұмсалады. Себебі ТТ-ға сай әрекет еткенмен, ол кейін бәрібір қайта жазылуы мүмкін.
- Түзетулер енгізгенде ТТ-ны ғана емес, оған қатысты басқа құжаттарды да өзгерту қажет. Әйтпесе аудит кезінде тапсырыс беруші «жоба талапқа сай емес» деп, төлемді кешіктіруі мүмкін.
- Үлкен жобаларда ТТ келісу бірнеше айға созылуы ықтимал. Әр бөлім өз пікірін қосады, бұл процесті баяулатады. Соның салдарынан ТТ жоба басталмай тұрып-ақ ескіріп қалуы мүмкін.
- Тіпті классикалық әдісті қолданатындар да жүйелі түрде демонстрациялар өткізуге мәжбүр. Барлық функцияны тексеру үшін уақыт қажет, ал уақыт — ең тапшы ресурс.
- Қатаң ТТ сапа мәселесін шешпейді. Ал Agile-де әр спринт өнімге нақты құндылық қосады. Егер бұл құндылық азайса немесе шығын көбейсе — бұл сапа мәселесінің белгісі.
Agile-дегі келісімшарттың қарапайымдылығы неде? Мысалы, келісімде жұмыс ай сайын қабылданатыны жазылады. Осылайша құжатты келісу және қол қою әлдеқайда жеңіл болады. Клиент те, әзірлеуші де өз құқықтарын қорғай алады.
Процесс ашық әрі түсінікті. Клиент кез келген сәтте жобаның барысын бақылай алады. Ал шешім қабылдау қағазбастылықсыз жеңілдейді.
2. «Кішкентай қадамдармен» алға жылжу — үнемдірек және тиімдірек
Нарықта минималды өміршең өнім (MVP) пайда болғанда, оны тұтынушылардың сұранысына бейімдеу оңайырақ.
Пайда әрқашан басты назарда. MVP арқылы алғашқы табысқа жетіп, кейін оны тұтынушылардың нақты қажеттіліктеріне сай арттыруға болады.
Agile-дің веб-әзірлеудегі ерекшеліктері

Бұл салада Agile тәсілі мынадай артықшылықтар береді.
1. Өнім тұрғысынан
Agile-сіз
Дәстүрлі тәсіл бойынша қатаң жоспар болуы керек:
- жобаның басталу күні;
- аяқталу күні;
- бюджет көлемі.
Алдымен идеалды өнім қандай болуы керектігін ойластырып, содан кейін әзірлеушіге арналған ТТ жазылады. Тек содан кейін ғана дайын өнім қабылданады.
Демонстрацияларға барлық бөлімдерді шақыру мәселені шешпейді. Нақты қажеттіліктерді тек соңғы пайдаланушылар көрсете алады. Бірақ әзірлеуші үшін бастысы — ТТ-ға сай жұмыс істеу, себебі оған мерзім мен бюджет шегінде қалу маңыздырақ.
ТТ әдетте маңызды бөлшектерді қамтымайды. Әзірлеу жүріп жатқанда нарықтағы жағдай өзгереді немесе бәсекелес өнім пайда болады — ал сіздің жобаңыз ескіреді.
Agile-пен
Әр спринт — шағын жеке жоба. Оның нәтижесі — өнімнің дайын бөлігі, яғни қолдануға болатын MVP. Бір-екі айда минималды нұсқаны жасап, оны бірден нарыққа шығарып, кері байланысты ескеріп түзетуге болады. Осылайша өнім тұтынушылардың нақты сұраныстарына жақсырақ бейімделеді.
Пайдаланушылар MVP-ді сынап көргеннен кейін, олардың пікірлерін ескеріп, өзгерістер енгізуге немесе қажет болса, өнімді жаңасымен алмастыруға болады.
Agile (ағылшын тілінде — «икемді») атауының өзі тәсілдің мәнін көрсетеді. Agile — бұл бейімделгіштік, өзгерістерге тез жауап беру қабілеті. Өзгерістер енгізу — әдеттегі, қарапайым процесс. Соның арқасында өнім пайдаланушылардың нақты қажеттіліктеріне сай жасалады. Кері байланыс пен аналитика бұл процесті үздіксіз жетілдіруге мүмкіндік береді.
2. Процесс тұрғысынан
Agile-сіз
Дәстүрлі тәсілде әзірлеу процесі жабық болады. Клиент жобаның қалай жүріп жатқанын көрмейді және соңында нәтиже көңілінен шықпауы мүмкін. Бірақ жұмысты тоқтату да мүмкін емес — өйткені ақша мен уақыт кеткен.
ТТ-ны түзету көп уақыт пен күшті талап етеді. Әрбір өзгеріс ұзақ келісімді қажет етеді. Сондықтан көптеген тапсырыс берушілер құжатты қайта қарауға да құлықсыз.
Әзірлеуші үшін басты мақсат — жұмысты мерзімінде аяқтау. Өзгерістер енгізудің қиындығы оны қызықтырмайды.
Agile-пен
Мұнда нақты «соңғы мерзім» ұғымы жоқ. Негізгі мақсат — өнімді кезең-кезеңімен жетілдіру. Процесті кез келген уақытта түзетуге немесе тоқтатуға болады, ал нәтиже ретінде дайын MVP қалады.
Әзірлеушілер жауапкершілікті көбірек сезінеді, себебі әр қадамда сапа үшін өздері жауап береді. Төлем тек прогресс бар кезде жүргізіледі, сондықтан мотивация жоғары.
Agile тәсілінде тапсырыс беруші мен әзірлеуші күн сайын байланыста болады. Кері байланыс жедел, шешім қабылдау да тез жүреді. Егер клиенттің уақыты болмаса, ол күнделікті есепті кейінірек қарап шыға алады.
3. Пайда тұрғысынан
Зиянды жоба — ең үлкен сәтсіздік. Бұны болдырмау үшін өнім тұтынушылар сұранысына сай болуы керек.
Agile-сіз
Тәуекел жоғары: тапсырыс беруші айлар бойы, тіпті жылдар бойы жобаға қаржы құяды, бірақ соңында ол өз шығынын өтемеуі мүмкін.
Agile-пен
Команда басты мақсаттарға шоғырланады. Жаңа нұсқалар жиі шығарылады, ал кері байланыс өнімді жетілдіруге көмектеседі. Осылайша рентабельділік тұрақты түрде артады.
Рентабельділік — табыстың негізгі көрсеткіші. Agile әдісі уақыт пен қаржыны ең тиімді жұмсауға мүмкіндік береді.