Сцрум улоге у развоју софтвера објашњене јасним и једноставним терминима

Сцрум је агилна методологија развоја софтвера коју сада усвајају многе компаније и корпорације као део иницијатива за дигиталну трансформацију.

О Сцрум-у

Улога Сцрум методологије је да обезбеди оквир за развој Агиле софтвера који омогућава тимовима да раде заједно и ефикасно на испоруци висококвалитетних софтверских производа.

То је оквир за тимове који раде заједно на развоју сложених производа. Уместо издавања производа након дугих фаза планирања, пројектовања, развоја и тестирања, скрам има за циљ да испоручи производе спремне за употребу од самог почетка у малим корацима.

Главни принципи Сцрум-а су транспарентна тимска комуникација, редовна провера квалитета и способност прилагођавања променама. Ако се усвоје и користе на прави начин, тимови могу испоручити висококвалитетне софтверске производе на благовремен и ефикасан начин.

Кључне предности Сцрум-а

Извор: сцрум.орг

  • Можете постићи повећану продуктивност. Бити Сцрум тим значи да тим разбија сложене проблеме на мале комаде. Затим се ти мали комади испоручују унутар спринта као инкременти спринта. Чланови тима могу да се усредсреде на специфичне задатке у оквиру Спринта (дефинисани временски период у коме се кораци развијају у, на пример, две недеље).
  • Сцрум подстиче редовну комуникацију између целог тима. Ово онда осигурава да су сви јасни о обиму и очекивањима. То смањује прилично значајну количину неспоразума који би се иначе могли догодити. Нарочито ако желите да напредујете високим темпом од спринта до спринта, цео тим мора да ради ка истом циљу из дана у дан.
  • Сцрум је дизајниран да буде флексибилан, тако да се тимови могу прилагодити променљивим захтевима и приоритетима. Ово омогућава тимовима да брзо реагују на промене у обиму пројекта или потребама купаца. Уместо да чекате да се заврши цео животни циклус развоја, можете једноставно променити садржај између спринтова.
  • Сцрум наглашава важност тестирања и осигурања квалитета, идеално на аутоматизован начин. Крајњи циљ је повећање квалитета финалног производа. Ово смањује ризик од кварова и осигурава да производ испуњава захтеве купца.
  • Сцрум је дизајниран да буде фокусиран на купца, што значи да је купац укључен у процес развоја од почетка до краја, обично у улози власника производа или са директном везом са власником производа (више о томе касније). Ово осигурава да коначни производ задовољава потребе купца и са правим приоритетом.

Затим ћемо разговарати о улози Сцрум методологије.

Улога Сцрум методологије

Извор: хангоутагиле.цом

Циљ Сцрум методологије је да обезбеди оквир за развој Агиле софтвера који омогућава тимовима да раде заједно. Ви градите Сцрум тим који се састаје свакодневно и редовно и има заказане дискусије (церемоније) у оквиру спринта који се понавља сваки спринт. Обично су следеће церемоније део основне поставке Сцрум тима:

  • Дневно устајање – Време и место где ће се сви чланови тима састати и разговарати о томе шта је урађено прошлог дана, шта ће бити посао следећег дана и које су тренутне препреке, ако их има.
  • Пречишћавање прича – Овде се расправља и финализује нови садржај (за следеће спринтове).
  • Планирање спринта – Током ове церемоније, тим процењује садржај спреман за преузимање (дефинисан у причама), а затим се обавезује на одређени подскуп од њих, углавном на основу процена приоритета и напора.
  • Преглед спринта – Овде се тим састаје са заинтересованим странама и представља им шта је тим постигао у последњем спринту.
  • Ретроспектива спринта – Дијалог посвећен тиму само да би се разговарало о томе шта се може побољшати или шта тим сматра да мора да се промени у будућности.
  Како додати ЦАГР формулу у Гоогле Схеетс табеле

Значај Сцрум методологије лежи у њеној способности да помогне тимовима да раде ефикасније. Основни принципи Сцрум методологије су засновани на Агилном манифесту, а они су следећи.

Емпиријска контрола процеса

