Բառը[Թաքցնել][Ցուցադրում]
Համակարգչային արդյունաբերությունը լի է երկիմաստ լեզվով, կոշտ ժարգոնով և բարդ գաղափարներով, որոնք դժվար է հասկանալ, և կարող են ձեր միտքը ուղարկել հաշվողական բուֆերացման մոլեգնության մեջ:
Ջրվեժ? Scrum? Ճարպիկ?
Եթե այս արտահայտությունները լիովին օտար են ձեզ համար, մի անհանգստացեք. HashDork տեխնոլոգիական հնարքների ձեր օգտակար թիմն այստեղ է, որպեսզի օգնի ձեզ հասկանալու զարգացման գործընթացի այս կարևոր փուլերի տարբերությունները, որպեսզի կարողանաք բանիմաց դառնալ:
Ճկուն, սքրամի և ջրվեժի տեխնիկան բոլորը կներառվեն այս բլոգի գրառման մեջ, ինչպես նաև այն, թե ինչպես յուրաքանչյուրը կարող է օգնել ձեր թիմին որպես ամբողջություն:
Սկսենք արագաշարժից, իսկ մնացածը կշարունակենք:
Ի՞նչ է ճկունը
Արագաշարժ ծրագրային ապահովման մշակումը հետևում է կրկնվող, աստիճանական մոտեցմանը: Ծրագրի սկզբում լայնածավալ նախապատրաստման փոխարեն Agile տեխնիկան ճկուն է ժամանակի ընթացքում փոփոխվող կարիքների նկատմամբ և նպաստում է վերջնական օգտագործողների շարունակական արձագանքին:
Խաչաձև ֆունկցիոնալ թիմերը ժամանակի ընթացքում աշխատում են արտադրանքի կրկնությունների վրա, և այս աշխատանքը դասակարգվում է հետաձգվածների և առաջնահերթությունների վրա հիմնված բիզնեսի կամ հաճախորդի արժեքի վրա: Յուրաքանչյուր կրկնության նպատակը օգտագործելի արտադրանք ստեղծելն է:
Առաջնորդությունը խթանում է համագործակցությունը, պատասխանատվությունը և դեմ առ դեմ հաղորդակցությունը Agile մեթոդոլոգիաներում:
Բիզնեսի շահագրգիռ կողմերը և մշակողները պետք է համագործակցեն՝ ապահովելու համար, որ ապրանքը համապատասխանում է սպառողի պահանջներին և ընկերության նպատակներին:
«Ճկուն զարգացում» արտահայտությունը վերաբերում է մի շարք մեթոդների և շրջանակների, որոնք հիմնված են իդեալների և սկզբունքների վրա, որոնք ուրվագծված են Արագաշարժ մանիֆեստ.
Փորձագետները խորհուրդ են տալիս հավատարիմ մնալ արագաշարժ սկզբունքներին և արժեքներին և օգտագործել դրանք որպես ուղեցույց՝ որոշակի միջավայրում ճիշտ գործողությունները որոշելու համար՝ ծրագրային ապահովման մշակմանը մոտենալով:
Համագործակցային և ինքնակազմակերպվող թիմը ծրագրային ապահովման մշակման արագաշարժ համայնքի ուշադրության հիմնական ոլորտներն են:
Թիմերին թույլատրվում է ինքնուրույն որոշել, թե ինչպես են նրանք լուծելու որոշակի նախագիծ, բայց դա չի նշանակում, որ վերահսկողները գոյություն չունեն: Հետևաբար արագաշարժ թիմերը բազմաֆունկցիոնալ են:
Ճկուն պարադիգմում մենեջերները դեռևս անհրաժեշտ են: Նրանք համոզվում են, որ թիմի յուրաքանչյուր անդամ ունի կամ ձեռք է բերում նախագծի համար անհրաժեշտ կարողություններ:
Ճկուն շրջանակում կառավարիչները գործում են թիմում լավագույնը կերտող մթնոլորտի ստեղծմամբ: Բայց ոչ թե առաջատարը ստանձնելու փոխարեն, նրանք հաճախ են նստում երկրորդ նստատեղին և թիմին թույլ են տալիս որոշել, թե ինչպես են դրանք մատուցելու:
Կառավարիչները ներգրավվում են միայն այն ժամանակ, երբ թիմերը բազմիցս փորձում են լուծել խնդիրները՝ առանց հաջողության:
Արագաշարժ զարգացման ցիկլ
Արագաշարժ զարգացման ցիկլի փուլերը թվարկված են ստորև: Շատ կարևոր է հիշել, որ այս փուլերը չպետք է տեղի ունենան կարգով, քանի որ դրանք ճկուն են և անընդհատ փոփոխվող: Այս փուլերից շատերը տեղի են ունենում միաժամանակ:
- ՊլանավորումԱյն բանից հետո, երբ ծրագրի թիմը որոշեց, որ գաղափարը գործնական է և կիրառելի, նրանք սկսում են փնտրել առանձնահատկություններ: Այս փուլը նպատակ ունի առաջնահերթություն տալ յուրաքանչյուր հատկանիշին և վերագրել այն կրկնության՝ գաղափարը փոքր մասերի (հատկանիշներ) բաժանելուց հետո:
- Պահանջների վերլուծությունԲիզնեսի պահանջները որոշելու համար այս քայլը ենթադրում է մի քանի քննարկումներ ղեկավարների, շահագրգիռ կողմերի և օգտագործողների հետ: Ով կօգտագործի ապրանքը և ինչպես է այն օգտագործելու, թիմը պետք է հավաքի մանրամասներից: Այս ստանդարտները պետք է լինեն կոնկրետ, կիրառելի և քանակական:
- ԴիզայնՆախորդ փուլում հայտնաբերված պահանջներն օգտագործվում են համակարգի և ծրագրային նախագծման նախապատրաստման համար: Թիմը պետք է հաշվի առնի արտադրանքի կամ լուծույթի արտաքին տեսքը: Փորձարկման խմբի կողմից մշակվում է նաև ռազմավարություն կամ պլան:
- Իրականացում, կոդավորում կամ զարգացումԱյս փուլի ուշադրությունը կենտրոնացված է առանձնահատկությունների կառուցման և գնահատման վրա և կրկնությունների տեղակայման պլանավորման վրա (հետևելով կրկնվող և աճող զարգացման մոտեցմանը [IID]): Քանի որ ոչ մի գործառույթ չի տրամադրվում, սկսվում է զարգացման շրջանի կրկնությունը 0: Ավարտելով այնպիսի գործողությունները, ինչպիսիք են պայմանագրերի կնքումը, կարգավորումների կարգավորումը և ֆինանսավորումը, այս կրկնությունը հիմք է տալիս ապագա աճի համար:
- ՓորձարկումԿոդը ստեղծելուց հետո այն փորձարկվում է պահանջների նկատմամբ՝ համոզվելու համար, որ ապրանքն իսկապես բավարարում է օգտագործողի պահանջները և համապատասխանում է բիզնես նպատակներին: Այս փուլում իրականացվում են միավորի, ինտեգրման, համակարգի և ընդունելիության թեստավորում:
- տեղակայումըՓորձարկումից հետո ապրանքը ուղարկվում է հաճախորդներին, որպեսզի նրանք կարողանան օգտագործել այն: Ծրագիրը տեղակայումից հետո դեռ չի ավարտվել: Հաճախորդները կարող են բախվել լրացուցիչ խնդիրների հետ, երբ նրանք սկսում են օգտագործել արտադրանքը, որոնց լուծման համար անհրաժեշտ կլինի ծրագրի թիմը:
Առավելությունները
- Ավելի արագ, որակյալ առաքումՆախագիծը բաժանելով կրկնությունների (կառավարելի միավորների)՝ թիմը կարող է կենտրոնանալ ավելի որակյալ համագործակցության, զարգացման և փորձարկման վրա: Երբ փորձարկումն իրականացվում է յուրաքանչյուր կրկնության հետ, խնդիրները հայտնաբերվում և շտկվում են ավելի արագ: Բացի այդ, մշտական, հետագա վերանայումների դեպքում այս բարձրորակ ծրագրաշարը կարող է ավելի արագ մատակարարվել:
- Փոփոխությունը ողջունելի էԹեև պլանավորման ցիկլերն ավելի կարճ են, սակայն նախագծի ցանկացած կետում փոփոխությունները ընդունելը և տեղավորելը պարզ է: Պահպանվածները միշտ կարող են բարելավվել և վերադասավորվել՝ թիմերին թույլ տալով փոփոխություններ կատարել նախագծում մի քանի շաբաթվա ընթացքում:
- Հնարավոր է, որ վերջնական նպատակը հայտնի չէԱրագաշարժը գերազանց է նախագծերի համար, երբ վերջնական նպատակը հստակ սահմանված չէ: Քանի որ նախագիծը առաջ է շարժվում, նպատակները պարզ կդառնան, և զարգացումը կկարողանա հեշտությամբ բավարարել այս փոփոխվող կարիքները:
- Շարունակական բարելավումԱրագաշարժ ծրագրերը նպաստում են օգտատերերի և թիմերի ներդրմանը ծրագրի բոլոր փուլերում, ինչը թույլ է տալիս կիրառել այն, ինչ սովորել է, որպեսզի ավելի լավ լինի հաջորդ կրկնությունը:
- Հաճախորդների կարծիքները գնահատվում ենՀաճախորդների համար կան մի քանի հնարավորություններ դիտելու աշխատանքի ավարտը, կարծիք առաջարկելու և վերջնական արդյունքի վրա իսկապես ազդելու: Ծրագրի թիմի հետ այդքան մտերմիկ շփվելով՝ նրանք կարող են սեփականության զգացում զարգացնել:
- Ուժեղ թիմային աշխատանքAgile-ն ընդգծում է կանոնավոր հաղորդակցության և անձնական հանդիպումների նշանակությունը: Մարդիկ կարող են պատասխանատվություն ստանձնել և ունենալ ծրագրի որոշակի բաղադրիչներ թիմերում աշխատելիս:
Թերությունները
- Թիմի անդամները պետք է գիտելիքներ ունենանe: Արագաշարժ թիմերը հաճախ փոքր են: Այսպիսով, թիմի անդամները պետք է ունենան հմտությունների լայն շրջանակ: Բացի այդ, նրանք պետք է հասկանան և իրենց հանգիստ զգան՝ օգտագործելով ընտրված Agile տեխնիկան:
- Պլանավորումը կարող է ավելի քիչ ճշգրիտ լինելԵրբեմն կարող է դժվար լինել առաքման ճշգրիտ ամսաթիվը որոշելը: Agile-ը կառուցված է ժամանակային առաքման վրա, և ծրագրի ղեկավարները հաճախ վերադասավորում են առաջադրանքների առաջնահերթությունները: Այսպիսով, հավանական է, որ որոշ առաքումներ, որոնք ի սկզբանե նախատեսված էին առաքման համար, ժամանակին չավարտվեն: Բացի այդ, նախագծի ցանկացած կետում կարող են ավելացվել ավելի շատ սպրինտներ՝ երկարացնելով ամբողջ ժամանակացույցը:
- Փաստաթղթերը կարող են անտեսվելԹիմի որոշ անդամներ կարող են հավատալ, որ փաստաթղթավորման վրա կենտրոնանալն ավելի քիչ կարևոր է, քանի որ Agile Manifesto-ն նախընտրում է աշխատող ծրագրակազմը, քան մանրակրկիտ փաստաթղթերը: Արագաշարժ թիմերը պետք է կատարեն իդեալական հավասարակշռություն փաստաթղթավորման և երկխոսության միջև, նույնիսկ եթե մանրակրկիտ փաստաթղթավորումը չի կարող ինքնուրույն երաշխավորել նախագծի հաջողությունը:
- Վերջնական արդյունքը կարող է զգալիորեն տարբերվելՀնարավոր է, որ սկզբնական Agile նախագծի համար հստակ ռազմավարություն չի եղել, և, հետևաբար, ավարտված արդյունքը կարող է մեծապես փոխվել սկզբում սպասվածից: Էականորեն տարբեր վերջնական արդյունք կարող է առաջանալ հաճախորդի մուտքագրման փոփոխության վրա հիմնված նոր կրկնությունների ավելացումից, քանի որ Agile-ն այնքան հարմարվող է:
- Մշակողների ժամանակի պարտավորությունԶարգացման թիմը պետք է լիովին հավատարիմ լինի նախագծին, որպեսզի արագաշարժ լինի արդյունավետ: Agile մեթոդը, որն ավելի երկար է տևում, քան սովորական մոտեցումը, պահանջում է մշտական ակտիվ մասնակցություն և համագործակցություն: Բացի այդ, դա ենթադրում է, որ մշակողները պետք է ստանձնեն նախագծի ամբողջ տևողությունը:
Ի՞նչ է ջրվեժը:
Ծրագրային ճարտարագիտության և ՏՏ նախագծերի համար համակարգի զարգացման կյանքի ցիկլի (SDLC) ամենահայտնի կրկնությունը հայտնի է որպես «ջրվեժային մոտեցում», որը հետևում է հաջորդական, գծային ընթացակարգին:
Gantt գծապատկերը, գծապատկերի ձև, որը ցույց է տալիս յուրաքանչյուր աշխատանքի սկզբի և ավարտի ամսաթվերը, երբեմն օգտագործվում է այն պլանավորելու համար:
Ութ փուլերից մեկն ավարտելուց հետո մշակող թիմը առաջ է անցնում հետևյալ մակարդակին: Թիմը չի կարող վերադառնալ նախորդ փուլ՝ առանց ամբողջ պրոցեդուրան վերսկսելու:
Բացի այդ, հաճախորդը կարող է կարիք ունենալ գնահատելու և ընդունելու պահանջները, նախքան թիմը կարող է անցնել հաջորդ մակարդակ:
Ջրվեժի մոդելը մշակվել է արտադրության և շինարարության ոլորտների բարձր կազմակերպված միջավայրերում, որտեղ ճշգրտումները կարող են չափազանց թանկ կամ նույնիսկ անհնար լինել:
Ջրվեժի տեխնիկան այդպես է կոչվել, քանի որ այն նախատեսված է հոսելու միայն մեկ ուղղությամբ՝ դեպի ներքև, ճիշտ այնպես, ինչպես ջրվեժը: Դրա փուլերը ներառում են վերլուծություն, մեկնարկ, փորձարկում, նախագծում, կառուցում, տեղակայում, սպասարկում և փորձարկում:
Ջրվեժի տեխնիկան ունի մի քանի առավելություններ, ինչպես ցանկացած այլ ռազմավարություն: Մեկն այն է, որ ծրագրի պլանավորման և նախագծման փուլերն ավելի կայացած են:
Հաճախորդները և մշակող թիմը ավելի համահունչ են, երբ խոսքը վերաբերում է նախագծի արդյունքներին, երբ օգտագործում են ջրվեժի ծրագրային ապահովման մշակումը: Քանի որ դուք ի սկզբանե տեղյակ եք ծրագրի շրջանակներին, ջրվեժի մշակումը նաև հեշտացնում է առաջընթացի մոնիտորինգը:
Ջրվեժի գործընթացում օգտագործվում են մասնագետներ, մշակողներ, վերլուծաբաններ և փորձարկողներ, որպեսզի կենտրոնանան նախագծում իրենց աշխատանքի վրա, այլ ոչ թե ամբողջ թիմը շեշտի մեկ քայլ:
Ջրվեժի փուլերը
Ջրվեժի վեց աստիճանները պետք է տեղի ունենան մեկը մյուսի հետևից.
- Հավաքման և պահպանման պահանջներԴուք պետք է հիմնավոր գիտելիքներ հավաքեք այն մասին, թե ինչ է պահանջում այս նախագիծն այս պահին: Այս տվյալները հավաքելու մի քանի մեթոդներ կան, ներառյալ հարցազրույցները, հարցումները և համատեղ ուղեղային փոթորիկը: Ծրագրի կարիքները պետք է ակնհայտ լինեն մինչև այս փուլն ավարտվի, և ձեր թիմը պետք է ստանա պահանջների փաստաթղթի պատճենը:
- Համակարգի դիզայնՀամակարգը նախագծված է ձեր թիմի կողմից՝ օգտագործելով կանխորոշված բնութագրերը: Այս փուլում ոչ մի կոդավորում չի արվում, բայց թիմը պահանջներ է դնում ապարատային կամ ծրագրավորման լեզվի համար:
- ԻրականացմանԱյս փուլը ներառում է կոդավորում: Նախորդ փուլի տվյալները օգտագործվում են ծրագրավորողների կողմից օգտագործելի արտադրանք ստեղծելու համար: Կոդը հաճախ իրականացվում է փոքր կտորներով, որոնք համակցվում են մի փուլի ավարտին կամ մյուսի սկզբում:
- ՓորձարկումԱպրանքը կարող է փորձարկվել ծածկագրի ավարտից հետո: Ցանկացած խնդիր մանրակրկիտ հայտնաբերվում և զեկուցվում է փորձարկողների կողմից: Ձեր նախագիծը կարող է վերադառնալ առաջին փուլ՝ վերագնահատման համար, եթե ի հայտ գան լուրջ խնդիրներ:
- Առաքում/տեղակայումԱրտադրանքն ավարտված է այս պահին, և ձեր թիմը ներկայացնում է առաքումները տեղակայման կամ թողարկման համար:
- պահպանումՀաճախորդը ստացել է ապրանքը և օգտագործում է այն: Ձեր թիմին կարող է անհրաժեշտ լինել ուղղումներ և թարմացումներ մշակել, երբ խնդիրներ ի հայտ գան դրանք շտկելու համար: Կրկին, էական խնդիրները կարող են կոչ անել վերադառնալ առաջին քայլին:
Առավելությունները
- Հեշտ է գործել և կառավարելՋրվեժի մոտեցումը պարզ է օգտագործման և ընկալման համար, քանի որ յուրաքանչյուր նախագիծ մշակվում է նույն հաջորդական ձևով: Նախքան ջրվեժի նախագիծը սկսելը, թիմից չի պահանջվում նախնական փորձաքննություն կամ վերապատրաստում: Ջրվեժի մոտեցումը շատ խիստ է. յուրաքանչյուր փուլ ունի մի շարք արդյունքներ և վերանայում, ինչը հեշտացնում է դրա կառավարումն ու պահպանումը:
- Պահանջվում է լավ փաստաթղթավորված մեթոդաբանությունՓաստաթղթերը, որոնք պահանջվում են ջրվեժի մեթոդաբանությամբ, օգնում են պարզաբանել թեստերի և ծածկագրի հիմքում ընկած պատճառաբանությունը: Բացի այդ, այն ստեղծում է թղթային հետք, եթե շահագրգիռ կողմերը ցանկանում են լրացուցիչ տեղեկատվություն որոշակի փուլի կամ ապագա նախաձեռնությունների վերաբերյալ:
- Կարգապահության կիրառումՋրվեժի նախագծի յուրաքանչյուր քայլ ունի սկիզբ և ավարտ, ինչը հեշտացնում է առաջընթացը շահագրգիռ կողմերին և հաճախորդներին: Թիմը կարող է նվազեցնել վերջնաժամկետը բաց թողնելու հավանականությունը՝ նախքան ծածկագիրը արտադրելը պահանջներն ու դիզայնը դնելով:
Թերությունները
- Հստակ պահանջներ հավաքելը կարող է դժվար լինելՍպառողների և շահագրգիռ կողմերի հետ նրանց կարիքները որոշելու համար խոսելը Waterfall նախագծի սկզբնական փուլերից մեկն է: Ծրագրի այս վաղ փուլում կարող է դժվար լինել պարզել նրանց հատուկ պահանջները: Հաճախորդները հաճախ իմանում են իրենց պահանջների մասին, երբ նախագիծը զարգանում է, այլ ոչ թե դրանք նախապես արտահայտելու:
- Փոփոխությունները դժվար է տեղավորվելԱնձնակազմը չի կարող վերսկսել աշխատանքը փուլն ավարտելուց հետո: Շատ դժվար և ծախսատար է վերադառնալ և վերանորոգել այն, եթե նրանք փորձարկման փուլում իմանան, որ ֆունկցիոնալությունը բացակայում էր պահանջների գործընթացում:
- Ծրագրային ապահովումը տրամադրվում է ժամկետից հետոՆախագծի երկու-չորս փուլերը պետք է ավարտվեն մինչև իրական կոդավորումը սկսվի: Արդյունքում շահագրգիռ կողմերը չեն տեսնի ֆունկցիոնալ ծրագրակազմը մինչև կյանքի ցիկլի վերջը:
Ի՞նչ է Scrum-ը:
Agile-ը գործնականում կիրառելու առավել սիրված գործընթացային շրջանակներից մեկը Scrum-ն է, որը Agile-ի ենթաբազմություն է:
Դա բարդ ծրագրային ապահովման և արտադրանքի ստեղծումը կառավարելու կրկնվող պարադիգմ է: Սպրինտները, որոնք ֆիքսված երկարությամբ կրկնություններ են, որոնք տևում են մեկից երկու շաբաթ, թիմին հնարավորություն են տալիս թողարկել ծրագրակազմը կանոնավոր ժամանակացույցով:
Շահագրգիռ կողմերը և թիմի անդամները հավաքվում են՝ քննարկելու հաջորդ քայլերը յուրաքանչյուր սպրինտից հետո: Scrum-ում դերերը, պարտականությունները և հանդիպումները մնում են մշտական:
Օրինակ, Scrum-ը նշում է սպրինտի պլանավորումը, ամենօրյա կանգառը, սպրինտի ցուցադրությունը և սպրինտի հետահայաց ցուցադրությունը՝ որպես չորս ծեսեր, որոնք ապահովում են յուրաքանչյուր սպրինտի կառուցվածքը:
Յուրաքանչյուր սպրինտի ընթացքում թիմը կօգտագործի տեսողական արտեֆակտներ, ինչպիսիք են առաջադրանքների տախտակները կամ այրման գծապատկերները՝ առաջընթացը ցույց տալու և աստիճանական արձագանք ստանալու համար:
Scrum-ում թիմը և արտադրանքի սեփականատերը սերտորեն համագործակցում են համակարգի ֆունկցիոնալությունը բացահայտելու և առաջնահերթություն տալու համար: Նրանք դրան հասնում են՝ ստեղծելով արտադրանքի հետքաղություն, որը պարունակում է բոլոր առաջադրանքները, որոնք անհրաժեշտ են ծրագրային ապահովման արտադրության համար, որը գործում է ըստ նախատեսվածի:
Հերթում պետք է ներառվեն վրիպակների, ոչ ֆունկցիոնալ պահանջները և գործառույթները: Խաչաձև ֆունկցիոնալ թիմերը պետք է գնահատեն և գրանցվեն՝ շարունակական սպրինտների ընթացքում ծրագրային ապահովման ավելացումները մատուցելու համար, որոնք սովորաբար տևում են 30 օր, երբ նպատակները հաստատվեն:
Միայն թիմը կարող է ֆունկցիոնալություն ավելացնել Sprint-ին այն բանից հետո, երբ կատարել է հետաձգված սպրինտի համար:
Sprint-ի հաջորդ առաքումը, արտադրանքի կուտակումը գնահատվում է և, անհրաժեշտության դեպքում, վերադասավորվում է առաջնահերթությունները, և հետևյալ առաքման հավաքածուն ընտրվում է որպես հետևյալ սպրինտի մաս:
Scrum գործընթացը
- Ապրանքի պահպանումըԱպրանքների պահեստում ապրանքներ պատվիրելու համար Ապրանքի սեփականատերը և Scrum թիմը հանդիպում են (ապրանքի հետքաշման աշխատանքները բխում են օգտատերերի պատմություններից և պահանջներից): Արտադրանքի հետնախագիծը ապրանքի բոլոր ցանկալի հատկանիշների ցանկն է, այլ ոչ թե առաջադրանքների ցանկը, որոնք պետք է ավարտվեն: Դրանից հետո մշակողների թիմն ընտրում է առաջադրանքներ արտադրանքի հետքաղքից՝ յուրաքանչյուր սպրինտի ընթացքում կատարելու համար:
- Sprint պլանավորումՅուրաքանչյուր սպրինտից առաջ Ապրանքի սեփականատերը սպրինտի պլանավորման հանդիպման ժամանակ թիմին է հանձնում հիմնական կետերը: Խումբն այնուհետև ընտրում է ապրանքների հետքաղքից ապրանքներ, որոնք նրանք կարող են ավարտել սպրինտի ընթացքում և դրանք տեղափոխում է սպրինտի հետքաղիք (որը սպրինտում կատարվող առաջադրանքների ցանկն է):
- Հետազոտության բարելավում/խնամքԱպահովելու համար, որ հետքայլը պատրաստված է հետևյալ սպրինտի համար, թիմը և արտադրանքի սեփականատերը հանդիպում են մեկ սպրինտի ավարտին: Թիմը կարող է հրաժարվել օգտվողների պատմություններից, որոնք այլևս տեղին չեն, ավելացնել նորերը, վերանայել դրանց հասցեագրման հերթականությունը կամ բաժանել օգտվողների պատմությունները փոքր առաջադրանքների: Այս «խնամքի» հանդիպման ժամանակ կհամոզվի, որ կուտակված գումարը ներառում է միայն տեղին, խորը և ծրագրի նպատակներին համապատասխանող բաներ:
- Scrum-ի հանդիպումները ամեն օր15 րոպեանոց հանդիպման ժամանակ, որը կոչվում է Daily Scrum, թիմի յուրաքանչյուր անդամ քննարկում է իր նպատակները և առաջացած ցանկացած խնդիր: Ամեն օր սպրինտի ընթացքում թիմը մասնակցում է Daily Scrum-ին, որը բոլորին պահում է աշխատանքի վրա:
- Հանդիպում սպրինը գնահատելու համարt. Թիմը ներկայացնում է իր աշխատանքը սպրինտի վերանայման հանդիպման ժամանակ յուրաքանչյուր սպրինտի ավարտին: Զեկույցի կամ PowerPoint-ի ներկայացման փոխարեն այս հանդիպումը պետք է ներառի իրական ցուցադրություն:
- Հետահայաց սպրինտային հանդիպումԹիմը քննարկում է ցանկացած փոփոխություն, որը պետք է կատարվի հետևյալ սպրինտում, ինչպես նաև, թե որքանով է Scrum-ն աշխատում նրանց համար յուրաքանչյուր սպրինտի ավարտին: Թիմը կարող է քննարկել սպրինտի դրական կողմերը, բացասական կողմերը և բարելավման ոլորտները:
Առավելությունները
- Ավելի մեծ պատասխանատվություն թիմիցՉկա ծրագրի ղեկավար, որը հրահանգում է scrum թիմին, թե ինչ և երբ անել: Այն աշխատանքը, որը կարող է ավարտվել յուրաքանչյուր սպրինտում, փոխարենը որոշում է թիմը որպես ամբողջություն: Նրանք բոլորը համագործակցում են և միմյանց ձեռք են տալիս՝ ուժեղացնելով թիմային աշխատանքը և զարգացնելով թիմի յուրաքանչյուր անդամի անհատականությունը:
- Ծրագրի բարելավված տեսանելիություն և թափանցիկությունԱվելի քիչ թյուրիմացություններ և անորոշություններ կան, քանի որ թիմում բոլորը տեղյակ են իրենց պարտականությունների մասին՝ հաճախակի ֆանտաստիկ հանդիպումների շնորհիվ: Թիմը կարող է զբաղվել խնդիրների հետ՝ նախքան դրանք վերահսկողությունից դուրս գալը, քանի որ խնդիրները նախապես հայտնաբերված են:
- Ընդլայնված ծախսերի կրճատումներՄշտական շփումը թիմին տեղեկացնում է ցանկացած խնդրի կամ փոփոխության մասին հենց դրանք տեղի են ունենում, ինչը օգնում է խնայել ծախսերը և բարելավել որակը: Առանձնահատկությունների փոքր կտորները ապահովում են շարունակական հետադարձ կապ և թույլ են տալիս վաղաժամ շտկել սխալները, նախքան ավելի մեծ սխալների վերացումը չափազանց թանկ կդառնա:
- Հեշտ է հարմարվել փոփոխություններինՓոփոխությունների հետ վարվելը և դրանց հարմարվելն ավելի պարզ է, երբ հաճախակի են լինում հետադարձ կապեր և կարճ պտույտներ: Որպես օրինակ, եթե թիմը մեկ սպրինտի ընթացքում հանդիպի բոլորովին նոր օգտատերերի պատմությանը, նրանք կարող են արագորեն ավելացնել այդ հատկությունը հետևյալ սպրինտին հետնահերթության ճշգրտման հանդիպման ժամանակ:
Թերությունները
- Շրջանակի սողացող վտանգԱվարտման սահմանված ժամկետի բացակայության պատճառով Scrum-ի որոշ նախագծեր կարող են բախվել շրջանակի սողանքների հետ: Շահագրգիռ կողմերը կարող են հրապուրվել շարունակել պահանջել ավելի շատ հնարավորություններ, եթե ավարտի վերջնաժամկետ չլինի:
- Վատ Scrum Master-ը կարող է շեղել ամեն ինչԾրագրի ղեկավարը նույնը չէ, ինչ scrum masterը: Scrum Master-ը պետք է վստահի թիմին, որը վերահսկում է և երբեք նրանց հրահանգներ չտա: Scrum Master-ը իշխանություն չունի թիմի վրա: Նախագիծը կձախողվի, եթե scrum Master-ը փորձի կառավարել թիմը:
- Ճշգրտության հետ կապված խնդիրներ կարող են առաջանալ սխալ ձևակերպված առաջադրանքներիցԵթե առաջադրանքները հստակ սահմանված չեն, ծրագրի ծախսերն ու ժամանակացույցերը ճշգրիտ չեն լինի: Պլանավորումը դառնում է դժվար, և սպրինտները կարող են ավելի երկար տևել, քան նախատեսված էր, եթե նախնական նպատակները սահմանված չեն:
- Փորձն ու նվիրվածությունը անհրաժեշտ են թիմինՈրպեսզի թիմը հաջողակ լինի, դերերն ու պարտականությունները պետք է հստակորեն սահմանվեն: Scrum Team-ը պահանջում է թիմի անդամներ տեխնիկական հմտություններով, քանի որ չկան հստակ սահմանված դերեր (բոլորն անում են ամեն ինչ): Թիմը պետք է նաև պարտավորվի մասնակցել Scrum-ի ամենօրյա նիստերին և միասին մնալ նախագծի ողջ կյանքի ընթացքում:
Արագաշարժ ընդդեմ Scrum
Չնայած Agile-ը և Scrum-ը օգտագործում են նույն մեթոդաբանությունը, երկուսի միջև կան որոշ տատանումներ: Agile Manifesto-ն ուրվագծում է ծրագրային ապահովման ստեղծման մի շարք սկզբունքներ՝ կրկնվող զարգացման միջոցով:
Scrum-ը, մյուս կողմից, ուղեցույցների մի շարք է, որոնք պետք է պահպանվեն Agile ծրագրային ապահովման մշակման ընթացքում: Արագաշարժը հասկացություն է, մինչդեռ Scrum-ը այն գործնականում կիրառելու տեխնիկա է:
Scrum-ը Agile-ի ներդրման մեթոդ է, հետևաբար նրանք երկուսն էլ շատ ընդհանրություններ ունեն: Երկու մոտեցումներն էլ կրկնվող են, առաջնահերթություն են տալիս ծրագրային ապահովման վաղ և հաճախակի մատակարարմանը և ընդունում են փոփոխությունները: Նրանք նաև աջակցում են բաց լինելուն և շարունակական զարգացմանը:
Արագաշարժ ընդդեմ ջրվեժի
Կոշտ ընդդեմ ճկուն լավագույնս նկարագրում է Waterfall գործընթացի և Agile-ի տարբերությունները: Թեև Agile-ը հեղուկ է և անընդհատ փոփոխվում է, Waterfall-ը շատ ավելի կոշտ, ավելի կոշտ մեթոդաբանություն է:
Նրանց միջև այս հետագա տարբերությունները հետևյալն են.
- Արագաշարժը չի պահանջում գծային մոտեցում, մինչդեռ ջրվեժը հաջորդական է:
- Թեև կարիքները հաճախ նախապես սահմանված են Waterfall նախագծերում, ակնկալվում է, որ դրանք կփոխվեն և կհարմարվեն Agile նախաձեռնություններում:
- Ի տարբերություն Agile-ի, Waterfall-ի նախագծերը թույլ չեն տալիս փոփոխություններ կատարել նախորդ փուլում ավարտված աշխատանքում:
- Ջրվեժը կազմակերպված ընթացակարգ է, որտեղ դուք պետք է ավարտեք յուրաքանչյուր քայլը, նախքան հաջորդին անցնելը: Այնուամենայնիվ, Agile-ը ճկուն մեթոդաբանություն է, որը թույլ է տալիս շարունակել նախագիծը ձեր սեփական տեմպերով:
Agile Vs Waterfall Vs Scrum
- Ջրվեժը մեծացնում է վստահությունը այն ամենի նկատմամբ, ինչ կտրամադրվի այն ծրագրելուց շատ շուտով: Agile-ը հենվում է զարգացման միջավայրի լավագույն փորձի վրա: Այստեղ ծրագրի մի շարք ռիսկեր կարելի է լավ կառավարել, քանի որ արդյունքները շարունակաբար գնահատվում են:
- Waterfall-ը չի ակնկալում, որ թիմը և նախագիծը հիմնված կլինեն նույն վայրում: Մինչ scrum-ը և արագաշարժը կարիք ունեն աշխատակիցների համատեղակայման:
- Agile-ը կենտրոնանում է նախագծերի վերամշակման կրճատման վրա և խրախուսում է փոփոխությունները ներառել շատ ավելի վաղ: Ի տարբերություն ջրվեժի, որը տարբեր կերպ է արձագանքում, scrum-ը նաև հնարավորություն է տալիս վաղաժամ հայտնաբերել փոփոխությունները:
- Վերջնական արտադրանքի ավելի կոմպակտ նախագիծը տրամադրվում է արագաշարժ և սկրումի կողմից: Սա խնդիր է ստեղծում գնորդին տրված խոստումների հետ կապված։ Ի հակադրություն, ջրվեժի գրաֆիկան հաճախորդներին և մշակողներին ավելի լավ տպավորություն է թողնում ավարտված արդյունքի մասին:
- Այս տեխնիկաներից յուրաքանչյուրն ունի մի շարք գործիքներ՝ դրանց ստեղծման հետ կապված խնդիրները կազմակերպելու և մոդելավորելու համար:
Եզրափակում
Եթե դուք հետևել եք մինչ այժմ և վստահ եք Waterfall-ի, Agile-ի և Scrum-ի գործընթացների միջև եղած տարբերությունների իմացության մեջ, դուք արդեն պետք է իմանաք, թե որ ռազմավարությունը լավագույնս կաշխատի ձեզ և ձեր թիմի համար:
Ջրվեժ տեխնիկան, որը նախատեսված է որոշակի ծավալով, ժամկետով և բյուջեով նախագծերի համար, կարող է լինել ձեր լավագույն տարբերակը, եթե սիրում եք կոշտ կանոններ և ընթացակարգեր և գտնում եք, որ դրանք հստակություն են բերում:
Մյուս կողմից, եթե Agile-ի առաջարկած ազատությունն ու հարմարվողականությունը ոգեշնչում են ձեզ, դա կարող է լինել այն վայրը, որտեղ դուք պետք է ուշադրություն դարձնեք:
Scrum-ն այն ճանապարհն է, որը պետք է գնալ, սակայն, եթե ցանկանում եք մի փոքր կարգապահություն ճկուն շրջանակի ներսում:
Այնուամենայնիվ, դուք պետք է հաշվի առնեք այս մոտեցումները՝ հաշվի առնելով այն նախագիծը, որի վրա աշխատում եք և ձեր վերջնական արդյունքը:
Թողնել գրառում