Näin tiimi toimii

Päädyin puolivahingossa pitämään kuluvana syksynä Aallon informaatioverkostojen opiskelijoille kaksi luentoa ryhmäohjelmoinnista. En väitä olevani alan asiantuntija, mutta lukuisten kurssiprojektien sekä Kassin kehityksessä vietetyn ajan perusteella huomasin, että pystyin keksimään aiheesta sanottavaa yhden luentokerran tarpeiksi. Aihetta on sivuttu tässä blogissa jo aiemmin, mutta ajattelin silti dokumentoida tässä vielä tarkemmin, miten Avoin Interactive Oy:n kansainvälinen tiimi tällä hetkellä toimii ja millaisia työkaluja käytämme ryhmätyöskentelyn tukena.

Luennoilla käytin lähtökohtana kolmea kriittistä kohtaa, joissa ohjelmistoprojekti usein menee pieleen. Nähdäkseni ongelmat liittyvät joko alkuvaiheen työnjakoon, puuttteelliseen kommunikointiin projektin aikana tai sitten usean tekijän tuotosten yhdistämiseen kokonaisuudeksi. Näin me ratkaisemme näitä ongelmia.

Työnjako

Työnjakoon käytämme Pivotal Tracker -nimistä verkossa toimivaa työkalua. Se on kerrassaan mainio, ja kaiken hyvän lisäksi vielä meille ilmainen. Työt kirjataan ylös, niille merkitään arvioitu koko sekä tekijä. Kun ominaisuus saadaan valmiiksi, tekijä merkitsee sen järjestelmän kautta tehdyksi. Tämän jälkeen joku muu käy vielä hakemassa vastaavan koodin omalle koneelleen ja tarkistaa, että kyseinen ominaisuus todella toimii, ja että automaattiset testit menevät läpi. Tämän jälkeen ominaisuus merkitään hyväksytyksi ja voidaan siirtää tuotantoversioon.

Pidämme usein palavereita, joissa visioidaan Kassiin uusia ominaisuuksia. Aiemmin nämä jäivät usein kirjaamatta ylös Trackeriin. Syynä oli usein se, ettei ominaisuuden toteutusaikataulu ollut vielä täysin selvillä, ja toisalta ideoinnin tuloksena syntynyt ratkaisu vaikutti monesti niin itsestäänselvältä, että ajattelimme muistavamme sen kyllä varmasti, kun toteutuksen aika tulisi.

Tämä oli aina virhe. Nämä palaverit jouduttiin lähes poikkeuksetta pitämään uudelleen. Ihmisen muisti on lyhyt, ja siksi asioiden kirjaaminen ylös kannattaa aina. Nykyisin olemme petranneet, ja kirjaamme kauaskantoisemmatkin visiot ylös vähintään johonkin Trackerin ”Iceboxin” syövereihin, josta ne myöhemmin tarvittaessa löytyvät.

Viestintä

Viestintä yleensä epäonnistuu, paitsi sattumalta, sanoi Osmo A. Wiio aikanaan, eikä ollut täysin väärässä. Vaikka tunnemme Antin kanssa toistemme kommunikaatiotyylit jo varsin hyvin, väärinkäsityksiltä ei silti aina voi välttyä.

Viestinnässä tehokkain väline on ilman muuta tapaaminen kasvokkain. Koska sattuneesta syystä nämä jäävät kuitenkin tulevina kuukausina vähemmälle, on pärjättävä muilla välineillä. Onneksi olemme aiempien etätyöjaksojen aikana totuttautuneet monien sähköisten viestintävälineiden käyttöön.

Perinteisesti ykkösvälineemme reaaliaikaiseen tekstimuotoiseen viestintään on ollut IRC. Blogimme ensimmäisen vuoden aikana pääosa viestinnästä tapahtui avoimella kanavallamme. Tänä syksynä päätimme kuitenkin hylätä irkin, ja siirtyä käyttämään suomalaisen startupin kehittämää Flowdock-verkkopalvelua.

Flowdock määrittelee itsensä seuraavasti: ”Team inbox with chat”. Tämän tarkasti rajatun asian se tekee erittäin hyvin. Muun muassa kaikki Kassin käyttäjien antamat palautteet päätyvät nyt meillä suoraan Flowdockiin, josta ne on helppo ottaa käsittelyyn ja merkitä vastaamisen jälkeen hoidetuiksi. Nykyaikainen web-käyttöliittymä mahdollistaa muun muassa tehokkaat haut ja sujuvan mobiilikokemuksen, molemmat irkin akilleen kantapäitä.

Flowdockin huonona puolena meidän kannaltamme on, että siitä ei ole mahdollista tehdä kaikille avointa. Big brother -eksperimenttimme on siis toistaiseksi päättynyt. Kokeilu oli kiinnostava, mutta ei ehkä johtanut niihin hyötyihin, joita ajattelimme siitä olevan. Alussa kanavalle ilmaantui muutama kiinnostunut, mutta blogimme seuraajista irkkiä käyttää kuitenkin lopulta niin harva, ettei kanavan avoimuus tarjonnut meille eikä muille juurikaan lisäarvoa. Kanavan logi on edelleen luettavissa verkosta, mutta totuus on, että irkkilogin lukeminen sellaisenaan on aika tympeää puuhaa, eikä kanavalla oikeastaan edes puhuttu mitään niin jännittävää, että menneiden keskusteluiden lukeminen olisi erityisen mielekästä ulkopuolisten näkökulmasta.

Jälleen esiin tulee yksi jo aiemmin havainnoimistamme avoimuuden haasteista: ei riitä, että data tarjotaan avoimesti kenen tahansa saataville, se pitää tarjota sellaisessa muodossa, että siitä on muille hyötyä. Toki tuotakin logia voisi analysoida erilaisilla työkaluilla, ehkä palaamme tähän analyysiin vielä myöhemmin.

Flowdockia täydentää Skype, jolla hoidetaan palaverit, joissa tarvitaan puhe- ja videoyhteyttä. Sen kautta hoidetaan myös mahdolliset kahdenväliset keskustelut, jos niitä tarvitaan. Flowdock on avoinna koko kansainväliselle kehittäjä- ja vapaaehtoiskaartillemme, ja tällä hetkellä siinä on kirjoilla yhteensä seitsemän jäsentä.

Tietojen yhdistäminen

Kaikki tiedostomme tallennetaan Dropbox-kansioon, joka on jaettu koko tiimin kesken. Tekstidokumentit ja taulukot luodaan Google Docsissa, pienempien tekstinpätkien valmisteluun käytetään usein myös Googlen taannoin ostaman Etherpadin teknologiaan perustuvaa Hackpadia. Offline-kokousmuistiinpanoja tehdään Notation Velocityllä, joka synkronoi Simplenoten avulla muistiinpanot automaattisesti muiden koneille ja kännyköihin verkkoyhteyden saatuaan. Viime aikoina olemme harkinneet myös presentaatioiden tekemistä puhtaasti Googlen työkaluilla, mutta tässä ne ovat vielä hieman kankeita, vaikka työkalusta ilmestyikin juuri paranneltu versio. Kaikkia näitä työkaluja yhdistää kuitenkin se, että pystymme työstämään tiedostoja yhtäaikaisesti reaaliajassa, ja muiden syöttämien tietojen tuhoaminen ja vastaava tötöily on vaikeampaa, sillä järjestelmä pitää kirjaa versioista.

Sama idea pätee myös kooditasolla, jossa käytämme Git-versionhallintaa ja keskitettynä repositoriona GitHub-verkkopalvelun avoimen lähdekoodin projekteille tarjoamaa ilmaista tilaa. Vaihdoimme keskitetystä SVN-versionhallintajärjestelmästä hajautettuun Gitiin puolitoista vuotta sitten, ja valinta kannatti jo pelkästään GitHubin takia. Git on myös erittäin hyvä yhdistämään todella monimutkaisia muokkauskokonaisuuksia. Viime keväänä meillä oli kaksi viiden hengen opiskelijaryhmää tekemässä ominaisuuksia Kassiin useiden kuukausien ajan. Tiimit tekivät osin päällekkäistä työtä ja muuttivat samoja tiedostoja. Ominaisuuksien integrointi tuotantoversioon oli haastava projekti, mutta Gitin ansiosta se sujui lopulta varsin sujuvasti.

Yhteenveto

Mielestäni workflowmme on hioutunut kohtuullisen saumattomaksi ja toimivaksi, ja työskentely eri paikoista ja jopa eri maista sujuu kitkatta. Toki meitä kiinnostaa kuulla, onko edellä mainitussa vielä jotain, mitä voisimme tehdä paremmin? Onko olemassa työkaluja tai menetelmiä, jotka tehostaisivat nykyistä flowtamme? Jätinkö mainitsematta olennaisia ryhmätyön ongelmia, joita tekstissä ei mainita? Kaikista näistä kuulemme mieluusti lisää kommenteissa!

Mainokset

Tietoja Juho

Startup-yrittäjä, jonka intohimona ovat yhteiskunnalliset keskustelut.
Kategoria(t): Uncategorized Avainsana(t): , , , , , , , , , , . Lisää kestolinkki kirjanmerkkeihisi.

Yksi vastaus artikkeliin: Näin tiimi toimii

  1. Paluuviite: Uusia tuulia | Avoin yritys

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s