18. studenog 2020. je objavljen novi Vodič za Scrum. U prošlom nastavku serijala smo analizirali zašto i na koji način je vodič pojednostavljen i objasnili zašto je Scrum u osnovi ostao nepromijenjen. U ovom nastavku ćemo se osvrnuti na "novi" Scrum tim koji i nije tako nov.
The post Vodič za Scrum 2020: Tko priča s korisnicima? Scrum tim! Tko radi? Scrum tim! Tko je odgovoran? Pa Scrum tim! appeared first on Netokracija.
Ovaj članak je dio serije članka o novom Vodiču za Scrum:
Kako bismo ispravno interpretirali novi Vodič za Scrum, potrebno je razumjeti kako on definira karakteristike Scrum tima.
U Vodiču stoji:
The fundamental unit of Scrum is a small team of people, a Scrum Team […]. Within a Scrum Team, there are no sub-teams or hierarchies. It is a cohesive unit of professionals focused on one objective at a time, the Product Goal. […] The Scrum Team is small enough to remain nimble and large enough to complete significant work within a Sprint, typically 10 or fewer people..[…] The Scrum Team is responsible for all product-related activities […]. The entire Scrum Team is accountable for creating a valuable, useful Increment every Sprint. Scrum defines three specific accountabilities within the Scrum Team: the Developers, the Product Owner, and the Scrum Master.
U srcu Scruma je mali Scrum tim tipične veličine do 10 članova. Čini ga povezana grupa stručnjaka koja je fokusirana na ostvarivanje jedinstvenog cilja produkta. Tim se kao cjelina kreće u istom smjeru, bez internih hijerarhija i podjela na pod-timove.
Kao cjelina je odgovoran za sve aktivnosti vezane uz rad na produktu (eng. responsible), poput suradnje s različitim dionicima, verifikacije, održavanja, operacija, eksperimentiranja, istraživanja i razvoja, itd. To znači da članovi Scrum tima imaju obvezu međusobno podijeliti i organizirati posao vezan za sve opisane aktivnosti i odraditi taj posao te ne mogu tu odgovornost prebaciti na nekoga izvan tima. Osim toga, Scrum tim kao cjelina na kraju svakog sprinta odgovara za ostvarene (ili neostvarene) ciljeve sprinta (eng. accountable), odnosno izgradnju upotrebljivog inkrementa proizvoda koji ima neku vrijednost. Scrum tim odgovara za ono što radi kao i za pripadajuće rezultate.
Ipak, unutar takve globalne odgovornosti razlikujemo 3 različite zone odgovornosti (eng. accountabilities) koje se mapiraju na Product Ownera, Scrum Mastera i developere (eng. Developers).
Vodič izdvaja dvije ključne karakteristike Scrum tima:
Scrum Teams are cross-functional, meaning the members have all the skills necessary to create value each Sprint. They are also self-managing, meaning they internally decide who does what, when, and how. […] They are structured and empowered by the organization to manage their own work.
Da bi se Scrum tim mogao nositi sa svim izazovima rada na produktu, mora kao cjelina posjedovati sve potrebne vještine. U prvom redu to znači razumijevanje svrhe produkta, njegove vizije, tržišta i korisnika. U drugom redu to znači sva specijalistička znanja potrebna za izgradnju tog produkta, što u praksi značajno ovisi o domeni produkta. Kada Scrum tim razvija softverski produkt, tada između ostalog govorimo o vještinama programiranja, testiranja i isporuke u produkciju. Kada Scrum tim razvija marketinšku kampanju, tada između ostalog mora znati pisati i oblikovati marketinški sadržaj i plasirati ga kroz odgovarajuće marketinške kanale. Ako tim ne posjeduje sve potrebne vještine, tada mora raditi na tome da ih izgradi.
Preduvjet za ostvarenje maksimalnog potencijala Scrum tima je njegova samostalnost u zadanim okvirima organizacije. Scrum tim mora imati slobodu sam interno upravljati svojim poslom (eng. self- managing team). To znači da on samostalno odlučuje tko u timu što radi, kada to radi i na koji način. Ako je Scrum tim ujedno i organizacija (npr. startup) onda to nije teško postići. U većim organizacijama će vjerojatno postojati standardi koje je potrebno uzeti u obzir prilikom samostalnog upravljanja poslom (npr. standardizirana tehnološka platforma i alati, poslovni procesi koji su u skladu s nekim certifikatom, i sl.).
Nitko ne upravlja radom Scrum tima. Izvan tima bi to mogli htjeti raditi različiti menadžeri, linijski voditelji ili direktori odjela. Pojedinačni članovi tima bi također mogli htjeti upravljati radom tima. Product Owner bi se mogao kontinuirano uplitati u detalje rada na inkrementu, zahtijevati da ga se izvještava i nametati kontrolu. Najiskusniji developer bi mogao nametati svoje metode, tehnike i rješenja i činiti pritisak da se posao radi onako kako je on to zamislio.
Takvo ponašanje izvan i unutar Scrum tima je u dubokom sukobu sa Scrum vrijednostima o kojima smo već pisali. Osobe na upravljačkim pozicijama u organizaciji trebaju raditi na stvaranju povoljne organizacijske kulture i otklanjanju svih prepreka, kako bi se potakla samostalnost i efikasnost Scrum timova. Scrum tim treba raditi na tome da s vremenom postane efikasna grupa jednakovrijednih stručnjaka koji se vođeni vlastitom motivacijom, iskustvom, znanjem i sposobnostima kreću prema ostvarenju zajedničkog cilja.
Product Owner je član Scrum tima odgovoran za maksimizaciju vrijednosti produkta koji nastaje kao rezultat rada cijelog Scrum tima.
The Product Owner is accountable for maximizing the value of the product resulting from the work of the Scrum Team. For Product Owners to succeed, the entire organization must respect their decisions. These decisions are visible in the content and ordering of the Product Backlog, and through the inspectable Increment at the Sprint Review.
U sklopu globalne odgovornosti Scrum tima za sve aktivnosti vezane uz rad na produktu, Product Owner ima svoju izdvojenu zonu odgovornosti. On je odgovoran za oblikovanje cilja produkta (eng. Product Goal) koji daje odgovor na pitanje zašto se uopće radi na tom produktu i kome je on vrijedan. Sav posao vezan za razvoj produkta u skladu s definiranim ciljem Product Owner izražava posredstvom stavki na Product Backlogu. On je dužan učinkovito upravljati tim stavkama i osigurati da su one jasno oblikovane i razumljive. Također je dužan osigurati transparentnost i dostupnost Product Backloga svim zainteresiranim stranama.
Product Owner je također odgovoran za upravljanje redoslijedom stavki na Product Backlogu. Scrum tim će u pravilu slijediti taj redoslijed i u sprintovima raditi na stavkama uzimajući ih s vrha Product Backloga. I upravo to je mehanizam pomoću kojeg Product Owner maksimizira vrijednost isporučenu kroz inkrement na kraju svakog sprinta. Ako se na vrhu Product Backloga uvijek nalaze stavke koje su u tom trenutku najvrjednije iz perspektive produkta i najviše pridonose tome da se Scrum tim približi ostvarenju cilja produkta, tada će Scrum tim uvijek raditi na najvrjednijim stavkama.
Ključni faktor uspjeha Product Ownera u ostvarenju cilja produkta proizlazi iz poštovanja koje organizacija ima prema njegovim odlukama koje su jasno prezentirane kroz sadržaj i redoslijed stavki na Product Backlogu. On kontinuirano upravlja smjerom kretanja (rada) Scrum tima, uzimajući u obzir sve faktore koji utječu na produkt.
To mogu, primjerice, biti povratne informacije od korisnika, rezultati istraživanja tržišnih uvjeta, tehnologija, regulativa ili konkurentski produkti. U njegovoj zoni odgovornosti je da kontinuirano prati te faktore i prilagođava stavke na Product Backlogu. Kada on to ne radi dobro, pa produkt ne privuče dovoljno korisnika, ne osigura povrat investicije ili ga korisnici ne smatraju upotrebljivim, on je taj koji će morati objasniti uzroke i dokučiti koje promjene je potrebno poduzeti da bi razvoj produkta ponovo pravilno usmjerio. Iako se Vodič za Scrum ne izjašnjava po tom pitanju, Product Owner može biti odgovoran za budžet i povrat investicija, čime njegova uloga u organizaciji dobiva na težini.
Scrum Master je član Scrum tima koji u svojoj zoni odgovornosti ima dvije ključne stvari: ispravnu implementaciju Scruma i učinkovitost Scrum tima.
The Scrum Master is accountable for establishing Scrum as defined in the Scrum Guide. They do this by helping everyone understand Scrum theory and practice, both within the Scrum Team and the organization.
Scrum Master ima odgovornost i prijeko je potreban kako bi njegovao organizacijsko okruženje u kojem svi razumiju i ispravno primjenjuju Scrum teoriju i prakse onako kako je opisano u Vodiču za Scrum. On je odgovoran za ispravnu implementaciju Scruma ne samo unutar Scrum tima već i na razini organizacije. Ne možemo imati Scrum timove bez Scrum Mastera.
The Scrum Master is accountable for the Scrum Team’s effectiveness. They do this by enabling the Scrum Team to improve its practices, within the Scrum framework.
Scrum Master je odgovoran za učinkovitost Scrum tima. Dobar Scrum Master koji zna svoj posao neće preuzimati odgovornosti ostalih članova Scrum tima niti će odrađivati njihov posao. On će im pomoći uvidjeti njihove nedostatke i slabe točke i zajednički s njima iznaći načine za otklanjanje prepreka, učenje i napredovanje. Scrum Master vodi računa o kontinuiranom osposobljavaju članova tima sa svrhom unaprjeđenja njihovih znanja i kompetencija:
Scrum Master preuzima aktivnu ulogu u rješavanju problema samo kada ti problemi nadilaze tim i odvlače njegov fokus od aktivnog rada na produktu.
Scrum master na različite načine uslužuje Product Ownera. Dobar Scrum Master nikada neće oblikovati cilj produkta niti upravljati Product Backlogom, već će pomoći Product Owneru pronaći tehnike i alate koje su prikladne za te aktivnosti i poticat će ga na usvajanje tih tehnika. Podsjećat će Poduct Ownera i developere o važnosti kontinuirane razrade (eng. refinement) stavki na Product Backlogu na jasne cjeline odgovarajuće veličine tako da se na njima može pojedinačno raditi u sprintevima. Pomoći će Product Owneru shvatiti i primijeniti empirizam kod svih aktivnosti planiranja. Po potrebi će facilitirati komunikaciju između svih dionika produkta.
Scrum Master na različite načine uslužuje i svoju cjelokupnu organizaciju. Uvođenje Scruma kao procesnog okvira na razini cijele organizacije zahtjeva pažljivo planiranje i analizu. Potrebno je da svi razumiju i usvoje teoretsku osnovu Scruma, odnosno rješavanje kompleksnih problema uz pomoć empirizma. Potrebno je da svi razumiju i usvoje Scrum.
Svi Scrum Masteri u organizaciji zajednički preuzimaju odgovornost za implementaciju Scruma na razini organizacije kroz ulogu vođe, instruktora i trenera.
Iz svega opisanog jasno je kako Scrum Master istovremeno igra i ulogu vođe (eng. leader) i ulogu sluge (eng. servant) kroz svoje aktivnosti instruktora, učitelja, trenera, mentora i facilitatora. On to radi tijekom svih interakcija unutar i na granicama Scrum tima te na različitim razinama unutar organizacije. Da bi mogao dobro igrati takve višestruke uloge mora imati vrlo široki spektar kompetencija.
Mora poznavati i živjeti Scrum. Mora biti upoznat s raznim komplementarnim praksama i alatima kako bi mogao pomoći svojem timu kada je to potrebno. To ne znači da mora biti stručnjak u tehnikama razrade produktnih zahtjeva, ali mora moći savjetovati Product Ownera u njihovom odabiru. To isto tako ne znači da mora u detalje razumjeti poslovnu domenu produkta ili tehničku pozadinu svih praksi i alata koje developeri koriste u izgradnji produkta. Svako šire znanje na tom polju mu pomaže da bude korisniji svom timu, ali je nužno da ima takta u radu s ljudima i da ulijeva povjerenje. On mora poznavati najrazličitije oblike komunikacije i kolaboracije i znati razrješavati konflikte. Mora poznavati organizaciju i sve njena pravila i ograničenja te biti spreman podmetnuti svoja leđa kako bi se kontinuirano borio za svoj Scrum tim.
Developeri su članovi Scrum tima koji profesionalno odrađuju sve aktivnosti vezane za izradu upotrebljivog inkrementa u svakom sprintu. Ovisno o produktnoj domeni, govorimo o najrazličitijim vrstama inkrementa (npr. softverski program, komad hardvera, marketinška kampanja, knjiga, i sl.) pa aktivnosti izrade inkrementa pokrivaju široki spektar poslova. Developeri kao cjelina moraju posjedovati sve stručne i tehničke kompetencije potrebne za izradu inkrementa i u obvezi su kontinuirano raditi na nadogradnji tih kompetencija i dijeljenju znanja.
Developers are the people in the Scrum Team that are committed to creating any aspect of a usable Increment each Sprint.
Na početku svakog sprinta developeri surađuju s Product Ownerom na cilju sprinta (eng. Sprint Goal) i zajednički s njim odabiru stavke s Product Backloga na kojima će se raditi u tom sprintu. Nakon toga samostalno izrađuju plan poslova za odabrane stavke i svakodnevno ga prilagođavaju kako sprint napreduje s namjerom da osiguraju postizanje cilja sprinta. Oni su odgovorni da ishod cjelokupnog plana bude upotrebljiv inkrement produkta koji zadovoljava dogovorene standarde kvalitete opisane kroz njihovu definiciju gotovog (eng. Definition of Done). Drugim riječima, Developeri su odgovorni za brigu o svim aspektima kvalitete inkrementa.
The Developers are always accountable for instilling quality by adhering to a Definition of Done.
Biti developer u Scrum timu znači ponašati se odgovorno i prema pravilima struke, bez obzira o kojoj domeni i profesiji se radi. Svaki developer se obvezuje da će fokusirano raditi samo na poslovima aktivnog sprinta koji u novi inkrement ugrađuju željenu vrijednost. Obvezuje se da će raditi najbolje što zna i davati svoj maksimum kako bi Scrum tim ostvario cilj sprinta. Isto takvo ponašanje očekuje i od drugih developera. Aktivno brani kvalitetu inkrementa time što ne radi suvišne poslove, zna reći ne kada je potrebno, zna tražiti i pružiti pomoć. Spreman je istupiti iz svoje zone komfora kada je to potrebno. Svjestan je da uspjeh dolazi samo kroz zajednički rad svih developera. Pošten je i transparentno dijeli informacije o stvarnom stanju poslova na kojima radi. Otvoren je za komunikaciju i dijeljenje znanja. Ukratko, spreman je “poginuti” za svoj Scrum tim ako u tome vidi svrhu.
Dosadašnji vodiči su definirali Product Ownera, Scrum Mastera i Developerski tim kao role, što sada više nije slučaj. U praksi je to često vodilo do toga da je podjela na role ekstremno naglašena i da Scrum tim ne funkcionira kao povezana cjelina. Osim toga, role su često podrazumijevale opis radnog mjesta i imale dodatne konotacije. Autori vodiča htjeli su napraviti odmak od takvih praksi i zato su u novom Vodiču definirali zone odgovornosti umjesto rola, naglašavajući pritom jedinstvo Scrum tima i njegovu zajedničku odgovornost za posao i rezultate. Vrijeme će pokazati hoće li se pojam rolâ i dalje nastaviti koristiti ili ćemo početi govoriti o zonama odgovornosti (koliko god to neobično zvučalo na hrvatskom jeziku!).
Opis Product Ownera je samo osjetno promijenjen utoliko što on sada maksimizira vrijednost rada cijelog Scrum tima, za razliku od dosadašnje maksimizacije rada developerskog tima.
Novi Vodič jasno naglašava činjenicu da Scrum Master ima ključnu ulogu u uspješnoj implementaciji Scruma i izgradnji učinkovitog Scrum tima koji posjeduje sve potrebne kompetencije za samostalni rad na produktu. Iako prethodni vodič nije puno “slabije” i drugačije opisivao njegove zone odgovornosti, u praksi se vrlo često moglo naići na implementaciju Scruma u kojima uopće nema Scrum Mastera, ili on odrađuje administrativne poslove upravljanja timom, poput zakazivanja i vođenja sastanaka te pisanja izvještaja, ili pak u potpunosti upravlja radom Developerskog tima uskraćujući mu pravo na samostalnu organizaciju. Zato je bitno da sada piše da nema Scruma bez Scrum Mastera i njegovih jasnih zona odgovornosti.
Termin “Developers” vjerojatno je najmanje očekivana promjena u novom Vodiču. Oko ispravnog imena se vodila velika debata jer je u IT domeni ono sinonim za osobu koja se bavi poslovima programiranja. Međutim, autori vodiča su istraživali druge domene u kojima se Scrum primjenjuje i zaključili da je koncept developera kao članova Scrum tima koji “razvijaju” (eng. develop) inkrement potpuno razumljiv i prihvatljiv. I tako bi. Na hrvatskom jeziku nažalost nemamo adekvatnog prijevoda, pa ćemo se i mi zadržati na developerima (jer nećemo valjda developere zvati “razvijačima” :))
Prema novom vodiču, bilo koji član tima koji radi na izradi inkrementa je developer. To znači da, ako Product Owner i Scrum Master operativno rade na poslovima u Sprint Backlogu koji su sastavni dio izrade inkrementa, onda i oni sudjeluju kao developeri.
Prema prijašnjem vodiču, karakteristike samostalnog upravljanja poslom su bile dodijeljene i Scrum timu i developerskom timu, ali je samo developerski tim bio odgovoran za proizvodnju gotovog inkrementa proizvoda. Sada su se te karakteristike izdigle na razinu cijelog Scrum tima, naglašavajući da se radi jednom koherentnom timu profesionalaca koji radi na razvoju jednog produkta i odgovoran je kao cjelina za sve aspekte i rezultate rada.
Tekst su zajednički napisali Ana Roje Ivančić i Ognjen Bajić.
The post Vodič za Scrum 2020: Tko priča s korisnicima? Scrum tim! Tko radi? Scrum tim! Tko je odgovoran? Pa Scrum tim! appeared first on Netokracija.
01/12/2020 08:25 AM
2014 © Hrvatske aplikacije i vesti