•   8 min read

Сусыздықтың мәңгілік классикалары

Әр жоба барысында туындайтын көптеген сұрақтардың ішіндегі бір мәселе айқын: өнімді дамыту процесін басқарудың ең жақсы жолы қандай? Ерекше еске түсетіні — су құлағы – жылдар бойы дәлелденген нұсқалардың бірі (немесе бағдарламалық қамтамасыз етуді басқаруға арналған каскадтық су құлағы моделі).

Шын мәнінде, бұл методология қатты сынға алынып жатыр, бірақ ол шынымен де соншалықты нашар ма, әлдетақырып тағы да өз тарихын қайталауын анықтаймыз ба?

Бағдарламалық қамтамасыз етуді дамыту циклі

Әрбір әзірлеушілер тобы өзінің бағдарламалық қамтамасыз ету өмірлік циклі моделін құра алады немесе жалпы мойындалған нәрсені пайдалана алады. Нұсқалардың бірі – су құлағы. Американдық В.Ю.Ройс бұл модельді негіздеген деп саналады. Ол көптеген нәрселерді әріптестерінен ұрлап, олардың еңбегіне несие алғаны туралы айтылған. Бұл 1970 жылы болды. Бүгінгі күнге дейін Ройс ұсынған әдіс көптеген жобаларда не өз бастапқы нұсқасында, не модификацияланған түрде қолданылады.

Дегенмен, кейбір IT инсайдерлері мұндай методологияның ешқашан болмағанын айтады:

IT маманы және ұстаз ретінде, 40 жылдан астам уақыт бойы IT индустриясы туралы көптеген мифтерді естідім. Бірақ мені таң қалдыратын нәрсе –«Су құлағы» сөзінің не үшін жоқ методологияны сипаттау үшін әлі де қолданылып жатқаны, және не үшін даму әдістері мен жүйелерінің жасаушылары оны салыстыру объектісі ретінде пайдаланады.”

Дэвид Дисхав, Сиракуз университетінің Ақпараттық зерттеулер мектебінің профессоры, АҚШ

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


IT-дегі Су құлағы

Су құлағы моделі үшін негізгі негізгі принцип – әрбір соңғы қадам алдыңғысы аяқталмаса басталмайды. Сонымен қатар, алға немесе артқа ерікті қозғалыстарға рұқсат жоқ, және фазалар сәйкес келмеуі керек. Бұл каскадты методологияны өзінің арнайы аналогтарынан (немесе бәсекелестерінен), мысалы, Agile, DSDM, Scrum немесе FDD-дан бөлетін негізгі мәселе.


Су құлағында әрекет алгоритмі

Ройстың модельге негізделген ойларын түсіну үшін, оның түпнұсқа жұмысын оқи аласыз: 
Ройс, Уинстон (1970), Үлкен бағдарламалық қамтамасыз етулерді дамыту.

Каскадтық негіздегі жұмыс процесі

Идея ойлап табу және талқылау

Бұл кезең негізінен даму кезеңін қамтымайды. Фактикалық түрде бір немесе бірнеше адамға қызықты жаңа идея қарастырылады.

Талаптарды талдау

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

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

Бұл кезең нақты қадамдарды қамтиды:

  1. бағдарламалау платформасын таңдау (Python, PHP, JS және т.б.)
  2. техникалық бөлшектерді нақтылау (мысалы, қызмет немесе өнімнің серверлермен қарым-қатынасы, API-ді пайдалану немесе пайдаланбау, сыртқы және ішкі интерфейстің логикасы және т.б.)
  3. жобаның қауіпсіздік мәселелерін шешу (мысалы, HTTPS пайдалану немесе пайдаланбау, SSL шифрлау және т.б.)
  4. бағдарламалық қамтамасыз етуді пайдаланушылардың рөлдерін анықтау (администратор, клиент, менеджер және т.б.)
  5. мақсат өнімінің сенімділігін, тиімділігін және одан әрі техникалық қолдау мәселелерін аяқтау.
  6. арнайы команданы қалыптастыру.

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

Бұл кезең алдын ала әзірленген құжаттарға сәйкес код жазуды қамтиды.

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

Мамандар өнімнің соңғы нұсқасын нақты жағдайларға жақын жағдайда тестілейді, оған ақауларды тіркеу арқылы. Жалпы бағдарламалық қамтамасыз етудің жұмыс істеуі үшін ең маңызды ақаулар түзетіледі, ал аз маңызды ақаулар түзетусіз қалдырылуы мүмкін, егер уақыт өтіп кетсе немесе бюджет жұмсалса.

Бағдарламалық қамтамасыз етудің техникалық қолдауы

Нәтижесінде шығатын қызмет көрсететін бағдарламалық өнім мақсатты түрде қолдануға беріледі, сонымен бірге қолдау көрсетіледі. Бұл өнімнің қызмет көрсетуін, ақауларды түзетуді, пайдаланушы пікірлері негізінде функционалдық жаңартуларды жоспарлауды білдіреді.

Жоғарыда аталған кезеңдер қатаң реттілікпен жүзеге асырылады және олардың нәтижелері тіркеледі.
Жоғарыда сипатталған классикалық Су құлағы методологиясының эволюциясын түсіну үшін, Жобаны басқару білімінің денесін зерттеуге болады. 3‑ші және 4‑ші нұсқаларда каскадты” жолды түсінуге көмектесетін бірқатар айырмашылықтар бар.

Каскадты бағдарламалық қамтамасыз етуді дамыту моделінің артықшылықтары мен кемшіліктері

Өкінішке орай, біздің әлемде ештеңе мінсіз емес, сондықтан каскадтық методологияның да күшті және әлсіз жақтары бар.


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

Каскадты даму моделін қалай қолдану керек және қандай жағдайларда?

Тәжірибеге сәйкес, Су құлағы моделінің бағдарламалық қамтамасыз етуі келесі жағдайларда өте өзекті:


  1. тапсырыс беруші жобада тек бірінші кезеңде қатысады, содан кейін ол аяқталған өнімді қабылдайды;
  2. өнімнің талаптары өзгерістерге ұшырамайды;
  3. жоба жоғары күрделілікке, ұзақ мерзімділікке және қымбатқа ие;
  4. сапа негізгі басымдық, тіпті уақыттың есебінен;
  5. қосымша кластағы әзірлеушілерден тұратын команда жоқ;
  6. жобаны жүзеге асыру үшін мамандарды аутсорсинг ету мүмкіндігі бар.
Каскадтық методологиядан бас тарту мүмкін себептерін түсіну үшін, Стивен Ковидің Скрам. Жобаларды басқарудағы революциялық әдіс” кітаптарын оқи аласыз.

Су құлағын қолдану мысалдары

Таза каскад моделі қазіргі заманғы дамуында соншалықты кең таралған емес, және көбінесе
Agile ретінде сыныптала алмайтын нәрселер Су құлағы деп аталады, осылайша бұл методологияның қай endroits қолданылып жатқанын анықтау өте қиын.

Сарапшылардың пікірінше, ERP жүйелерінің және құрылыс, медицина, мемлекеттік шарттармен операциялар немесе осындай негізгі қолданбалар үшін бағдарламалардың маңызды бөлігі, әдетте модификацияланған Су құлағы нұсқасы арқылы дамытылады.

Осындай жобаларды өңдеудің ерекшелігін түсіну үшін, Сергей Зыковтың Кәсіпорын жүйелерінің үлгіге негізделген дамуы” кітабында жақсы сипатталған.
Бұл логикалық тұрғыдан түсінікті. Оны Agile әдістеріне, жобаларды басқарудың мұғалімі, жаттықтырушы, және кітаптардың авторы Чак Кобб та баяндаған.

Егер сіз өзеннің үстінде көпір салып жатсаңыз, Біз алдымен алғашқы құрылымын саламыз, содан кейін нәтижесін көріп, қалған құрылымдарын салып-салмауымызды шешеміз!” деп айту күлкілі болар еді.

Су құлағын қолданған компаниялардан бірқатарын атап өтуге болады:

