U prvim danima FishingBookera nije bilo zvanične metodologije kojom smo pristupali razvoju proizvoda. Seli bismo, dogovorili bismo se na kojim funkcionalnostima treba da se radi i onda ih napravimo. Bez ikakvih rokova. Bez code reviewa. Bez automatskog testiranja. Delovi proizvoda su se razvijali brzo, ali zbog manjka vremena utrošenog na istraživanje, često su i standardni slučajevi (golden path) bagovali, a da ne pričamo o ivičnim.
U to vreme, programer je bio i programer i produkt menadžer i QA i samo se čekala eskalacija. Prvi programerski ustanak se desio 2017. godine i tada je između ostalog usvojena i Shape Up metodologija kao način upravljanja proizvodom.
Ovim tekstom želimo da približimo Shape Up metodologiju pre svega inženjerima i produkt menadžerima.
Ideja nam je da uputimo potencijalne nove kolege u to kako radimo i šta mogu da očekuju ako nam se pridruže.
Imamo proces koji prilično dobro radi, ponosni smo na to i nadamo se da će vas to dodatno zainteresovati da se i sami oprobate u Shape Upu, ili priključite FishingBookeru.
Od čega se sastoji Shape Up metodologija
Prema Shape Upu, rad na bilo kakvoj funkcionalnosti ima 3 glavne faze:
- Shaping
- Betting Table
- Building
Faza: Shaping
Owner: Produkt Menadžer
Shaping je faza u kojoj se usaglašavamo oko toga šta tačno treba da se uradi. Produkt menadžeri zajedno sa inženjerima i dizajnerima analiziraju problem koji korisnici imaju, razmatraju kako sve može da se pristupi rešavanju, i šta sve može da pođe naopako (koji su sve rizici, i kako možemo da ih zaobiđemo).
Shaping nije izlistavanje detaljnog spiska taskova, niti crtanje high fidelity dizajna.
Rezultat shapinga je postavljanje glavnih smernica, okvira i ciljeva koje želimo da postignemo razvoje ili unapređivanjem funkcionalnosti.
Za razliku od SCRUM-a, Shape Up nema procene koliko će neka funkcionalnost dugo da se razvija. Shape Up uvodi pojam “apetita”. Apetit predstavlja koliko vremena, samim tim i novca, je firma spremna da uloži u razvoj neke ideje. Tokom shaping faze, važno je odrediti i apetite za svaku od predloženih ideja, da bismo znali koliko će svaka od njih da nas košta.
Retko ko voli estimate, a još manje ko ume da ih pogodi. Obim posla u trenutku davanja estimate-a se gotovo nikada ne poklapa sa onim što se napravi na kraju. Obično se tokom razvoja svašta dodaje, menja, i obim posla se neretko proširuje. Estimate to ne uzima u obzir. Kod apetita, situacija je obrnuta. Vremenski okvir je fiksan, a količina toga šta treba da se uradi je varijabilna, i ceo tim učestvuje u donošenju odluka šta može da se napravi.
Funkcionalnosti se po apetitu dele na 2 grupe: big-batch i small-batch.
Složenije stvari, na koje smo spremni da odvojimo svih 6 nedelja ciklusa da se naprave, svrstavamo u big-batch. U small-batch svrstavamo one sa apetitom do 2-3 nedelje.
Tokom jednog ciklusa, jedna grupa ljudi (projektni tim) može da odradi 1 big-batch, ili 2-3 small-batch projekta. Da bi se odlučilo koje tačno od svih predloženih ideja će se realizovati, Shape Up uvodi ceremoniju betting table.
Faza: Betting Table
Owner: Produkt Leadovi/CEO
Betting table predstavlja sastanak koji se dešava pre početka svakog ciklusa, na kome product leadovi biraju funkcionalnosti na koje se “klade” da će doneti značajnu korist biznisu. Zašto termin “klađenje”? Zato što ne možemo sa sigurnošću da znamo ishod dok ne testiramo sa pravim korisnicima.
Da bi odluka bila doneta na što bolji način, posao produkt menadžera tokom shaping faze je da što bolje raščlani i opiše ideju, u formatu koji je dovoljno koncizan i dovoljno informativan, sa osvrtom na vrednosti koje ta funkcionalnost donosi, potreban apetit i potencijalne probleme.
Dakle, cela procedura je sledeća: svi mogu da predlože ideje bilo kad, produkt menadžeri uz konsultacije sa inženjerima, dizajnerima i data timom deriskiraju i definišu smernice tokom shaping faze, i tokom betting table-a product leadovi donose odluku šta od toga će da se razvija tokom ciklusa. Zatim, kreće build faza.
Sve ono na šta se nismo opkladili u ovom ciklusu, može da bude opet izneto na neki naredni betting table, a i ne mora nikad. Shape Up je protiv formiranja backloga. Ne postoji garancija da će projekat biti rađen u narednom ciklusu samo zato što u trenutnom vidimo da neće biti vremena za isti, već se “klađenje” za svaki ciklus radi od nule, na osnovu prioriteta firme u datom trenutku. Naravno, u praksi se može desiti ponekad da se određeni delovi projekta prenesu u sledeći ciklus, ali i na njih se svakako primenjuje ista procedura.
Faza: Build
Owner: Inženjeri i dizajneri
Tempo rada tokom build faze je organizovan na sledeći način:
- 6 nedelja traje ciklus (aktivan rad na razvoju proizvoda)
- 2 nedelje traje cooldown (period rezervisan za sređivanje tehničkog duga, dovršavanje i rešavanje sitnih problema)
Ciklus je nešto nalik sprintu po SCRUM-u. Tim inženjera i dizajnera radi na jednoj ili više funkcionalnosti, koje su pre toga dobro definisane i deriskirane (shaped). Najkasnije na kraju ciklusa, sve izmene treba da završe na produkciji, dostupne korisnicima.
Zašto sprintovi od 6 nedelja a ne 2?
S jedne strane, mesec i po dana je dovoljno dugačko da se razviju značajne celine.
S druge strane, 6 nedelja je dovoljno kratko da, ukoliko neka veća promena prioriteta naiđe, nove ideje ne čekaju dugo da bi došle na red.
Shape Up nas uči da na razvoj gledamo iz ugla: “hajde da napravimo najbolju moguću verziju funkcionalnosti, za zadato vreme, a koja postiže zadati cilj”. S tim u vezi, na kraju ciklusa nije važno čekirati sve stavke sa to-do liste. Važno je odrediti prioritete tako da se na kraju lansira smislena celina.
Što se tiče bagova, oni se posmatraju kroz potpuno drugu priču. Jedna od važnih poruka koju Shape Up promoviše je “ne mora svaki bag da bude rešen”. Pod tim, ne misli se na smanjenje kvaliteta onoga što se daje korisnicima, već nas tera da uvek preispitujemo odluku da li je problem vredan rešavanja. Neki bagovi će se onda posmatrati kao posebni small-batch projekti, neki će se rešavati usput, neki će se jednostavno ignorisati dok im prioritet (vrednost) ne poraste.
Šta sve ovo znači za mene?
Ako sam inženjer?
Radićeš u samostalnom kros-funkcionalnom timu, sa dizajnerima, QA i data inženjerima. U određenom periodu bićete fokusirani na jednu funkcionalnost, i to baš onu za koju smo se opkladili (betting) da će doneti biznis vrednost.
Vrlo brzo ćeš moći da primetiš doprinos koji tvoj rad donosi u odnosu na širu sliku.
Nećeš kodirati stavke sa to-do liste koju je neko “izdiktirao”, nego ćeš ravnopravno učestvovati u definisanju i određivanju najboljeg pristupa.
Ako sam produkt menadžer?
Tvoj glavni fokus biće razumevanje korisnika, i osmišljavanje rešenja za njihove probleme, koja istovremeno doprinose biznisu.
Odluke ćeš donositi bazirane na podacima, zajedno sa svojim timom.
Nećeš se baviti planiranjem roadmapa za celu godinu, niti prioritizacijom backloga.
Nećeš biti projekt menadžer koji je zadužen samo za isporuku.
Zaključak
Ovo je naš pokušaj da vam u najkraćim crtama približimo kako mi to radimo.
Spomenuli smo neke nove pojmove koje Shape Up podrazumeva: shaping, betting table, cycle, cooldown, appetite, big-batch, small-batch.
Trudili smo se da budemo koncizni. Ukoliko smo vas zbunili ili pak zaintrigirali, sve ovo je odlično objašnjeno u knjizi kompanije Basecamp u kojoj je metodologija i osmišljena. Nije nam bio cilj da je prevodimo celu u ovom članku 🙂
Ako vas interesuje da pročitate više detalja, evo linka: https://basecamp.com/shapeup