Hyvä tiimi



Kukapa ei haluaisi ohjelmistoprojektiinsa hyvää tiimiä. Mutta mistä sellaisen saa? Ja mikä erottaa hyvän tiimin keskinkertaisesta? katsotaanpa kahta selitystä, konventionaalista ja vähän yllättävämpää.

Selitys yksi: Hyvä tiimi koostuu hyvistä tyypeistä.

Kooderien tuottavuuserot ovat valtavia. Hyvä kooderi käyttää tehtävään viidesosan siitä ajasta joka keskiverrolta kuluu, ja lopputulos on silti monin tavoin parempi. Sama pätee moniin muihinkin ohjelmistotuotannon osiin: arkkitehtuurisuunnitteluun, käyttökokemussuunnitteluun ja myös laadunvarmistukseen. Tämä erottaa kaikki nämä ammatit vaikkapa heinänteosta tai T-fordien kokoamisesta liukuhihnalla.

Jos pääsee valitsemaan tiimiinsä parhaita mahdollisia ammattilaisia joka hommaan, saanee kasaan ainakin melko hyvän tiimin. Tämä on pelkkää tervettä järkeä. Mutta ei aina riitä. Eikä siihen aina ole mahdollisuutta.

Selitys kaksi: entä… jos sen voi luoda?

Ihan yksilöiden taitotasosta riippumatta, hyvän tiimin pitää toimia yhteen. Se myös tarvitsee kelvolliset tilat ja hyvät työkalut. Joel Spolsky tiivistää tarvittavat työkalut ja työolot 12 kohdan listaansa. Ainakin tämän verran ympäristöllä on väliä.

Parikin astetta pidemmälle ajatuksen vie Alan G. Carter luentosarjassaan Programmers’ stone. Jos lukee hyväntahtoisesti ja ohittaa omituisimmat kohdat, Carterin perusidea on, että hyvän tiimin erottaa huonosta se, että jäsenet löytävät oikeanlaisen keskittymisen ja yhteisymmärryksen, ja sitä kautta itse asiassa ymmärtävät mitä ovat tekemässä tavalla, joka on sitä kokemattomalle lähes käsittämätön.

Tälläisen “Kullatun tiimin” [sic] luomiseen tarvitaan tietysti Joelinkin käsittelemät järkevät tavoitteet, hyvät työkalut, rauhalliset työtilat, tiimin pysyvyys, jne, mutta ennen kaikkea mahdollisuus ylläpitää riittävän matalaa stressitasoa.

Carterin mukaan lähes kuka tahansa ohjelmoija voisi olla kymmenen kertaa normaalia tuottavampi, mutta tätä harvoin tapahtuu, koska normaalissa softafirmassa ei ole yksinkertaisesti mahdollista ylläpitää matalaa stressitasoa. Ainakaan kokonaisen tiimin. Lukekaa koko tarina jos haluatte kattavan selityksen.

Carter sortuu välillä hörhöilyn puolelle, ja vetää neurologian tuloksista melko suoraaviivaisia sosiaalisia johtopäätöksiä, mutta perusideassa on järkeä. Kaikista tuskin voi ikinä tulla super-ohjelmoijia, mutta hyvä ohjelmointikyky ei ole geneettinen ominaisuus, vaan jotakin, mitä voi oppia. Ei helposti, vaan vaikeasti. Eikä vain yksikseen, vaan helpommin oikeassa seurassa.

P.S. Sen hyvän tiimin saa tietysti Codentolta 🙂

Tämän artikkelin on kirjoittanut Otso Kivekäs ja sitä ovat sittemmin muokanneet muut Codenton työntekijät.

4 kommenttia artikkeliin ”Hyvä tiimi

  1. “Kaikista tuskin voi ikinä tulla super-ohjelmoijia, mutta hyvä ohjelmointikyky ei ole geneettinen ominaisuus, vaan jotakin, mitä voi oppia.”

    Juuri näin. Erityisesti Spolskyn jutuista paistaa läpi sellainen “jotkut vaan osaa ja toiset ei” -asenne, joka on minun mielestä aikansa elänyt. Toki rekrytointivaiheessa pitää jo osata, mutta Spolskyn ja Paul Grahamin jutuista jää helposti sellainen fiilis, että tämä ohjelmointiala on tarkoitettu vain muutamille valituille. Minun mielestä tällaista johtopäätöstä ei yksilön kannata tehdä, vaan pikemminkin sellainen, että jos asenne on kohdallaan, niin miltei kenestä tahansa voidaan tehdä huomattavan paljon tuottavampi koodari.

    Yleisessä käsityksessä sisäsyntyisten ominaisuuksien merkityksestä on toivottavasti vähitellen tapahtumassa muutos, koska tutkimustieto on osoittanut että ainoa luotettava korrelaatio tietyn alan asiantuntijuudelle on siihen käytetyn määrätietoisen harjoittelun määrä. Se tietysti vaatii mukavuusalueen ulkopuolelle menemistä ja

    Aiheesta löytyy lisää esim. K. Anders Ericssonin tutkimuksista ja kirjoista.

    Mutta mikä tärkeämpää, myös oma asenne sisäsyntyisten ominaisuuksien merkitykselle vaikuttaa omaan suorittamiseen ja intoon harjoitella. Jos nimittäin uskoo, että omaa älykkyyttä ja taitoja rajoittaa synnynnäiset ominaisuudet, niin tulee luovuttaneeksi hyvin nopeasti vaikeiden ja paljon työtä vaativien haasteiden kanssa. Jos taas uskoo, että omat kyvyt ja taidot ovat kehitettävissä, niin vaikeuksien ja haasteiden edessä käyttää entistä enemmän tarmoa ja kovaa työtä, jolloin myös saa ongelmat hyvin paljon todennäköisemmin ratkaistuakin. (Ja siinä kovan työn ohessa tulee varmasti jotain opittuakin.) Tätä on tutkinut ja popularisoinut Carol Dweck.

  2. Meillä oli mielenkiintoinen keskustelu siitä, mikä erottaa hyvän ja stellaarisen kehittäjän toisistaan. Itse argumentoin sitä, että erottava tekijä on sattuma.

    Kyseessä on sama argumentti, että miksi ilmataisteluiden historiassa on aina lentäjä-ässiä. Tässä yksi netistä löytyvä argumentointi siitä, miksei Punaisen Paronin sattumanvaraisen menestymisen todennäköisyys olekaan 10^-24 vaan lähempänä 30 prosenttia.

    Lahjakkaita, oppineita ja hyviä ohjelmoijia on paljon. Se on opittu taito (joskin en suotu kokonaan sulkemaan pois biologisia taipumuksia – lievä Aspergerin taudin muoto on teknisellä alalla yleisempää – mutta onko kyseessä syy vai seuraus ei taida olla selvää.)

    Mielestäni se, tuleeko hyvästä ohjelmoijasta todella stellaarinen guru riippuu pääasiassa siitä, millaisia haasteita, työpaikkoja ja tilanteita sattuma tuo vastaan. Nämä voivat olla hyvinkin pieniä sattumia, kuten vaikka erään henkilön leipiintyminen Minixiin, jotka saattavat käyntiin paljon suuremman tapahtumaketjun joka heittää hyvän koodaajan haastaviin mutta osaamista kerryttäviin tilanteisiin.

    Tämän opetus ei mielestäni ole se, että pitäisi hakea stellaarisen hyviä koodareita, vaan se, että jokaisessa hyvässä ohjelmoijassa on melkein äärettömästi kasvupotentiaalia – sopivassa ympäristössä.

  3. Kim: kumpaakin, sanoisin.

    Codenton rekryprosessi on jo partnereillekin tiukempi kuin mitä usein näkee tylntekijöitä palkattaessa Suomessa. Ja työntekijöiden osalta olemme ehkä liiankin nirsoja.

    Mutta ei pidä vähätellä myöskään työoloja. Ainakin omalta osaltani olen huomannut omalla työhuoneella olevan suuri merkitys työn laadulle. Jopa sellainen yksityiskohta kuin oma, aina saatavilla oleva niittari on yllättävän tärkeä

    Ehkä oleellisempi on kuitenkin yrityskulttuuri, jossa työntelkijöiden jaksamisen rajoja ei ole tehty ylitettäväksi, ja projektit joskus valmistuvat. Eikä niitä tarvitse sen jälkeen enää tehdä.

    Meni nyt vähän mainospuheeksi, mutta itseppä kysyit 🙂

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *