Տարբերությունը ծայրահեղ ծրագրավորման և SCRUM-ի միջև

Տարբերությունը ծայրահեղ ծրագրավորման և SCRUM-ի միջև
Տարբերությունը ծայրահեղ ծրագրավորման և SCRUM-ի միջև

Video: Տարբերությունը ծայրահեղ ծրագրավորման և SCRUM-ի միջև

Video: Տարբերությունը ծայրահեղ ծրագրավորման և SCRUM-ի միջև
Video: Что выбрать? Тренировки или соревнования? #tabletennis #tournament 2024, Հուլիսի
Anonim

Ծայրահեղ ծրագրավորում ընդդեմ SCRUM | XP ընդդեմ SCRUM

Տարիների ընթացքում ծրագրային ապահովման ոլորտում կիրառվել են ծրագրային ապահովման մշակման մի շարք տարբեր մեթոդոլոգիաներ, ինչպիսիք են Waterfall-ի մշակման մեթոդը, V-Model-ը, RUP-ը և մի քանի այլ գծային, կրկնվող և համակցված գծային-իտերատիվ մեթոդներ: Արագաշարժ մոդելը (ավելի ճիշտ՝ մեթոդոլոգիաների խումբ) ծրագրային ապահովման մշակման ավելի նոր մոդել է, որը ներկայացվել է Agile մանիֆեստի կողմից՝ լուծելու ծրագրային ապահովման մշակման ավանդական մեթոդոլոգիաներում հայտնաբերված թերությունները:

Ճկուն մեթոդները հիմնված են կրկնվող զարգացման վրա և օգտագործում են օգտատերերի արձագանքները որպես հիմնական հսկողության մեխանիզմ:Արագաշարժը կարելի է անվանել մարդակենտրոն մոտեցում, քան ավանդական մեթոդները: Agile մոդելը շատ վաղ է մատուցում արտադրանքի աշխատանքային տարբերակը՝ համակարգը բաժանելով շատ փոքր և կառավարելի ենթամասերի, որպեսզի հաճախորդը կարողանա վաղ գիտակցել որոշ առավելություններ: Agile-ի փորձարկման ցիկլի ժամանակը համեմատաբար կարճ է ավանդական մեթոդների համեմատ, քանի որ թեստավորումն իրականացվում է զարգացմանը զուգահեռ: Այս բոլոր առավելությունների պատճառով արագաշարժ մեթոդներն այս պահին գերադասելի են ավանդական մեթոդոլոգիաներից: Scrum-ը և Extreme ծրագրավորումը Agile մեթոդների ամենահայտնի տարբերակներից են:

Ի՞նչ է SCRUM-ը:

Ինչպես նշվեց վերևում, SCRUM-ը նախագծերի կառավարման աստիճանական և կրկնվող գործընթաց է, որը պատկանում է Agile մեթոդների ընտանիքին: SCRUM-ը հիմնված է զարգացման ցիկլի սկզբում հաճախորդների մասնակցությանը բարձր առաջնահերթություն տալու վրա: Այն խորհուրդ է տալիս ներառել հաճախորդի կողմից թեստավորումը հնարավորինս շուտ և հաճախ: Փորձարկումը կատարվում է յուրաքանչյուր կետում, երբ հասանելի է դառնում կայուն տարբերակը:SCRUM-ի հիմքը հիմնված է թեստավորումն սկսելու ծրագրի սկզբից և շարունակելով մինչև ծրագրի ավարտը:

SCRUM-ի հիմնական արժեքը «որակը թիմի պատասխանատվությունն է», որն ընդգծում է, որ ծրագրաշարի որակը ամբողջ թիմի պատասխանատվությունն է (ոչ միայն թեստավորման թիմի): SCRUM-ի մեկ այլ կարևոր ասպեկտ է ծրագրաշարը բաժանել ավելի փոքր կառավարելի մասերի և դրանք շատ արագ հասցնել հաճախորդին: Աշխատանքային արտադրանքի առաքումը չափազանց կարևոր է: Այնուհետև թիմը շարունակում է կատարելագործել ծրագրաշարը և շարունակաբար մատուցել յուրաքանչյուր հիմնական քայլ: Սա ձեռք է բերվում շատ կարճ թողարկման ցիկլեր ունենալու միջոցով (կոչվում է սպրինտ) և յուրաքանչյուր ցիկլի վերջում բարելավման համար հետադարձ կապ ստանալու միջոցով:

SCRUM-ը սահմանում է մի քանի հիմնական դերեր մշակողների թիմի անխափան աշխատանքի համար: Նրանք են Ապրանքի սեփականատերը (ով ներկայացնում է հաճախորդին և պահպանում է արտադրանքի հետքաղցը), Scrum Master-ը (որը հանդես է գալիս որպես թիմի կազմակերպիչ և համակարգող՝ անցկացնելով scrum հանդիպումներ, պահպանելով սպրինտի հետքաղությունը և այրվող գծապատկերները) և թիմի այլ անդամներ:Թիմը կարող է բաղկացած լինել ավանդական դերերից, բայց հիմնականում դրանք ինքնակառավարվող թիմեր են: Scrum-ի հիմնական արտեֆակտներն են՝ Ապրանքի հետքաղ/թողարկում (ցանկությունների ցանկ), Sprint-ի հետքաշումներ/թերության հետքագոյններ (առաջադրանքները յուրաքանչյուր կրկնության մեջ), Burn down գծապատկերները (աշխատանքների մնացորդն ընդդեմ ամսաթվի): SCRUM-ի հիմնական արարողություններն են՝ Ապրանքների հետաձգման ժողովը, Sprint-ի հանդիպումը և Հետադարձ տեսության հանդիպումը:

