Vsebina
- Filozofija programske opreme: od slapa do okretnosti
- Prevajanje MAU v zahteve
- Kako igre delujejo
- Manifest za agilni razvoj programske opreme
- "Hitro premikaj in lomi stvari"
- Dan v življenju Wooge
V zadnjih nekaj letih se je zgodilo nešteto dogodkov o temi, ki ostaja sporna točka v industriji iger: kakšen je najboljši način za izdelavo Facebook igre? Ne pretvarjam se, da imam odgovor "vseeno", kajti tisto, kar pri nas pri Woogi deluje, lahko drugje propade. Toda tistim, ki delajo na projektu, za katerega se zdi, da lahko kar zapusti, toplo priporočam, da razmislite o nekaj temeljnih načelih, ki so skupinam pri Woogi pomagale pri vodenju projektov do uspeha.
Lani sem imel predstavitev z Mattesom Groegerjem, enim od Wooginih inženirjev, na Flash on the Beach v Brightonu. Tam je spregovoril o številnih praktičnih izzivih razvijanja ogromnih iger z metodo Agile. Te težave je pokazal z enim od naših nekdanjih projektov, ki temeljijo na Flash, čeprav ga je mogoče prilagoditi kateremu koli drugemu jeziku ali platformi.
Moj poudarek je bil na splošnem pogledu in na to, kakšni izzivi se pojavijo med proizvodnim procesom in kako poživiti projekt z učinkovitim razvojem. Posebej je bila izpostavljena filozofija, ki je Woogi omogočila, da ustvari odlične ekipe, ki dosegajo neverjetne stvari.
Filozofija programske opreme: od slapa do okretnosti
Omeniti je treba tudi, da ta spoznanja ne temeljijo le na mojih izkušnjah kot tehnični direktor Wooge, ampak tudi na mojih petih letih v Jambi, kjer sem uporabil več projektnih metodologij; od razvoja programske opreme do freestylea, do slapa (zaporedno načrtovanje in obdelava) in kmalu po Agile metodologiji (komunikacijski procesi in prilagodljiva programska oprema) pri berlinskem Rocket Internetu.
Preden gremo v podrobnosti, si najprej poglejmo, kje danes stoji Wooga glede mesečnih aktivnih uporabnikov (MAU) - splošno sprejetega standarda za merjenje ranga razvijalca Facebooka. Smo razvijalec socialnih iger številka ena v Evropi in že kar nekaj časa. Po vsem svetu z EA trepetamo med drugim in tretjim mestom, a zaradi argumenta recimo, da smo tretji največji na svetu. Zdaj lahko to zveni kot tržna dejstva, vendar imajo tudi pomembne tehnične posledice.
Prevajanje MAU v zahteve
Z 48 milijoni igralcev po vsem svetu na mesec lahko eden od naših naslovov - ena igra - vidi več kot 14 milijard zahtev na mesec ali 100.000 operacij DB na sekundo. Več informacij o tem je mogoče videti v predstavitvi "1.000.000 dnevnih uporabnikov in brez predpomnilnika", ki jo je vodil Jesper Richter-Reichhelm, vodja inženiringa v Woogi, vendar so tehnične posledice tovrstnih številk takoj očitne.
[slideshare id = 9875360 & doc = 2011-10-24-splash-jesper1024x768-111025103448-phpapp01]
Delovno okolje igra pomembno vlogo pri tem, kako se spoprijeti s težo teh številk - zlasti pri tem, kako ustvarimo učinkovito in uspešno ekipo razvijalcev.
Kako igre delujejo
Proces izdelave iger predstavlja programsko vrsto edinstvenih izzivov. Eno vprašanje je, da je treba hitro zasnovati in razviti prototipe, ne da bi nujno vedeli, kako bo videti končni izdelek. Drugič, sprejetje morebitne odstranitve nekaterih funkcij in nato izvajanje te naloge lahko za odgovorno ekipo povzroči težave.
Poleg tega lahko spopadanje s kompleksnimi konfiguracijami ali različno poslovno logiko povzroči veliko težav. Četrti izziv je razviden iz obsežnega a / b testiranja, ki lahko odvzame čas, ki ga ekipa ne želi nujno vlagati, ali pa se preprosto zdi izguba časa, kadar obstajajo druge pereče situacije, ki se zdijo pomembnejše. Vse to so poštene točke, vendar ne morem poudariti, kako pomembno si je vzeti čas za spremljanje in optimizacijo delovanja izdelka pred in zlasti po izidu.
Manifest za agilni razvoj programske opreme
Osebne izkušnje so me naučile, da je za soočanje s temi izzivi potreben dinamičen pristop k vodenju, ali še bolje, pomanjkanje le tega. Zato smo čim bolj globoko uporabili Manifest za razvoj programske opreme v okviru Woogine filozofije dela.
Trudimo se poudarjati posameznike in interakcije. To je razvidno iz našega delovnega okolja, kjer vedno poskušamo poudariti učinkovito notranjo komunikacijo in se izogniti preveliki skrbi za delovna orodja in procese, ki nimajo drugega namena kot to, da subjektivno premišljujejo o najboljši poti naprej.
Če nadaljujemo s tem, je postopek izdelave prototipov (dejansko ustvarjanje delujoče programske opreme s ponovitvami) za nas pomembnejši od pretirane in dolgotrajne dokumentacije.
"Hitro premikaj in lomi stvari"
"Premakni se hitro in zlomi stvari" je citat Marka Zuckerberga, ki je od takrat postal znan med tehnološkimi podjetji. Nove zaposlene spodbujamo, naj tak odnos sprejmejo že od samega začetka. Če želimo to mantro jemati resno, je v delovnem okolju dovoljeno in morda celo potrebno.
Drug pomemben vidik ustvarjanja nove programske opreme je hiter in učinkovit odziv na spremembe. Nikoli ne sledite načrtu, izberite najboljšo rešitev in jo raje uporabite. Ostati prilagodljiv je ključnega pomena za uspeh.
Dan v življenju Wooge
Wooga ni navadno podjetje in na to smo bili vedno ponosni. Temelj tega pristopa je način strukturiranja naših skupin. Omogoča svobodo in prilagodljivost - dva temeljna elementa za uspeh -, a tudi preseneča ljudi.
Pri Woogi verjamemo v majhne igralne ekipe, ki jih sestavljajo le tri vloge: oblikovalec iger, inženir in umetnik. Noben vodja, okviri ali procesi v tradicionalnem smislu niso potrebni, saj posameznik prevzame odgovornost za opravljeno delo.
Če gre kaj narobe, se člani ekipe ne morejo obtoževati, ker so vsi sodelovali. Če se skupina dobro znajde, si vsi delijo uspeh. Kot smo že omenili, je primerna komunikacija med člani ekipe ključna za dobro sodelovanje ekipe in za uspeh izida.
Z leti sem se naučil, da za dosego stvari ne gre za procese in da je biti gibčen vedno na prvem mestu. Naša filozofija, ko se ukvarjamo z vsemi stvarmi od preizkusa a / b do preverjanja kakovosti, temelji na tem, da smo spretni. Odprtost za nove ideje, učinkovita komunikacija in prilagodljiv odziv je Woogi pomagal ustvariti odlične družabne igre, v katerih lahko uživa vsak.
Če želite še enkrat prisvojiti Marka Zuckerberga: "Ostanite zbrani in nadaljujte s pošiljanjem".