Компания атауы Су құлағы моделін қолданудың мақсаты Методология қазір қолданылуда ма Компания өкілінің пікірі
Вюстенрот & Вюрттемберг (W&W) Қаржы секторы үшін ERP жүйесін дамыту Деректер жоқ
Cis­co Қауіпсіздік жүйелерін дамыту Ия
EPAM Әр түрлі өнімдер немесе шешімдер немесе олардың бөліктері Ия Алексей Ионов: “…бүкіл үлкен жобаны Agile-мен жасау міндетті емес — икемді даму белгілі бір кезеңдер немесе жұмыс ағындары ішінде қолданылуы мүмкін…” 
IBM Әр түрлі өнімдер немесе шешімдер немесе олардың бөліктері Ия Розалинд Рэдклифф: Кері байланыссыз Water­fall-мен жұмыс істейтін даму командалары бизнес талаптарын орындау мүмкін емес, сондықтан мұндай жобалар мен өнімдер көп техникалық қызмет алуда … Water­fall жаңа технологиялармен және жаңа бизнес-практикаларды енгізу кезіндегі жаңа командалармен кезең-кезеңмен алмастырылады.”
Microsoft IT Әр түрлі өнімдер немесе шешімдер немесе олардың бөліктері Жоқ Соңғы бірнеше жылда… барлық командаларымыз икемді методологиялармен қамтамасыз етілді. Олар дәстүрлі Water­fall моделінен келген көптеген мәселелерді шешті. Жобалар алдын ала жоспарланып, айлар мен тіпті жылдар бойы созылатын. Осы модель аясында, өнім біз шығарған кезде ескірген деп саналуы мүмкін”.
AT Con­sult­ing Әр түрлі өнімдер немесе шешімдер немесе олардың бөліктері Ия Василий Короблев: “«Негіздерден» жүйелерді дамыту үшін, біз, егер қажет болса, икемді (Agile) немесе каскад (Water­fall) дамыту тәсілдерін немесе екеуін де біріктіреміз.”
Par­al­lels Әр түрлі өнімдер немесе шешімдер немесе олардың бөліктері Ия Николай Добровольский: Әр түрлі жобаларда біз әр түрлі тәсілдер қолданамыз — кейбір жағдайларда Agile-мен бір немесе екі апта сprints, басқа жағдайларда — qua­si-Water­fall жобаларында, белгілерді бірнеше айға созу рұқсат етіледі. Көп жылдар бойы, біз үлкенірек жоба немесе команда неғұрлым күрделі болады, ақпараттарды Agile процессіне сәйкес енгізудің тиімділік дәрежесін төмендете беретінін түсіндік”.
SAP Әр түрлі өнімдер немесе шешімдер немесе олардың бөліктері Ия Евгений Арнаутов: Өнімді кезең-кезеңмен шығаруда, Agile нұсқалары жиі көңілге көрінеді, кейде олар Water­fall әдісімен біріктіріледі.”
Тойота Әр түрлі өнімдер немесе шешімдер немесе олардың бөліктері Жоқ Сатоши Ишии: “…біз TPS (Батыста Lean) бағдарламалық қамтамасыз етуді дамытуға қолдануды үйренуге тырысамыз


Каскад моделі негізіндегі даму басқару бағдарламалары мен бағдарламалары

Су құлағын басқару үшін, сіз уақытты бақылауға арналған бірнеше өнімдерді қолданып, Гант диаграммаларын құрастыру мүмкіндігі бар.


Work­sec­tion



Бұл ыңғайлы мобильді нұсқасын ұсынатын тартымды украиндық saas қызметі.

Бұл мынадай функцияларға байланысты мұқият жоспарлау үшін қолайлы:
  • тапсырмалар мен мерзімдер арасындағы байланыстары бар Гант диаграммасы
  • әртүрлі лауазымдармен жауапкерлер арасында міндеттерді бөлу
  • әртүрлі есеп беру формаларының жүйесі
  • комментарийлерді, эмодзилерді және жобадағы барлық жұмыс тарихын сақтау
  • дамыту процесінің ашықтығы үшін тапсырыс берушінің/клиенттің шектеулі қолжетімділігі
  • бюджеттер мен шығындарды көрсету мүмкіндігі
  • тапсырмаларды орындауда дәл рәсімдерге сәйкес әрекет ету үшін кішкентай кезеңдерге тексеру тізімдері

Қорытынды

Су құлағы ұзақ уақыт бойы қолданылатын әдістеме және сыншылар не айтса да,
көптеген жағдайда тиімді.

Сонымен қатар, бұл әдіс көптеген жобалар үшін таза формада мерзімді нарық қажеттіліктеріне жылдам жауап беруді талап етпейді. Әртүрлі компаниялардың өкілдері бұл сөздердің негізінде, Су құлағы қазіргі заманғы жобаларда рөл атқаруға лайық екенін қорытындылай алатындығымызды тұжырымдаймыз. Бірақ Су құлағын пайдалану жобаның мерзімдері бойынша тұрақты болып қалатын талаптар кезінде ғана негізделген.

esc
Бөлісіңіз
или
ПМ мектеп
Неге Worksection уақыт трекері жобаның ресурстарын бақылау үшін ең жақсы таңдау Сағаттар есте сақтаудан жазылады және жиі кешігулермен. Уақыт парақтары тапсырмалармен байланыссыз, сондықтан есептерді...
2 Мамыр 2025   •   7 min read
ПМ мектеп
Чаттар мен тақталар бойында шашырап жатқан тапсырмаларды бақылау жобаның орындалуын қиындатады. Басшылық командаға тапсырмалардың қазіргі статусын білу үшін синхрондауға көп уақыт жұмсауға тура келеді...
1 Мамыр 2025   •   7 min read
ПМ мектеп
Жобаның уақытша шеңберін түсінбеу, үнемі кешіктіру, мердігерлермен процестерді үйлестіруде қиындықтар. Бюджет өсуде, ал нәтиже үнемі кейінге шегеріледі. Бұл процестерді үйлестіру мен жоспарлауға арналған...
30 Сәуір 2025   •   4 min read
Қазір бастаңыз
Нақты электрондық поштаңызды енгізіңіз 🙂