Ի՞նչ է ծայրահեղ ծրագրավորումը:

Extreme Programming-ը (կրճատ՝ XP) ծրագրային ապահովման մշակման մեթոդաբանություն է, որը պատկանում է Agile մոդելին: Ծայրահեղ ծրագրավորումն իրականացնում է փուլերը շատ փոքր շարունակական քայլերով (համեմատած ավանդական մեթոդների հետ): Առաջին անցումը, որը տևում է ընդամենը մեկ օր կամ մեկ շաբաթ, միտումնավոր թերի է: Ծրագրային ապահովման մշակման կոնկրետ նպատակներ ապահովելու համար սկզբում գրվում են ավտոմատացված թեստեր: Այնուհետև մշակողները կատարում են կոդավորումը: Ուշադրության կենտրոնում է ծրագրավորում կատարել զույգերով: Բոլոր թեստերն անցնելուց հետո կոդավորումը համարվում է ավարտված: Հաջորդ փուլը դիզայնն ու ճարտարապետությունն է, որը վերաբերում է նույն ծրագրավորողների կողմից ծածկագրի վերամշակմանը:Այս փուլի վերջում շահագրգիռ կողմերին ներկայացվում է թերի (բայց ֆունկցիոնալ) արտադրանքը: Դրանից անմիջապես հետո սկսվում է հաջորդ փուլը (որը կենտրոնանում է ամենակարևոր հատկանիշների հաջորդ շարքի վրա):

Ո՞րն է տարբերությունը Extreme Programming-ի և SCRUM-ի միջև:

Ծայրահեղ ծրագրավորումը և SCRUM-ը հասկանալիորեն շատ նման և համահունչ մեթոդոլոգիաներ են: Այնուամենայնիվ, այս երկու մեթոդների միջև կան նուրբ, բայց կարևոր տարբերություններ: SCRUM sprints-ը տևում է 2-4 շաբաթ, մինչդեռ բնորոշ XP կրկնությունները ավելի կարճ են (վերջին 1-2 շաբաթը): Սովորաբար, SCRUM թիմերը թույլ չեն տալիս փոփոխություններ կատարել սպրինտներում, բայց XP թիմերը մի փոքր ավելի ճկուն են կրկնությունների ընթացքում փոփոխությունների նկատմամբ: Օրինակ, սպրինտի պլանավորումից հետո այդ սպրինտի տարրերի հավաքածուն մնում է անփոփոխ, սակայն այն գործառույթը, որի վրա չի սկսել աշխատել, ցանկացած պահի կարող է փոխարինվել XP-ի որևէ այլ ֆունկցիայի հետ: XP-ի և SCRUM-ի միջև մեկ այլ տարբերություն այն է, որ XP-ում մշակված գործառույթների հերթականությունը խստորեն առաջնահերթություն է տրվում հաճախորդի կողմից, մինչդեռ SCRUM թիմը որոշում է իրերի հերթականությունը (այն բանից հետո, երբ ապրանքի հետքաշումն առաջնահերթություն է ստանում SCRUM-ի Ապրանքի սեփականատիրոջ կողմից):

Ի տարբերություն XP-ի, SCRUM-ը չի սահմանում ինժեներական պրակտիկա: Օրինակ, XP-ն առաջնորդվում է այնպիսի պրակտիկաներով, ինչպիսիք են թեստի վրա հիմնված զարգացումը (TDD), զույգ ծրագրավորումը, վերակառուցումը և այլն: Այնուամենայնիվ, ոմանք կարծում են, որ ինքնակազմակերպվող թիմերի վրա մի շարք պրակտիկաների պարտադիր կիրառումը կարող է բացասական ազդեցություն ունենալ, և դա կարելի է համարել: XP-ի թերություն. Extreme ծրագրավորման մեկ այլ թերություն այն է, որ անփորձ թիմերը կարող են հակված լինել վերամշակման առանց ավտոմատացված թեստերի կամ TDD-ի (կամ պարզապես կոտրելու): Հետևաբար, ոմանք ենթադրում են, որ SCRUM-ն ավելի լավ է ուշադրությամբ նայելու համար (քանի որ այն մեծ բարելավումներ է բերում պարզապես կենտրոնացված ժամանակային կրկնությունների միջոցով), իսկ XP-ը հարմար է փոքր-ինչ հասուն թիմերի համար, ովքեր հայտնաբերել են վերը նշված պրակտիկաների արժեքը (այլ ոչ թե օգտագործել դրանք, քանի որ նրանց հարցրել են: դա անել):

Խորհուրդ ենք տալիս: