Ի՞նչ է Scrum-ը

ինչ է սքրամը

Scrum-ը բարդ ծրագրային մշակման, հանձման և պրոդուկտների պահպանման միջավայր(ֆրեյմվորկ) է։ Քեն Շվաբերը և Ջեֆ Սաթերլենդը մշակել և հանդիսանում են Scrum ձեռնարկի համահեղինակները, իսկ տերմինը կիրառության մեջ է մտել երկու ճապոնացի դասախոսներ Տակեուչիի և տեսաբան՝ Նոնակայի կողմից։ Սքրամի սահմանումն իր մեջ ընդգրկում է Scrum դերերը, իրադարձությունները, արտեֆակտերը և բոլոր այն կանոնները, որոնք մեկը մյուսի հետ գտնվում են շարունակական փոխգործելիության մեջ։

Սքրամը գործընթաց, տեխնիկա կամ մեթոդ չէ։ Այն ծրագրային միջավայր է, որտեղ իրենց կիրառությունն են գտնում տարբեր գործընթացներ և տեխնիկաներ։ Պրոդուկտ մենեջմենթի հետ միասին, Սքրամն արդյունավետ է դարձնում թիմային աշխատանքը, պրոդուկտը և ողջ աշխատանքային միջավայրը։ Սքրամը թույլ է տալիս թիմերին ինքնակազմակերպվել։ Այն խրախուսում է ֆիզիկական համագոյակցությունը և դեմ առ դեմ շփումները թիմերի անդամների միջև։ Այն նաև գործածում է առցանց համագործակցության աշխատելաձևը՝ պահպանելով ծրագրային մշակման իտերատիվ մոտեցումները։

Scrum-ի հիմքում ընկած է հաճախորդների փոփոխականության հանգամանքը։ Հաճախորդները միշտ չէ, որ վստահ են, թե ի՞նչ են ուզում կամ ի՞նչի կարիք ունեն։ Արդյունքում, անկանխատեսելի մարտահրավերները փոխարինում են կանխատեսելիին և պլանավորված մոտեցումներին։

Նախատեսված լինելով ծրագրային մշակման համար, 1990 թ-ից Scrum-ը սկսեց լայնորեն տարածվել։ Այն կիրառվում էր ուսումնասիրելու նաև նոր շուկաներ, տեխնոլոգիաներ և պրոդուկտի հնարավորություններ, մշակելու և թողարկելու պրոդուկտների բարելավված տարբերակներ օրեկան կտրվածքով, պահպանել պրոդուկտներն ամպային տարբերակով և շարունակ արդիականացնել դրանք։

Սքրամն արդյունավետ է իտերատիվ և աճողական գիտելիքի փոխանցման համար։ Նրա հիմքում ընկած է ավելի շատ էմպիրիկ՝ փորձառական գործընթացներ և փորձից սերվող գիտելիք։ էմպիրիկ գործընթացներն իրենց հերթին հենվում են 3 հիմնասյուների՝ թափանցիկության, դիտարկման և ադապտացման վրա։ Գործընթացների զգալի մասն այստեղ պետք է լինի տեսանելի կամ թափանցիկ։ Սքրամի արդյունավետ կիրառումը պայմանավորված է Սքրամ թիմով։ Թիմի անդամները, թեև աշխատելով առանձին առանձին, բայց նպաստում են Սքրամ ընդհանուր սահմանված նպատակին։

Scrum թիմը

Սքրամ թիմը բաղկացած է Պրոդուկտի պատասխանատուից, Ծրագրավորողների թիմից և Սքրամ մաստերից։ Թիմերը կարող են աշխատել ինքնակազմակերպվելով կամ ունենալ խաչաձև գործառույթներ։ Ինքնակազմակերպվող թիմերն ավելի շատ մտածում են ինչպես լավագույնս կազմակերպել սեփական աշխատանքը, քան կառավարվել թիմից դուրս գտնվող որևէ անդամի կողմից։ Խաչաձև գործող թիմերը նույնպես գործում են անկախ՝ ունենալով բոլոր հմտությունները լիակատար աշխատանքի իրականացման համար։

Սքրամ թիմերը կատարում են պրոդուկտի հանձնումը իտերատիվ և աճման կարգով՝ առավելագույնս բարձրացնելով արդյունքի հնարավորությունները: Նման հանձնումը ապահովում է, որպեսզի միշտ առկա լինի ընթացիկ պրոդուկտի կիրառելի և օգտակար տարբերակ: Սքրամն արդյունավետ է հատկապես փոքր թիմով աշխատելու համար, քանզի դրանք ճկուն են և հեշտ ադապտացվող։

Պրոդուկտի պատասխանատուն

Պրոդուկտի պատասխանատուն կառավարում է պրոդուկտը՝ ներառելով այնտեղ տարբեր անհրաժեշտ բաղկացուցիչներ։ Նա դասավորում է դրանք անհրաժեշտ հերթականությամբ՝ օգնելով թիմին առավելագույնս հասնելու սահմանված նպատակին։ Պրոդուկտի պատասխանատուն օպտիմալացնում է Ծրագրավորման թիմի աշխատանքները և ապահովում, որպեսզի պրոդուկտի հանձնարարականները (product backlog) լինեն թափանցիկ և հասանելի։ Նա ցուցադրում է հետագա կատարվելիք աշխատանքները և համոզվում, որ Ծրագրավորողների թիմը հասկացել է առաջադրանքներն ըստ անհրաժեշտ մակարդակի։ Պրոդուկտին առնչվող փոփոխությունների ընթացքում, որոնք կարող են առաջանալ կամ ծագել, ուղղվում են միմիայն պրոդուկտի պատասխանատուին։

Ծրագրավորողների թիմը

Ծրագրավորողների թիմը բաղկացած է մասնագետներից, որոնք աշխատում են շատ անկախ՝ յուրաքանչյուր սպրինթի ավարտին պոտենցիալ պատրաստի ծրագիր հանձնելու համար: Պրոդուկտի ինկրիմենտը ստեղծվում է միմիայն Ծրագրավորողների թիմի կողմից։ Ծրագրավորման թիմի լինում է փոքր, բայց ոչ երեքից պակաս։ Նման փոքր թիմում կարող է նվազել փոխգործունեությունը, առաջանալ հմտությունների և ծրագիրը ժամանակին հանձնելու խնդիր: Ծրագրավորողների թիմը չի կարող նաև գերազանցել 9 անդամը, քանզի մեծ թիմի պարագայում առաջանում են կառավարման խնդիրներ։

Scrum մաստերը

Սքրամ մաստերը օգնում է յուրաքանչյուրին՝ հասկանալու Scrum թեորիան, փորձը, կանոնները և արժեքները: Անընդմեջ ծառայելով Սքրամ թիմին, նա նաև ստանձնում է լիդերի դերը։ Սքրամ մաստերը օգնում է նաև Սքրամ թիմից դուրս գտնվող աշխատակիցներին՝ հասկանալու Սքրամ թիմի հետ օգտակար և ոչ այնքան օգտակար փոխազդեցությունները։

Scrum մաստերը համարվում է նաև Պրոդուկտ պատասխանատուի օգնականը։ Նա օգնում է Սքրամ թիմին՝ հասկանալու պրոդուկտը և դրա նպատակները։ Նա նաև փնտրում է միջոցներ պրոդուկտի հանձնարարականի՝ բեքլոգի կառավարման համար։ Օգնում է թիմին հասկանալու պրոդուկտի բաղկացուցիչները, պրոդուկտի պլանավորումն ավելի փորձարարական՝ էմպիրիկ միջավայրում, կիրառում ճկունություն և հեշտացնում իրադարձությունները։

Սքրամ մաստերը օգնում է Ծրագրավորողների թիմին՝ իրենց ինքնակազմակերպման և խաչաձև գործառույթների ժամանակ։ Նա վերացնում է այն արգելքները, որոնք խոչընդոտում են ծրագրավորողների թիմին առաջ ընթանալու համար։ Նա կազմակերպում է թրեյնինգներ, ուսուցանում սքրամ աշխատելաոճը Ծրագրավորողների թիմին այն միջավայրում, երբ դեռ նրանք սովոր չեն աշխատել Սքրամ թիմում կամ ծանոթ չեն դրան։

SPRINT

Sprint-ի հիմքում ընկած է ինքնին Սփրինթը։ Այն մեկամսյա կամ ավելի քիչ ժամանակահատվածով ծրագրավորման արդյունքն է։

Յուրաքանչյուր սփրինթ սկսվում է պլանավորմամբ, որը սահմանում է դրա նպատակը՝ ինչ է կառուցվելու կամ մշակվելու։ Սփրինթն ունի ճկուն պլան և իր մեջ ներառում է պահանջվող պրոդուկտի հանձնարարականի բաղկացուցիչները։

Յուրաքանչյուր Sprint -ի ավարտին կատարվում է Սփրինթի վերանայում, որը վերանայում է պրոդուկտի առաջընթացը՝ ցուցադրելու այն շահագրգիռ կողմերին կամ պատվիրատուին և հետադարձ Սփրինթ՝ նույնականացնելու հաջորդ Սփրինթերի համար նախատեսվող բարելավումները։

Սփրինթի չեղարկումը

Սփրինթը կարող է չեղարկվել, եթե այն այլևս արդիական չէ։ Պատահում է, երբ ընկերությունը փոխում է ուղղությունը և շուկան կամ փոփոխվում է համապասխան տեխնոլոգիան։ Սփրինթ չեղարկումներ տեղի են ունենում շատ հազվադեպ, քանզի Սփրինթերը պլանավորվում են կարճ ժամանակահատվածներով, հետևաբար չեղարկման կարիք գրեթե չի զգացվում։ Այնուհանդերձ, եթե այն տեղի է ունենում, ապա անավարտ աշխատանքը վերանայվում է, վերագնահատվում և ներառվում է Պրոդուկտի անավարտ հանձնարարականի մեջ։ Չեղարկումները, թեև հազվադեպ, բայց վատ են անդրադառնում թիմային աշխատանքների վրա, քանզի թիմերը ստիպված են լինում կրկին վերակազմավորվել և վերակազմակերպվել հաջորդ Սփրինթի պլանավորման համար։
Օրեկան Սքրամ

Օրեկան սքրամը 15 րոպեանոց իրադարձություն է՝ նախատեսված Ծրագրավորման թիմի համար։ Այն անցկացվում է ամեն օր։ Ծրագրավորողների թիմը պլանավորում է աշխատանքը հաջորդ 24 ժամվա համար։ Օրեկան կարգով Սքրամը կատարվում է նույն տեղում և ժամին՝ բարդությունները նվազեցնելու համար։ Այն ունի սահմանափակ ժամանակ՝ 15 րոպե տևողություն և օպտիմալացնում է թիմի համագործացությունը և կատարողականությունը։

Ծրագրավորման թիմերն անցկացնում են այդ օրեկան սքրամները տարբեր աշխատելաձևերով։ Որոշ թիմեր ընտրում են զրույցների կամ հակառակը հարցերի տեխնիկան՝ օրինակ․

  1. Ի՞նչ եմ արել՝ հասնելու սահմանված նպատակին կամ ի՞նչ եմ անելու այսօր։
  2. Ի՞նչ խոչընդոտ եմ տեսնում, որը խանգարում է նպատակի իրագործմանը։

Հաճախ Օրեկան Սքրամից անմիջապես հետո Ծրագրավորման թիմը կրկին հանդիպում է՝ առավել տեխնիկական մանրամասներ քննարկելու կամ վերապլանավորման համար։

Սքրամ մաստերն ապահովում է, որպեսզի Ծրագրավորման թիմի հանդիպումները կայանան և մնան սահմանված ժամկետներում։

Օրեկան սքրամները բարելավում են հաղորդակցությունը, վերացնում այլ ավելորդ հանդիպումների անհրաժեշտությունը, նույնականացնում արգելքները և Ծրագրավորման թիմի գիտելիքները։

Սքրամի իրագործումը կատարվում է մի շարք գործիքակազմերի օգնությամբ։ Շատ ընկերություններ կիրառում են ունիվերսալ գործիքներ, իսկ որոշներն էլ՝ կիրառում են ավելի պարզ եղանակներ և օգտվում թղթային հնարավորություններից ու արխիվացնում դրանք։

Սքրամն ունի իրեն բնորոշ աշխատանքային արժեհամակարգը, որտեղ յուրաքանչյուր անդամ, չնայած իր և թիմի առջև դրված տարբեր մարտահրավերների, շարժվում է դեպի ընդհանուր նպատակը՝ բարձր պահելով կատարողականության, թափանցիկ աշխատանքի, կենտրոնացվածության, համարձակության և փոխադարձ հարգանքի աշխատելաձևը։

Այսքանը, որպես ներածություն Սքրամին, ավելի ուշ, մենք կշարունակենք թեման 3 ենթահոդվածներով, թէ ինչ խնդիրներ է լուծում Scrum-ը, ինչ հեռանկարներ ունի, կուսումնասիրենք առավել արդյունավետ մի քանի մեթոդոլոգիաներ:

Սկզբնաղբյուր՝ Armine Abelyan, Medium.com