Сцрум је заснован на идеји да се напредак најбоље постиже емпиријским процесом континуиране инспекције и прилагођавања. То значи да тимови треба редовно да контролишу свој рад и прилагођавају своје процесе како би побољшали свој учинак.

Самоорганизовани тимови

Сцрум тимови су самоорганизовани, што значи да су одговорни за управљање својим радом и доношење одлука о постизању својих циљева. Ово помаже у промовисању сарадње и одговорности унутар тима.

Итерације са временским оквирима

Сцрум пројекте можете поделити у временски ограничене итерације, које се називају спринтови, који обично трају између једне и четири недеље. Ово осигурава да тим ради на одређеном циљу и да напредује на редовној основи.

Приоритетни заостатак производа

Заостатак производа је приоритетна листа функција и захтева на којима ће тим радити током пројекта. Власник производа је одговоран за одржавање заостатака производа и осигуравање да одражава потребе и приоритете корисника.

Континуирано побољшање

Сцрум наглашава важност сталног побољшања. Како у погледу производа који се развија, тако и процеса који се користе за његово развијање. То значи да тимови треба редовно да размишљају о свом раду и траже начине да побољшају свој учинак.

Изазови

Извор: сцрум.орг

Иако Сцрум методологија може бити веома ефикасна у развоју софтвера, постоје и неки изазови са којима се тимови могу суочити када је имплементирају.

Отпорност на промене

Сцрум захтева значајну промену у начину размишљања и култури, што неким члановима тима може бити тешко да прихвате. Неки чланови тима могу бити отпорни на промене, што може отежати ефикасну имплементацију Сцрум-а. Другим речима, морате га „добити“. Док то не урадите, нисте унутра.

Недостатак искуства

За ефикасну имплементацију потребан вам је одређени ниво искуства и стручности. Ако чланови тима нису упознати са Сцрум или Агиле методологијама, то представља изазов за превазилажење.

  Уредите фокус и интензитет ефекта замућења у апликацији Гоогле камера

Недостатак посвећености

Сцрум-у је потребна велика посвећеност свих чланова тима, укључујући власника производа, Сцрум мајстора и развојни тим. Ако чланови тима нису у потпуности посвећени процесу, може бити тешко постићи жељене резултате.

Лоша комуникација

Сцрум се у великој мери ослања на комуникацију и сарадњу између чланова тима. Ако чланови тима не комуницирају често и ефикасно, то може бити изазов за њих.

Претерано наглашавање процеса

Иако Сцрум пружа оквир за развој Агиле софтвера, важно је запамтити да је то само оквир. Ако чланови тима постану превише фокусирани на праћење процеса, могу изгубити из вида крајњи циљ испоруке висококвалитетних софтверских производа.

Улоге Сцрум тима

Сваки сцрум тим, да би био ефикасан, састоји се од неколико конкретних улога. Ако те улоге нису посвећене тиму или се погрешно рачунају, успешно формирање таквог тима за сцрум може бити у опасности.

#1. Развојни тим

Ово је извршни део тима, тако да је из перспективе испоруке производа можда најважнији део тима. Типичан сцрум развојни тим се састоји од специјалиста за развој/тестирање/архитектуру/аналитику у укупном броју од 4-10 људи. Ако је мање, упитно је да ли то још можете назвати тимом. Ако је више, све церемоније и управљање тимским дискусијама ће постати превише сложене и неће бити вредне труда да се одржавају.

Развојни тим узима приче из заостатка, процењује их и примењује у спринтевима. Тим је одговоран за развој приче и тестирање, а када се заврши, и за примену у продукцију.

#2. Сцрум Мастер

Сцрум мастер делује као оркестратор за развојни тим. Он заказује редовне састанке, стара се да развојни тим буде јасан у садржају и организује активности током спринта у циљу постизања плана и циљева спринта.

Ово заправо није улога садржаја. У ствари, сцрум мастер не мора технички ништа да разуме од садржаја прича које развојни тим решава (иако то сигурно помаже). Међутим, сцрум мастер служи развојном тиму и штити га од спољашњег окружења. Под заштитом подразумевам допуштање тиму да ради на основу агилних принципа. Будите овде говорник тима и не дозволите промену тренутно договореног плана спринта било каквим непланираним захтевима.

#3. Власник производа

Сервери власника производа (ПО) за везу између развојног тима и пословних корисника (стејкхолдера) ван тима. ПО разматра садржај са свим релевантним странама и доноси договорени садржај сцрум тиму.

Затим ПО креира приче за тим са јасним описима и очекивањима. ПО треба да се увери да развојни тим разуме овај садржај како би тим могао да процени сваку причу. Као такав, ПО поседује дискусије о прецизирању прича унутар тима.

Поред управљања садржајем и целокупним заосталим нерешеним предметима, ПО је такође одговоран за постављање приоритета за сваку причу у заостатку. ПО, међутим, није одговоран за одабир конкретних прича за спринт. То што само развојни тим може да уради обавезујући се на опсег, тим ће изабрати за следећи спринт. ПО може утицати на тај избор само правилним постављањем и саопштавањем приоритета.

  Како пренети песме са иПод-а на рачунар

Интеракције улога унутар Сцрум тима

Извор: сцрум.орг

Чак и са свим људима и улогама, комуникација је заиста кључ успеха. Најважније, исправна комуникација јер постоји толико много начина да се погреши. И то је заправо највећи једини разлог зашто многи сцрум тимови нису успешни. Они то једноставно не постављају како треба.

На пример, власници производа често траже од развојног тима да смисли нове приче о садржају. Али није сврха развојног тима да ствара заостатак. Наравно, они могу помоћи у дефинисању прича, учинити их детаљним и поделити их како би их било могуће извршити у оквиру спринтова. Али власник производа је одговоран за заостале ствари. ПО идеално би било да не тражи од развојног тима да се повеже са пословним актерима.

С друге стране, ни Сцрум мастер ни власник производа неће дефинисати шта ће тачно бити обим следећег спринта. Ово се ионако често дешава јер су улоге Сцрум мајстора и власника производа нека врста природне лидерске улоге унутар Сцрум тима. Али у стварности, они нису у позицији да одлучују шта ће развојни тим узети или не у спринт. Развојни тим је једини који ово може да изврши, тако да је тим за развојне програмере да одлучи. То значи да ПО даје информације о томе колико је која прича важна из пословне перспективе; ПО може чак да наручи заостале приче од најважнијих до најмање важних. На овај начин развојни тим има осећај о томе које приче ће прво узети.

Власник производа ће се трудити да редовно разговара са тимом о новом садржају за који ПО жели да тим испоручи. ПО је ту да детаљно продискутује о свакој причи коју он/она креира или доведе до заостатка. Сви у развојном тиму морају да разумеју причу и јасно им је који су критеријуми прихватања.

Сцрум мастер није само оркестратор тима; на неки начин, СМ штити тим од власника производа, руководства или других спољних заинтересованих страна. СМ одржава интерне сцрум процесе у току и води већину церемонија за тим. Приликом дневних статусних позива, СМ се стара да сви кажу само важна ажурирања за дан, тако да састанак не траје дуже од заказаног. То се заправо односи на све позиве.

СМ такође организује редовне ретроспективне позиве за тим, где он/она помаже тиму да се осврне на рад обављен у претходном спринту и идентификује области у којима тим може да се побољша.

Завршне речи

Оснивање успешног сцрум тима је обично дуг пут. Морате изградити искуство унутар тима, чак и ако конкретни чланови тима већ имају неко претходно искуство. Сваки сцрум тим је јединствен и проналажење начина како да радите и сарађујете заједно као тим на заједничким темама увек захтева време.

Најважније је одржати тим стабилним када га већ формирате. Тек тада тим може да почне да се побољшава са сваким следећим спринтом. Крајњи циљ је да се претворите у самоорганизовани тим, где чак ни присуство господара олоша није више обавезно већину времена. Ако не можете да одржите тим на окупу, и даље ћете бити у фази учења.

Затим погледајте најбоље Сцрум алате за почетнике и средња предузећа.