Scrum – todo | doing | done https://tododoingdone.com Pravo mjesto za agilne teme Thu, 03 Oct 2019 19:17:20 +0000 hr hourly 1 https://wordpress.org/?v=6.7.1 Što znači biti Scrum Master https://tododoingdone.com/2019/10/sto-znaci-biti-scrum-master/ Thu, 03 Oct 2019 08:45:50 +0000 http://tododoingdone.com/?p=1098 Moderni poslovi su prvenstveno misaoni (knowledge work) i zahtijevaju ponešto drugačiju organizacijsku strukturu od one koju smo navikli gledati u klasičnim, proizvodnim organizacijama. Aktivnosti i zadaci koje je imao neki mali šef (poslovođa) su sad prebačene na tim: organizacija zadataka, briga o kvaliteti itd. Istovremeno se pojavila i nova rola: coach, ili ako se radi o Scrumu, onda Scrum Master.

I sad smo u međuprostoru: organizacije (uglavnom) razumiju potrebu za novim načinom rada koji odgovara misaonim poslovima, ali često ne razumiju potrebu za coachom (Scrum Masterom).

U nastavku je tekst kojeg sam napisao za potrebe jednog svog korisnika, upravo s ciljem razumijevanja te role i vezanih aktivnosti. Isprike na engleskom jeziku, ali mi se čini da nema potrebe prevoditi 🙂

What Being a Scrum Master, and a coach in general, means

The role of a Scrum Master is often misunderstood, especially in
environments where no similar role already exists. We're not the
first organisation facing this issue, and we should learn from a
wider community and experiences of other people.

How to see what a Scrum Master does?

Scrum Master, and a coach in general, is often seen through
activities which are easily observable, such as meetings
facilitation. But, the main focus of a Scrum Master is not to teach
a team to be better from a mechanical perspective (such as, to have
short meetings).

The main focus is to make the problems (impediments) visible and to
teach the team to solve them.

At the beginning, probably the biggest impediment is inefficient
meetings, so SM could focus on that. After the team learn how to do
the meetings well, next impediment is usually connected to the
team’s tendention to take too much work at the same time, and to be
late with the delivery as a consequence. Next, problems with people
relationships will surface, or the environment will press harder on
the team. The Scrum Master has to tackle those impediments as well.
Then, personal development of the team members, as they would think
they’re lagging in knowledge due to focus on deliveries. Next,
inevitable technical debt will be the hottest topic, while the
Product Owner still thinks it’s not worth it. 

The list goes on.

It is not without a reason that Scrum is sometimes called "the
problem finding framework". We’ll for sure encounter a number of
problems which Scrum helped us to recognise. It’s up to us to solve
them.

However, if we want to look at the SM role from that 'observable'
perspective, there’s a lot more Scrum Masters do:
http://scrummasterchecklist.org/pdf/ScrumMaster_Checklist_12_unbranded.pdf

It’s best if we actually don’t see a Scrum Master at all, but only
the effects of their efforts, which are:

[Product Development] Quality deliveries at the end of each sprint
[Team Development] Self-sufficient and self-sustainable
[People Development] People clearly express their views on products,
their own knowledge, their career paths
[Competency Development] Team works more efficiently in terms of
technical excellence
[Environment Development] Spreading of the agile views in otherparts
of the organisation, better meetings, faster decision making
[etc...]

But also:

Continuously growing list of impediments a team is encountering
At the same time, growing list of solved impediments
[etc...]

If we have a SM working with a team in a good way, helping the team
to get better each iteration, we can accept the idea that at some
point in time, the team is "excellent enough" -- meaning that the
value that particular SM brings to that particular team is not
proportional to the value the same SM would bring to "still not
excellent" team.

In that case, that SM could take the second team, while still
maintaining close relationship with the first one. 

We assume that the first team is mature enough to be able to
recognise and solve their own impediments up to some level, above
which they would still need a Scrum Master.

That’s the state we want to achieve.

To get there, we propose the following (rather optimistic) timeline:
* We begin with Scrum Masters helping one team only
* While launching new teams, we have one Scrum Master per team
* Each SM stays with their teams for at least three months
* At the end of that period, we assess how the teams are "mature"
  and stable, and if there’s some space to free for their SM, so
  that he/she could take another team. 
** It is important to understand that that another team should not
   be completely new one, since such a team would require a full
   time SM
* Each three months we repeat the exercise.

At some point in time we will have:
* A number of experienced Scrum Masters
* A number of long-lasting, experienced teams
* Every single team will have a Scrum Master
* Most of the Scrum Masters will have only one team
* Some experienced Scrum Masters might have two experienced teams

Photo by Christopher Burns on Unsplash

]]>
Koliko timova može imati jedan Scrum Master? https://tododoingdone.com/2019/09/koliko-timova-moze-imati-jedan-scrum-master/ Mon, 30 Sep 2019 08:11:44 +0000 http://tododoingdone.com/?p=1089 U agilno-coachevskim krugovima se kaže, “Dobar Scrum Master može imati dva tima, odličan Scrum Master jedan.” Stvarni svijet je ponešto drugačiji.

U stvarnom svijetu će se sigurno postaviti pitanje, Zar moramo imati Scrum Mastera za svaki tim? Zar ne može jedan Scrum Master imati dva ili tri tima?

Čini mi se da u argumentaciju krećemo iz pogrešne perspektive. Mi se pitamo koliko SM može imati timova. Pravo je ustvari pitanje koliko timu treba njihov Scrum Master.

Pravo je ustvari pitanje koliko timu treba njihov Scrum Master.

Timovi su ti koji rade posao i SM im pomaže, znači fokus je na timovima. Novi, neiskusni, nezreli timovi – full time SM. Iskusni, zreliji timovi – manje nego full time SM.

Treba se fokusirati na izgranju timova, mjeriti njihovu zrelost i onda otpuštati kapacitete njihovog SM-a, jer je stabilan tim sad u stanju preuzeti aktivnosti koje obavlja njihov SM.

Stabilan je onaj tim koji:

  • Redovito isporučuje upotrebljiv komad softvera (tj. proizvoda) na kraju svakog sprinta
  • Sam se interno dogovara oko administrativnih stvari (godišnji i sl.) tako da šira organizacija niti ne primijeti da se to događa
  • Bez većih problema uvodi nove ljude u rad
  • Sam se brine o vlastitom profesionalnom razvoju (planiraju edukacije, konferencije itd tako da to ne utječe na posao)
  • Redovito stanu pred produktni backlog i naprave neki npr. tromjesečni plan
  • Redovito imaju neka svoja interna druženja (PPPP – petkom piva poslije posla i slično)
  • Sam se brine oko logistike rada tima (pronašli su mehanizme naručivanja uredskog materijala i takve, naoko blesave stvari)

Koliko treba timu da postane takav? Nemam pojma, ali sigurno duže nego što mislimo 🙂 Ovisi o timu, naravno. Kažu istraživanja, 6-12 mjeseci. (Tuckman)

Koliko vremena treba timu da postane stabilan? Duže nego što mislimo 🙂

Možemo li otpustiti nešto kapaciteta timskog SM-a i prije tih 12 mjeseci? Vjerojatno. Koliko? Manje nego što mislimo.

Zrelost timova se može mjeriti, a prema tome onda i “dozirati” angažman SM-a, u smislu broja coaching sati kojeg bi pojedini tim trebao.

Svi trebamo uzeti vrlo vrlo oprezno te brojeve, odnosno treba ih gledati više kao neku pretpostavku koju ćemo u nekom trenutku potvrditi ili pobiti, odnosno prilagoditi stvarnom stanju.


Photo by Pascal Swier on Unsplash

]]>
Scrum Guide odnedavno u hrvatskom prijevodu! https://tododoingdone.com/2018/09/scrum-guide-odnedavno-u-hrvatskom-prijevodu/ Mon, 03 Sep 2018 12:22:55 +0000 http://tododoingdone.com/?p=898 Odnedavno imamo i hrvatski prijevod Vodiča kroz Scrum. Bacite pogled na službenu verziju, a što je možda još i zanimljivije, pripremili smo i “anotiranu” verziju Vodiča, odnosno isti taj dokument povezan na članke s našeg bloga.

Često u poslu dođem do teme primjene Scruma kao okvira za podizanje razine agilnosti organizacije. Koliko god Scrum bio jednostavan za razumjeti, toliko ga je u stvarnosti teško dobro primijeniti, pogotovo ako je tim neiskusan ili se, još gore, radi o organizaciji koja je striktno podijeljena u vertikalne silose (č: Odjel za smišljanje ideja, Odjel za programiranje ideja, Odjel za puštanje ideja u rad).

Zanimljivo mi je vidjeti kako se i sama razina razumijevanja podiže kako ljudi stječu iskustvo, tako da sam im prije nekog vremena prestao uopće spominjati Vodič kroz Scrum sve do dva ili tri mjeseca zajedničkog rada po Scrumu; tek ih onda uputim na službenu stranicu.

Ovaj blog je dijelom i nastao kao pomoć boljem usvajanju agilnih principa u svakodnevnom radu, pa se nadam da će i “anotirana” verzija Vodiča biti od koristi. Ne zaboravite i Demistificirani Scrum, “off broadway” pogled na sve ovo skupa.

Na kraju se moram zahvaliti Goranu Kelečiću i Amiru Hasanoviću na pomoći kod prevođenja.

]]>
Kad sprint ode nakrivo https://tododoingdone.com/2017/11/kad-sprint-ode-nakrivo/ Wed, 08 Nov 2017 07:45:03 +0000 http://tododoingdone.com/?p=454 Sprint vam je otišao nakrivo, ništa nije ispalo kako ste planirali, nemate što pokazati? Što vam je činiti? Ništa lakše, ponašajte se kao da je sve normalno.

Sve vam izgleda kao drama, ali ustvari nije. Čak vam treba biti pomalo toplo oko srca jer se ovakve situacije događaju u stvarnom životu i dobro je imati stav kako pristupiti rješenju problema.

Kako vam je izgledao sprint?

Recimo da ste od planirane količine posla napravili jednu trećinu (vizualizirate posao pa se sve lako vidi), a ostatak vremena je otišao na ad-hoc zahtjeve i pomoć drugim timovima i okruženju jer:

  • Drugi dio organizacije lansira ogromnu produkciju, a vaš tim može pomoći u nekim detaljima.
  • Korisnik koji je do prije 2 tjedna znao što želi je potpuno promijenio priču zato što se kod njih interno nešto dogodilo.
  • Sustavi koji su do jučer radili stabilno su se počeli ponašati jako čudno pa ste morali pomagati operativi, restartati servere i još koješta.
  • Hakeri su vam napali IT i većinu vremena ste proveli stavljajući zakrpe na postojeće aplikacije i servere.
  • Poplava u sistem štali, svi kante u ruke i ajmo.

Ne izgleda lijepo. Što dalje?

Najčešće pitanje koje se ovdje postavlja je treba li održati sprint change (review, retrospektivu i planiranje) ili jednostavno preskočiti sve.

Pročitajte čemu zapravo služi Sprint Review.

Iz moje perspektive agilnog coacha odgovor je vrlo jednostavan i jednoznačan (da, treba), ali prije nego što se pokunjite i primite posla, probajte razmisliti o situaciji u kojoj se nalazite. Standardni coaching pristup analizi problema i okruženja je primjenjiv i ovdje. Zapitajte se: što ćemo (kao tim i cijela organizacija) dobiti ako imamo sprint change, a što ćemo izgubiti ako nemamo.

Dobit ćemo ako imamo sprint change

Benefiti su više nego jasni.

  • Svi stakeholderi imaju jasnu sliku što se radilo i napravilo tokom sprinta, bez obzira je li to iz backloga ili ad-hoc. Vidljivost tima i njihovog posla je pola uspjeha. 
  • Svi znaju koliko je kapaciteta otišlo na neplanirane aktivnosti, što je vrlo korisna informacija za buduće slične situacije ili druge timove i inicijative.
  • Članovi tima će komentari sprint, što su naučili u datoj situaciji, kako im je izgledalo raditi u takvom okruženju, možda skupa s drugim timovima, imaju li neka saznanja kojih recimo okruženje nije svjesno i slično.
  • Svi – članovi tima, PO, stakeholderi – imaju ideju što će se događati dalje, što sa zadacima iz backloga, očekuju li se i dalje slične situacije, i drugo.

Ograničite review na 30 minuta, ili koliko zaključite da vam treba: 20, 45… Vrlo je bitno da review bude fokusiran i ograničen! Najavite o čemu će se govoriti i pozovite sve zainteresirane strane, uz naznaku da prisustvo nije obavezno ali može biti korisno.

Ograničite retrospektivu na 45-60 minuta. Trebalo bi biti jako zanimljivo i korisno jer ste upravo doživjeli sudar dva svijeta – vašeg idealnog kojeg je jednostavno planirati i stvarnog koji je nepredvidljiv i zbunjen, a iz toga se može jako puno naučiti.

Planiranje odradite kao i do sada, s tim da možda već unaprijed znate da ćete imati manje kapaciteta za backlog pa sukladno tome ni planiranje neće trajati predugo.

Ako je baš panika, napravite pauze između reviewa, retrospektive i planiranja da se možete vratiti u stvarni svijet (i pomoći drugima ako treba) ali svakako sve ugurajte u jedan dan.

Izgubit ćemo ako nemamo sprint change

Ako ne napravite sve ovo gore, odnosno počnete rastezati i razvlačiti po danima i terminima, onda se može dogoditi da se neke stvari nikad ne odrade u cjelini, već u nekim dijelovima, automatski sljedeći sprint neće imati smisla, propustit ćete priliku osvrnuti se na trenutni način rada, što može biti korisno već od sljedećeg dana i tako dalje. Više problema nego koristi.

Dobro, nakon svega ovog, što mi je činiti?

Iz mojeg iskustva kao SM i coach, bez obzira na uspješnost ili neuspješnost sprinta, uvijek smo imali review u zakazano vrijeme, retrospektivu odmah nakon toga a zatim planiranje. Naša je sugestija da i vi uradite tako.


Photo by Andrej Lišakov on Unsplash.
]]>
Čemu zapravo služi Sprint Review? https://tododoingdone.com/2017/11/cemu-zapravo-sluzi-sprint-review/ Sun, 05 Nov 2017 21:46:24 +0000 http://tododoingdone.com/?p=431

 Što da radimo na Sprint Reviewu ako nemamo što za pokazati?

Pitanje koje često čujemo. I obično posljedica primjenjivanja konkretne prakse (ovog puta pokazivanja radećeg inkrementa proizvoda) bez zadubljivanja čemu ta praksa zapravo služi.

Činjenica: Sprint Review je putem postao sinonom za demonstraciju proizvoda.

Pogledamo li u Scrum Guide, tamo stoji “During the Sprint Review, the Scrum Team and stakeholders collaborate about what was done in the Sprint.”

Dakle, osnovna svrha Sprint Reviewa je suradnja razvojnog tima i stakeholdera na razvoju proizvoda. Dobar način kako to ostvariti, složit ćemo se najbolji, no sigurno ne i jedini, je pokazati što je napravljeno dosad i pričati o nastavku: zadovoljava li nova isporuka potrebe stakeholdera ili treba nešto mijenjati? Zadovoljava li proizvod u cjelini već sad potrebe stakeholdera pa možemo stati s razvojem? Ako još uvijek ne zadovoljava, koje su od preostalih funkcionalnosti prepoznate kao najvrjednije te će se implementirati sljedeće? Prepoznaju li stakeholderi možda neke nove funkcionalnosti koje donose značajnu vrijednost, a dosad nisu bile razmatrane za razvoj?

Osnovna svrha Sprint Reviewa nije “Dragi stakeholderi, dođite da vam pokažemo što smo napravili.” Pokazivanje onoga što je napravljeno je svakako poželjno i korisno, no pokazivanje nije samome sebi svrha. Osnovni cilj pokazivanja nije izvještavanje. Osnovni cilj pokazivanja je poziv stakeholderima na razgovor i suradnju oko razvoja proizvoda.

Da odgovorimo na pitanje: pokazivanje na Sprint Reviewu je svakako poželjno i mi kao coachevi uvijek inzistiramo da se pokazuju opipljive isporuke: radeći softver, konkretizirani dizajn i slično… No ponekad se dogodi da tim iz ovog ili onog razloga nema što za pokazati. U tom slučaju suradnju na razvoju proizvoda između razvojnog tima i stakeholdera treba temeljiti na nečemu drugome, npr. na pregledu produktnog backloga, razgovoru o vrijednosti pojedinih funkcionalnosti, diskusiji koje funkcionalnosti već danas možemo izbaciti iz backloga a da konačni proizvod zadovoljava potrebe stakeholdera. Pokazivanje radećeg inkrementa je kul, ali nepostojanje radećeg inkrementa nije razlog za preskakanje Sprint Reviewa. Osnovni cilj Sprint Reviewa je suradnja, a ne pokazivanje.

A zašto tim nije imao što za pokazati, e to je pak tema za retrospektivu 🙂

]]>
Što se događa kada User Story nije dovršen tokom sprinta? https://tododoingdone.com/2017/10/sto-se-dogada-kada-user-story-nije-dovrsen-tokom-sprinta/ Sat, 21 Oct 2017 22:08:08 +0000 http://tododoingdone.com/?p=399 Ponekad se, naravno, user story, ili bilo koji zadatak, ne dovrši tokom sprinta. Niste ni prvi ni zadnji tim kojemu se to dogodilo, niti je to nekakva posebna drama. Bitno je što se događa nakon tog “incidenta”.

Odmah da razjasnimo na početku, ne postoji pravilnik ponašanja u ovakvim slučajevima, niti će vam na vrata doći Scrum policija ako nešto napravite mimo regula. Ipak, mogu se dati neki iskustveni savjeti kako pristupiti problemu.

User Story nije niti započet

Najlakši slučaj, vratite US u backlog i ponašajte se kao da se ništa nije dogodilo (osim što trebate o ovome popričati na retrospektivi). Ako je bitan, uzet ćete ga u sljedeći sprint tokom planiranja i to je to. Ako nije bitan (možda je to razlog zašto nije niti započet?) onda se ne bi trebao pojaviti u sljedećem sprintu. Ne može jednostavnije.

User Story je započet, ali nije dovršen

Najčešći slučaj. Bitno je shvatiti zašto se ovo dogodilo:

  • US je prevelik pa niste stigli?
  • US je bio nejasan pa ste potrošili vrijeme na razjašnjavanje?
  • US je ovisio o nekom vanjskom događaju (ili pojedincu, timu, entitetu)?

U svakom slučaju, problem nije u nedovršenom user storyju već u nedovoljno dobroj analizi tokom planiranja sprinta. Probajte napraviti bolju analizu tokom sljedećeg planiranja kad ćete već unaprijed odgovoriti na gornja pitanja.

Što se tiče samog US-a, vratite ga u backlog, vjerojatno cijelog pa onda tokom sljedećeg planiranja analizirajte što je još ostalo od posla i dopunite ovaj ili napišite novi US, a ovaj bacite u smeće.

User Story je dovršen, ali je otkriven bug

Kad je otkriven bug, tokom testiranja u okviru sprinta? Pa popravite ga, i dopunite svoj Definition of Done tako da uključuje i testiranje. US nije gotov dok testiranje ne potvrdi da ne može naći bug. Bez obzira je li bug trivijalan ili ozbiljan, potrudite se riješiti ga tokom sprinta jer tako ne ostavljate repove za sobom već dovršavate stvari a to se cijeni.

Otkrili ste bug tokom reviewa? Odlično! Bolje nego u produkciji. Zapišite ga i stavite u backlog. Ako je drama (npr. našla ga je direktorica financija pred svima 🙂 ili je bloker) vjerojatno će biti na vrhu liste za popravak, inače ide u redovnu proceduru.

Bug je otkriven nakon što je sprint dovršen? Ide u backlog i u redovnu proceduru prema nekom SLA (service level agreement) kojeg već imate.

Važnije je što radimo nakon “incidenta”

Svi repovi nakon sprinta su ustvari poziv na razgovor i analizu problema, vjerojatno već tokom sljedeće retrospektive. Pitajte se zašto se dogodilo pa da sprint nije dovršen i ideje za rješenje ugradite već u sljedeće planiranje. Kao tim želite biti predvidljivi (ma kako to dosadno zvučalo) tako da i vi sami, ali i okruženje oko vas može računati na termine isporuka.

Dobro i precizno planiranje je i pokazatelj zrelosti tima.

Što nije pametno raditi

Nepametna ideja #1: US (ili razlika) automatski ide u sljedeći sprint

Iako će US vjerojatno na kraju i dospijeti u sljedeći sprint, podrazumijevati da će tako biti je greška.

S druge strane, ako je ostalo “još samo malo”, možda vrijedi dovršiti US i skinuti ga s vrata jednom i zauvijek. Neka PO odluči 🙂

Nepametna ideja #2: Produživanje sprinta

Ovo je ustvari glupa ideja. Produživanjem sprinta poništavate metrike o kapacitetu tima, brzini rada ili broju US-a koje tim može isporučiti tokom sprinta, a time kvarite i svoju predvidljivost isporuka.

 

]]>
Što kad zadaci dolaze određenom članu tima? https://tododoingdone.com/2017/07/sto-kad-zadaci-dolaze-odredenom-clanu-tima/ Fri, 28 Jul 2017 14:30:26 +0000 http://tododoingdone.com/?p=210 Scrum je metoda kojom tim implementira neki proizvod primjenjujući agilne principe rada. Sav posao kojeg tim radi planira se na razini jednog sprinta i vidljiv je na timskoj ploči. Ne postoji dodatni posao sa strane, niti postoji posao za nekog određenog člana tima.

Scrum je metoda kojom tim implementira neki proizvod primjenjujući agilne principe rada. Sav posao kojeg tim radi planira se na razini jednog sprinta i vidljiv je na timskoj ploči. Ne postoji dodatni posao sa strane, niti postoji posao za nekog određenog člana tima.

Za više detalja pogledajte Može li Scrum tim raditi na više projekata i Što s redovnim poslom koji je van “agilnog” projekta

Stvarni svijet

Posebno je česta pojava u novoformiranim timovima da se zadaci upućuju pojedinim ljudima (imenom i prezimenom). Razloga može biti više:

  • prije formiranja tima ljudi su radili neke poslove koji nisu gotovi pa ih treba dovršiti
  • netko u timu ima specifično znanje kojeg nitko drugi nema
  • nečiji šef želi da baš ta osoba odradi zadatak

Sigurno će se pronaći još koji razlog, no zajedničko svima je očito ignoriranje elementarne postavke Scruma:

Posao dolazi u timski backlog, tim povlači (preuzima) zadatke, ljudi sami u timu određuju tko će konkretno odraditi posao.

Dodjeljivanje zadataka nekom određenom članu tima je znak da okruženje još uvijek nije prihvatilo agilni način rada, i to je svakako nešto na čemu treba poraditi.

Kako u međuvremenu odgovoriti na gore navedena ponašanja?

Konkretni zadatak je iz “prošlog života” određenog člana tima

Osim ako nemamo tim sastavljen od potpuno novih ljudi, sigurno će neki od članova imati zaostatke iz prijašnjih projekata. Ponekad se takav posao naziva i “Business as Usual” (BAU), što je vjerojatno znak da organizacija nije do kraja prihvatila agilni način rada. U svakom slučaju, cilj je osvijestiti da takav dodatni posao postoji i da ga treba napraviti, a da istovremeno odvlači koncentraciju i krade vrijeme za izvršavanje zadataka zbog kojih je tim i formiran.

Najzdraviji pristup je, kao i u cijelom nizu sličnih situacija, vizualizirati taj dodatni posao, naprimjer u posebnoj koloni na timskoj ploči.

Na retrospektivi se može napraviti analiza takvih zadataka gdje će se provjeriti koliko ih je, je li baš bilo nužno da svaki dođe u tim, koliko su utjecali na redovni posao i prema tome reagirati.

Netko u timu ima specifično i jedinstveno znanje

Ništa lakše, uparivanje! Na prvi pogled zvuči nelogično i neefikasno ako dvije osobe rješavaju isti zadatak, ali praksa pokazuje se u našem poslu, koji se temelji na kreativnom radu, uparivanje itekako isplati: podiže se kvaliteta isporuke, posao se napravi brže i manje je repova nakon isporuke. Uparivanjem ćemo također proširiti i znanja koja pojedini ljudi imaju u timu i sljedeći put kad dođe tako specifičan zadatak bit će ga lakše odraditi.

Čak i IKEA preporučuje uparivanje.

Čak i IKEA preporučuje uparivanje.
Čak i IKEA preporučuje uparivanje.

Ukratko, uparujte ljude!

Nečiji šef želi da baš ta osoba odradi zadatak

Ovo je vjerojatno najozbiljniji problem od svih navedenih i ovakvo (šefovo) ponašanje je znak ili nepoznavanja načina rada po Scrumu ili namjerno kršenje dogovora o formiranju tima, njegovoj stabilnosti i neovisnosti.

U prvom slučaju pomaže direktna edukacija (tečajevi, coaching) a vjerojatno je još učinkovitija popularizacija Scruma preko odgovarajućeg ponašanja samih članova tima.

Naprimjer, tim može predložiti da će uzeti zadatak, riješiti ga na timski način i šefu isporučiti rješenje uz objašnjenje kako se radilo.

Kvaliteta i brzina isporuke će vjerojatno biti na višem nivou, što je svakako benefit timskog rada.

Drugi slučaj je puno ozbiljniji. Stav “Moj čovjek je moj čovjek i radit će ono što mu ja kažem” se ne mijenja preko noći, pa i pripadajući odgovori moraju biti pomnije osmišljeni. Često je dobra ideja napraviti eksperiment: naprimjer dogovoriti se da svaki drugi ovakav zadatak ide u tim umjesto pojedinom članu tima i poslije dva ili tri sprinta usporediti rezultate — kvalitetu i brzinu isporuke, utjecaj na redovni timski posao i slično.

Ljudi su razumni i fokusirani na rezultate.

Ako možete pokazati da tim radi bolje od nakupine pojedinaca, onda će i takav način rada vrlo brzo biti prihvaćen.

Ako imate nerazumnog šefa s druge strane onda… što reći, nemate sreće.

Kako god, ovo je tipična situacija u kojoj Scrum Master priprema teren i rješava problem.

Nevidljivi posao

Posebno je opasan posao koji se ne vidi u timskom backlogu. Ovakav posao najčešće dolazi određenom članu tima od njegovog šefa (nadređenog, linijskog voditelja ili koju već hijerarhiju pronalazimo u organizaciji) i jedini savjet kojeg ovdje mogu dati je: vizualizirajte baš sve.

Vizualizirajte baš sve!

Baš svaki posao treba biti vidljiv na timskoj ploči tako da se na kraju sprinta može pokazati koliko se radilo na kojim stvarima i sukladno tome reagirati.

]]>
Što ako članovi tima nisu 100% svog vremena na projektu? https://tododoingdone.com/2017/06/sto-ako-clanovi-tima-nisu-100-svog-vremena-na-projektu/ Wed, 28 Jun 2017 14:08:33 +0000 http://tododoingdone.com/?p=206 Tranzicija na agilni način rada se ne događa preko noći. Pogledajte par prijedloga i nekoliko loših ideja što činiti tokom tog procesa.

Kako sam već pisao u nekoliko navrata, tranzicija na agilni način rada se ne događa preko noći. Tokom tog procesa se organizacije sjete primjenjivati različite hibridne modele, od kojih su većina rezultat nedostatka znanja i nedovoljnog promišljanja, a viđao sam neke koji su čak i besmisleni.

Tako se ponekad pokušava primijeniti model parcijalnog rada na agilni način, a ostatak vremena na “tradicionalni” ili “uobičajeni”. Ovakve kombinacije nisu dobre jer se prema agilnom načinu rada postavljaju kao prema metodologiji, što takav način rada svakako nije.

Potrebno je stoga prebroditi taj prijelazni period tako da se čim prije vide benefiti agilnog pristupa, a to je moguće ostvariti na nekoliko načina.

Posao je posao

Agilne metode rada, pa tako ni Scrum, ne razlikuju ‘agilni’ i ‘redovni’ posao (business as usual), niti propisuju kako se ponašati u tom slučaju. Realno, često članovi tima imaju posla koji nije vezan uz projekt, dakle ne pripada produktu kojeg tim razvija, već je njihov redovni posao ‘iz prošlog života’. Aktivnosti koje tim poduzima u takvim situacijama se mogu svesti pod smanjivanja štete i širenja principa rada van tima i treba ih početi primjenjivati od prvog dana.

Sve je u timskom backlogu

Donesite posao u tim i stavite ga u timski backlog. Ponašajte se prema “vanjskom” poslu kao da je sastavni dio timskog.

Ovo je najbolja opcija jer sad posao postaje odgovornost tima, koji će brže i bolje riješiti zadatak nego netko pojedinačno. Dodatno će se i znanja o tom specifičnom tipu posla proširiti i više će ljudi znati riješiti zadatak. Također će se vidjeti i koliko je tog redovnog posla, koliko kapaciteta tima uzima, kakve su vrste poslova koje dolaze, koliko su ti poslovi “važniji” ili “prioritetniji” od timskog rada na odabranom proizvodu i tako dalje.

Skraćeni timski radni tjedan

Tim radi fokusirano na projektu određenu količinu vremena, recimo 3 dana tjedno, a ostatak tjedna tim ne postoji; članovi tima se vraćaju na svoja stara radna mjesta.Dobra strana ovog pristupa je fokusiranost članova tima u odabranom periodu, ništa ih ne ometa i mogu se u potpunosti posvetiti. S druge strane, kapacitet tima je osjetno smanjen što značajno utječe na planiranje, interakciju s vanjskim svijetom kad naprimjer i korisnici moraju biti dostupni u isto vrijeme i tako dalje.Ako se već odabere ova opcija, onda je bitno da timski dani budu zaredom, naprimjer ponedjeljak, utorak i srijeda, kako bi se zadržao kontinuitet rada i izbjegao multitasking.

Vrlo loša ideja #1: Dijeljenje dana na agilni i uobičajeni posao

Do ručka agilno, poslije ručka na stari način, smiješno i neučinkovito cijelo vrijeme.

Cijepanje dana na dijelove nije funkcioniralo ni prije agilizacije pa neće ni sad, pogotovo ako se očekuje da se članovi tima i fizički vrate na stara radna mjesta. Ako će se ipak svi zadržati na okupu onda se tim vrlo lako može prebaciti na prvu opciju navedenu ranije, odnosno treba i “vanjski” posao staviti u timski backlog i nastaviti raditi kao i to tada.

Vrlo loša ideja #2: Ljudi sami određuju kad su u timu

Loša je opcija da članovi tima sami određuju dane kad su na projektu a kad rade redovni posao, bez usklađivanja s drugima. Ovako praktički nemamo tim već neke ljude koji neovisno rade poslove koje bi trebali raditi kao tim. Postaje nemoguće išta smisleno planirati, i istovremeno se gube svi benefiti izgradnje tima (dijeljenje znanja, povećanje produktivnosti kroz vrijeme itd.)

Vrlo loša ideja #3: Prekratki radni tjedan

I tri dana tjedno za timski rad je prekratko, a da ne spominjem dvodnevne ili čak jednodnevne grozote koje sam tu i tamo vidio. Ako se razmišlja o ovakvim kombinacijama onda se treba zapitati je li organizacija uopće spremna za prelazak na agilni način rada. U takvoj konfiguraciji dodatna je poteškoća i trajanje ceremonija (planiranje, review, restrospektiva) koje sad odjednom oduzimaju previše vremena ljudima za rad.

Tu se organizacije pokušavaju dovijati problemu pa obično razvuku sprint na 3 ili 4 tjedna, no četverotjedni sprint s po jednim fokusiranim danom tjedno je upravo apsurdan koliko i zvuči.

Gdje je stvarni problem?

Stvarni problem je u stavu da je agilni način rada, pa time i Scrum, ustvari skup nekih obrazaca ponašanja. “Stavimo ljude skupa u sobu i agilni smo” ili “Stojimo ujutro 15 minuta i sve će biti super”. Pravi je pristup posvetiti jedan ili više timova ovakvom načinu rada, kroz ciljane i organizirane eksperimente, i nakon nekoliko sprinteva pogledati koji su benefiti, što se očekuje na organizacijskom nivou i mogu li se ta očekivanja ispuniti.

]]>
Što s redovnim poslom koji je van “agilnog” projekta? https://tododoingdone.com/2017/05/sto-s-redovnim-poslom-koji-je-van-agilnog-projekta/ Sun, 28 May 2017 10:45:49 +0000 http://tododoingdone.com/?p=202 Vrlo česta pogreška u postupku usvajanja rada na agilni način (pa u neku ruku i u postupku usvajanja Scruma) je podjela posla na agilni i tradicionalni (waterfall).

Prijelazni period

Ako agilnim načinom rada imamo predvidljivije rezultate, u kraćem vremenu napravimo bolje i više, a ljudi su sretniji i zadovoljniji, čemu onda tradicionalizam? Jednostavno, prebacite se (postupno) na agilni način i to je to.

Naravno, spomenuto prebacivanje nije moguće izvesti preko noći, tako da treba uzeti u obzir i određeni prijelazni period, no taj period treba provesti fokusirano s ciljem lagane tranzicije cjelokupnog toka isporuke vrijednosti. Tokom tog prijelaznog perioda treba biti oprezan i paziti da se usvoje pozitivna ponašanja koja dovode do stabilnog i predvidljivog načina rada, kao što je vizualizacija posla, cijepanje zadataka na jednaku veličinu, ne biti preoptimističan u planiranju i slično.

Iskustva s raznih strana

Moje iskustvo pokazuje da uvijek postoji određena količina posla koje članovi tima trebaju obaviti, a koja nije direktno vezana uz proizvod kojeg tim razvija. To su najčešće neki zaostaci ili specifičnosti koje samo pojedini ljudi u timu mogu odraditi (što je poseban problem o kojem ću pisati kasnije).

Bitno je razumjeti da uvijek postoji određena količina posla koje članovi tima trebaju obaviti, a koja nije direktno vezana uz proizvod kojeg tim razvija

Dobro, koliko je inače “neagilnog” posla?

Naravno da je nemoguće dati univerzalni omjer “agilnog” i “tradicionalnog” posla. Taj omjer ovisi o veličini organizacije, broju inicijativa koje se događaju, broju ljudi, raznovrsnosti tehnologija koje koriste i slično. Primjećujem da su ljudi uglavnom preoptimistični u procjeni količine tog posla, odvajajući nekih 15–20% vremena za takve stvari, i to kad ih se pritisne i kad su poprilično izdašni.

To se svaki put pokazalo premalo. Iz mog iskustva, relativno velike firme (za hrvatske pojmove) s dovoljno uhodanom proizvodnjom softvera i koji su u postupku tranzicije na agilni način rada imaju oko 35% posla “iz prijašnjeg života”. Sa svakim timom nam je trebalo neko vrijeme da dođemo do tog broja, i još malo više vremena da ga uzmemo u obzir tokom planiranja, no može se.

Kako doći do točnog omjera?

Mjerenjem.

Procjene, očekivanja i neutemeljeni optimizam su beskorisni. Tim si treba uzeti u zadatak praćenje svega što radi i već nakon dva ili tri sprinta će imati točan broj koliko njihovog dnevnog posla otpada na produkt zbog kojeg su tu, a koliko na druge stvari.

Procjene, očekivanja i neutemeljeni optimizam su beskorisni.

Mjeriti se može vrijeme provedeno na drugim zadacima, recimo broj sati dnevno koje svaki pojedini član tima provodi “na drugim stvarima”. Ovo je dosta jednostavno, napravite tablicu u excelu i neka svaki član tima na kraju svakog dana upiše koliko je sati “potrošeno” na vanjske poslove. Podijelite svaki zbroj s 40 i eto postotka.

Bolja bi mjera bila gledati koliko zadataka koji se odrađuju ustvari ne pripadaju u timski backlog. U ovom slučaju svi zadaci se vode na timskoj ploči, što dodatno olakšava praćenje i vizualizaciju.

U svakom slučaju, bilo kakva mjera je bolja od nagađanja ili još gore, ignoriranja posla sa strane.

]]>
Može li Scrum tim raditi na više projekata? https://tododoingdone.com/2017/04/moze-li-scrum-tim-raditi-na-vise-projekata/ Fri, 28 Apr 2017 10:23:53 +0000 http://tododoingdone.com/?p=199 Scrum ne zabranjuje da jedan tim radi na više projekata. Ustvari, iz perspektive tima je nebitno iz kojeg formalnog (administrativnog) projekta dolaze zadaci, sve dok dolaze u zajednički timski backlog i dok svi članovi tima, SM i svi PO-ovi znaju što se događa. U ovakvim situacijama je “konflikt” na razini PO-ova tih projekata, odnosno produkata, koji se trebaju dogovoriti što i kojim redoslijedom ulazi u sprint backlog. Tim i dalje radi na uobičajeni način.

Scrum tim ne radi na projektu već na (jednom) produktu

Kako sam već pisao u ovoj seriji članaka, Scrum je metoda razvoja produkata. Projekt je u tom smislu administrativna kategorija i može uključivati jedan ili više produkata (proizvoda), čak se i jedan produkt može razvlačiti kroz više projekata.

Pojednostavljeno, projekti i produkti nisu ista stvar.

Scrum tim, dakle radi na produktu. Što i kojim redoslijedom treba raditi piše u produktnom backlogu, o kojem se brine PO (zajedno s timom). Idealno je kad je backlog popunjen zadacima koji su iz iste domene, odnosno kad su vezani uz isti produkt.

Što kad tim treba raditi na više produkata

Nije rijetka situacija da se u timskom backlogu nalaze zadaci vezani uz više različitih produkata. Iz perspektive tima, potpuno je svejedno iz koje domene (produkta) dolazi zadatak; ako je na vrhu liste ući će u sprint i bit će napravljen. Bitna je stavka kako će pojedini zadatak dospjeti u sprint.

Iz perspektive tima, potpuno je svejedno iz koje domene (produkta) dolazi zadatak

Tu je važno da se vlasnici produkata (Product Owneri) koji koriste usluge tima pravovremeno dogovaraju o prioritetima kako se tim ne bi našao između dvije vatre. Načina i preporuka kako da se PO-ovi dogovaraju ima nekoliko, a svode se na tehnike upravljanja portfeljem, o čemu ću pisati nešto kasnije.

Problemi koji će se zasigurno pojaviti

U nekom trenutku će se sigurno pojaviti konflikt na razini vlasnika produkata, odnosno oba će vlasnika tražiti da se pojedini zadatak nađe na vrhu liste kako bi ušao u sprint backlog. U ovom slučaju je bitno razumjeti da je ta odluka isključiva odgovornost vlasnika produkata i njihovog dogovora; tim iz svoje perspektive može dati prednost jednom ili drugom zadatku (naprimjer iz tehničkih razloga), no odgovornost je i dalje na vlasnicima produkata. Tim mora u potpunosti biti izuzet iz mogućih sukoba na toj relaciji.

Odluka o prioritetima je isključiva odgovornost vlasnika produkata i njihovog dogovora

Dodatni problem je visoki trošak promjene konteksta na kojem tim radi, pogotovo ako produkti nisu dovoljno slični. Zato je preporučljivo da su produkti slični po svojoj prirodi kako bi taj trošak bio čim manji.

]]>