JavaRush /Java блогы /Random-KK /Бағдарламалық жасақтаманы әзірлеу әдістемелері туралы біл...

Бағдарламалық жасақтаманы әзірлеу әдістемелері туралы білуіңіз керек барлық нәрсе: трендтер, принциптер және жаңадан бастаушыларға арналған тұзақтар

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

Жаңадан бастаушыларға арналған ескерту: модельдер, әдістемелер және жалпы шатасу

Бастау үшін маңызды түсініктеме: бағдарламалық жасақтаманы әзірлеудің жеке үлгілері және осы әзірлеудің жеке әдістемесі бар. Модельдер жүйенің болашақтағы әрекетін болжайды. Жүйе қажетінше жұмыс істеуі үшін әдістемелер қажет. Бағдарламалық жасақтаманы әзірлеу үлгілері мен әдістемелерін шатастыру - әрбір АТ бастаушысының қасиетті міндеті, сондықтан бұл өрескел қателік болып саналмайды. Дегенмен, модельдер классикалық каскадты сарқырама болып табылады , оның сызықтылығы, әр кезең үшін нақты мақсат қоюы және мерзімдерді қатаң бақылау. Модельдер жоба тәуекелдерін ерте анықтауға және азайтуға бағытталған спираль болып табылады. Спиральды даму шағын ауқымда басталады, алдымен жергілікті мәселелерді шешеді, содан кейін күрделірек. Соңғы үлгі IID болып табылады , ол жобаның өмірлік циклін итерациялар тізбегіне бөледі, олардың әрқайсысы «шағын жобаға» ұқсайды. Жалпы алғанда, модель бағдарламалық жасақтаманы әзірлеу процесін сипаттайтын нәрсе . Бірақ әдістемелер – берілген тапсырмалар бойынша жұмысты бақылау, бағалау және бақылау жүйелері. Әдістемелер қазіргі дамудың сәбізі мен таяқшасы болып табылады, олар даму процесінің әрбір буынын басқару үшін қажет. Олар жобаның бағытына, оның бюджетіне және соңғы өнімді шығару мерзіміне қарай таңдалады. Сонымен қатар, әдістемелерді жоба менеджері мен оның командасының темпераменті негізінде таңдауға болады. Тіпті компанияның немесе тапсырыс берушінің философиясына негізделген. Ең танымал әдістерді қарастырайық.

1. Scrum әдістемесі

Scrum - жобаны басқарудың икемді әдісі . Ол «спринттерге» негізделген - қысқа итерациялар, уақыт бойынша қатаң шектелген (әдетте 2-4 апта). Кездесулердің ұзақтығы минимумға дейін қысқарады, бірақ олардың жиілігі артады. Әрбір спринт итерацияның соңына дейін тапсырмалар тізімінен тұрады және олардың әрқайсысының өз «салмағы» бар. Кездесулер барысында команда кімнің не істегенін, немен айналысатынын және қандай мәселелер бар екенін талқылайды. Scrum жоспарлау үшін спринт журналын пайдаланады. Бұл тәсілде командада Scrum шебері жиі пайда болады, ол бүкіл команданың үздіксіз жұмысын белгілейді, оған қолайлы жағдай жасайды. Сондай-ақ жобада Өнім иесінің рөлі пайда болады - әзірлеуші ​​менеджер, өнімді қадағалайтын және клиенттің сұранысы мен команданың нәтижесі арасындағы негізгі байланыс ретінде әрекет ететін адам.

Артықшылықтары:

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

Минустары:

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

Кімге жарамды:

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

2. Канбан әдістемесі

Канбанның ең маңызды ерекшелігі - жобаның өмірлік циклінің визуализациясы . Бағандар жеке берілген тапсырмаларды орындау үшін жасалады. Бағандар келесідей маркерлермен белгіленеді: Орындалуда, Орындалуда, Кодты қарап шығу, Тестілеуде, Дайын (бағандардың атаулары, әрине, өзгеруі мүмкін). Әрбір топ мүшесінің мақсаты - бірінші бағандағы тапсырмалар санын азайту. Канбан тәсілі көрнекі және мәселенің қай жерде екенін түсінуге көмектеседі. Канбан құрылымы түпкілікті және қайтарымсыз анықталмайды: жобаның ерекшеліктеріне байланысты импровизацияланған бағандарды қосуға болады. Мысалы, кейбір командалар тапсырманы орындамас бұрын оның дайындығының критерийлерін анықтауы қажет жүйені пайдаланады. Содан кейін екі баған қосылады - көрсетіңіз (параметрлерді көрсетіңіз) және орындаңыз (жұмысқа кірісіңіз).

Артықшылықтары:

  • жоспарлау икемділігі. Ұжым тек ағымдағы жұмысқа шоғырланады, тапсырманың басымдығы да анықталады;
  • көріну. Барлық қатысушылар деректерге қол жеткізе алатын болса, жаһандық мәселелерді байқау оңайырақ болады;
  • даму процесіне жоғары қатысу. Процесті визуализациялау өзін-өзі ұйымдастыру мен өзін-өзі бақылауды арттырады.

Минустары:

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

Кімге жарамды:

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

3. RUP әдістемесі

