March 6, 2011
Scrum
Slovenske internetne firme zahtevajo top znanje in talent od strokovnjakov za uporabniško izkušnjo, pričakujejo genialnost in vrhunsko znanje od programerjev. To je super! Ko pa pride do vodenja projektov, se iz neznanega razloga pogosto obnašajo, kot da ta stroka sploh ne bi obstajala.
Delovno mesto vodje projekta tako zavzamejo osebe z bazičnim generalnim znanjem o internetni panogi ter dobrimi komunikacijskimi sposobnostmi. Poleg tega je za zaposlitev pomembna še veščina pisanja e-pošte, izdajanje faktur ter avtoritarno teženje vsem vpletenim, naj se za vraga držijo obljub … In to je celotna metodologija!
Posledice: Projekti slabe kakovosti zaključeni z do 3-kratno zamudo z razočaranim naročnikom, ki ne naroči več in nemočno ekipo, ki je delala veliko in pod ogromnim stresom, pa se vendarle spet ni dobro končalo.
Pred dvemi leti sem prvič spoznal, da je vodenje projektov stroka (via @tilentravnik). Stroka s svojimi metodami, znanji in triki, kot vsaka druga stroka. Spoznal sem tudi, da metodologija agilnega vodenja Scrum ali vsaj nekateri njegovi principi ključno prispevajo k rezultatom na vseh ravneh. Letos, ko smo (Domenca Labs) organizirali prvo Slovensko izobraževanje certificiranje pa sem tako kot 20 drugih udeležencev postal tudi Certificiran Scrum Master.
Kaj je sploh Scrum? Metoda agilnega vodenja projektov, ki jo uporabljajo vse resne razvojne firme, ker naj bi trikratno povečal učinkovitost ekipe. (wikipedia.org/scrum) ..
Zase težko rečem, da sem svoje razmišljanje že totalno scrumificiral. To me še čaka. Sem pa vsekakor izkusil ogromne prednosti v primerjavi z internetnimi projekti “na ključ”.
Ni pretvarjanja, da vemo kaj delamo.
Dejstvo je, da niti največji strokovnjaki ne vedo, kakšen bo naslednji Facebook? Ali bo naš projekt “vžgal” pri uporabnikih in nam prinesel finančni uspeh, je vedno vsaj deloma ugibanje. Scrum vkomponira to ugibanje v proces. Ker na začetku premalo vemo, zgradimo najmanjšo možno različico produkta, ki še ima vrednost za uporabnike in posel in na njej poceni stestiramo hipotezo.
Ko postane jasno, da nekaj učinkuje, sledi naslednja poceni verzija projekta, ki temelji na fidbeku na predhodnjo različico. Tako se izognemo pogosto ogromni nepotrebni strateški dokumentaciji, ki predvideva delo za mesece in leta vnaprej.
Pogosta zabloda klasičnih projektov je vztrajanje pri desetinah funkcionalnostih dvomljive vrednosti enostavno zato, ker so bile na začetku domišljene in specificirane. Zato je zgodovina softverskih projektih polna primerov, ko se je zgradil (in investiral) jumbo-jet, čeprav so uporabniki in trg potrebovali lahko jadralno letalo.
Naročnik je močneje vpleten v nastanek projekta in ga usmerja
Ker naročnik po metodologiji Scrum vsakih 14 dni (odvisno od dolžine sprinta) preživi en dan z njimi, točno ve, v katera projektna dela vlaga svoj denar. Osebno pozna vse (!) člane ekipe in točno ve v kakšno ekipo investira svoj denar. Posledično naročnika med projektom in na koncu projekta nič posebnega ne preseneti.
Scrum tako ne tolerira black-boxa, v katerem bi se strokovnjak ali ekipa lahko pretvarjala, da ustvarjajo raketno znanost. Scrum tako tudi nikakor ne tolerira naročnikov, ki ne želijo biti vpleteni v lastne projekte ali nimajo časa zanj!
Manj zamud
Pri Scrumu se ekipa in posameznik zaveže, točno koliko bo narejenega v kratkem času (naslednjem sprintu), zato je odgovornost skoncentrirana na posamezniku oz. ekipi, ki se je za nalogo zavezala. Ob klasičnih pristopih projektnega vodenja večino odgovornosti nosi vodja projektov, ki mora edini stopiti pred naročnika.
Odgovornost Scrum ekipe povzroči, da nezreli, nedisciplinirani in neprofesionalni “slepi potniki” odpadejo iz ekipe po naravni poti.
Boljša ekipna klima
Občutek zaključevanja v skladu z obljubami je neprecenljiv. Zaradi boljše komunikacije in dnevnih sinhronizacij je v Scrum ekipah stalen občutek aktivnosti in narejenega. Ker posameniki dnevno poročajo o težavah, se stari grehi ne nabirajo. In ker je planiranje lastnega časa tako pomemben del metodologije, je malokdo prisiljen v nadure in ekipa ima v petek ob treh čas za pivo. Ker se velik del načrtovanja produkta in prioritiziranja projekta zgodi sproti, se člani ekipe čutijo avtorji produkta, ki ga delajo, kar pomembno vpliva na kakovostno delo in motivacijo.
- – -
Nekaj odprtih vprašanj, dokler se v celoti ne scrumificiram:
- Kako v Scrum vpeljati člane ekipe, ki niso ves čas na ekipi, na primer oblikovalec?
- Kako učinkovito vpeljati Scrum v ekipo, ki se oklepa dela po starem?
- Kako uporabiti Scrum metode na mini projektih, na primer 3 ljudje, 1 teden?
- Kako prodati Scrum v okolju, kjer so vsi navajeni “projektov na ključ”?
- Kako razložiti Scrum pristop na Pitchu?