RUP әдістемесі итерациялық даму моделін пайдаланады. Әрбір итерацияның соңында (бұл 2-ден 6 аптаға дейін созылады) топ жоспарланған мақсаттарға жетуі және жобаның уақытша, бірақ жұмыс істейтін нұсқасы болуы керек. RUP жобаны төрт кезеңге бөлуді қамтиды , олардың әрқайсысында өнімнің жаңа буынын бойынша жұмыс жүргізіледі: жобаны бастау кезеңі, нақтылау, құрылыс және іске асыру. Кезеңнің соңында кезеңді аяқтау маркері (Project Milestone) енгізіледі. Жобаның маңызды кезеңін команда қол жеткізілген нәтижелерді бағалайтын сәт деп санауға болады. Нәтижесінде, әдістеме негізгі белгілердің бірінші кезеңде шығарылатынын, ал келесі фазаларда толықтырулардың қосылатынын білдіреді.

Артықшылықтары:

  • клиенттен де, жұмыс барысында туындайтын да өзгеретін тапсырмаларды жеңуге мүмкіндік береді;
  • өнімнің үздіксіз жетілдірілуін қамтамасыз етеді. Итерациялар кезінде дизайнды мұқият тексеруге болады;
  • жұмыстың бастапқы кезеңдерінде тәуекелдерді анықтауға және жоюға, сондай-ақ даму сапасын тиімді бақылауға мүмкіндік береді.

Минустары:

  • шағын командамен немесе компаниямен жүзеге асыру қиын өте күрделі әдіс;
  • мамандардың міндеттер қою қабілетіне тәуелділігі;
  • талаптардың шамадан тыс құжаттамасын қажет етеді.

Кімге жарамды:

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

Көптеген әдістемелер, бір тенденция

«Agile» жалпы атауымен икемділік қағидаттарына негізделген сөзсіз танымал Scrum және Kanban, сондай-ақ табанды қайталанатын RUP, компаниялар әдістемелердің көптеген нұсқаларымен жұмыс істейді. Кейбір адамдар экстремалды бағдарламалауды және ең жылдам және қарапайым шешімдерді қабылдауды қалайды, кейбіреулері тестілеуге негізделген әзірлеуді, ал басқалары қосымшаларды жылдам әзірлеуді (RAD) қалайды. Сонымен қатар, негізгі және сөзсіз тенденция бірнеше әдістемелерді бір уақытта қолдану болып табылады . Немесе тіпті үлгілер мен әдістемелерді бірегей басқару жүйесіне біріктіру. Бағдарламалық жасақтаманы әзірлеу әдістемелері туралы білуіңіз керек барлық нәрсе: жаңадан бастаушыларға арналған трендтер, принциптер және тұзақтар - 2Заманауи компаниялар бюрократиялық кедергілерді жоюға және жауапкершілікті бөлімдер мен блоктар арасында ауыстырмай, ұйым ішінде жалпы командалық жұмыс атмосферасын құруға ұмтылады. Scrumalliance есебіне сәйкес , IT-компаниялардың 70% Scrum пайдаланады. Олардың арасында Google, Amazon, Salesforce, Microsoft, Adobe сияқты алпауыт компаниялар бар. Стартаптар мен жас жобалар Канбанға көбірек бейім, бірақ оны Toyota және, мысалы, Wargaming ойыншылары да пайдаланады. ТМД елдерінің қарапайым компаниялары Prom.ua, Bigl.ua, Kabanchik.ua Scrum және Kanban әдістемелерін бір уақытта пайдаланады, бірақ әртүрлі тапсырмалар үшін. Scrum – жоспарлау құралы ретінде, Канбан – жұмыс барысын бақылау үшін. RUP-ке келетін болсақ, оны көбінесе 50-200 қызметкері және 1-10 миллион доллар кірісі бар батыс компаниялары қолданады. Бірақ сонымен бірге IBM OpenUP әдістемесін шығару арқылы Agile принциптеріне жақындау үшін RUP өзгертті - «RUP, тек икемді». Дәл сол мақтанған Agile ептілігі қазір IT-ландшафтты басқарады . Бұл жай ғана сән емес - бұл әлі де инновациялық және ол көптеген ірі компанияларда жұмыс істейді. Agile Сorкон алқабында қолданылады және оны Facebook пен Uber пайдаланады.

Төменгі сызық

Әр жобаның командаға, қаржыландыруға, мерзімге және тұтынушы талаптарына байланысты бағдарламалық жасақтаманы әзірлеудің өзіндік әдістемесі бар. Басқарудың әмбебап технологиясы жоқ: тіпті өте танымал Agile әзірлеу процесіне ең жақсы тәсілді қамтамасыз ете алмайды. Сондықтан әдістеме мұқият таңдалады, кейде тіпті түбегейлі. Сіз оны компанияның өзі немесе оның тұтынушылары туралы қорытынды жасау үшін пайдалана аласыз. Әдістемелер аралас, үлгілермен толықтырылып, өздеріне бейімделген. Олар жаңа көзқарастарды тудыратыны сонша. Ақыр соңында басқару саласы Scrum және Kanban қолында қалады, Сарқырама моделінің немесе итеративті RUP күтпеген қосындылары.
Тағы не оқу керек
Веб-сайттар: Кітаптар:
  • Эндрю Стелман, Дженнифер Грин: «Оқу епті»;
  • Пер Кролл, Брюс МакИсак: «Ептілік пен тәртіп жеңілдетілді: OpenUP және RUP тәжірибелері»;
  • Майк Кон: Скрум. Шапшаң даму»;
  • Роберт К.Мартин: «Бағдарламалық қамтамасыз етуді жылдам әзірлеу. Принциптер, мысалдар, тәжірибе»;
  • Маркус Хаммарберг, Йоаким Сунден: «Канбан әрекетте»;
  • Джейкобсон, Г.Буч, Дж.Рамбо: «Бағдарламалық қамтамасыз етуді әзірлеудің бірыңғай процесі».
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION