Olen ollut ohjelmistoalalla kymmenisen vuotta. Kollegoita kahdesta kahteen tuhanteen ja vastuuta milloin ohjelmistosuunnittelusta, milloin projektien johtamisesta. Tällä alalla usein sivuutetaan työkalu, joka on hyödyllinen niin tekijöille kuin johtajillekin, pienimmästä liiketoiminnasta suurimpaan.

Kyseessä on luovuus. Sillä on positiivinen kaiku ja silti se jää vajaakäytölle hyötyynsä nähden. Sääli, sillä syynä on vain tiedon puute. Moni ei tiedä miksi luovuus on tärkeää ja miten se otetaan käyttöön. Haluan valaista asiaa omasta näkökulmastani ja aloitan vastaamalla kysymykseen...

Mitä luovuus on?

Luovuus minulle tarkoittaa, että luon jotain uutta ja merkityksellistä. Esimerkiksi kun kirjoitan koodia, luon jotain uutta. Ja se on merkityksellistä, koska se vie kohden jotain ratkaisua. Koodi olisi myös uutta, jos hakkaisin vain näppäimistöä: ahfdspudhfösadjhfpsi, mutta se ei ole luovaa, koska tuossa ei ole mitään järkeä. Toisaalta voisin kopioida ratkaisun sellaisenaan käyttöön. Silloin etenen kohti ratkaisua, mutta en luo uutta. Otan vain käyttöön aikaisemmin luotua. Luovuuden ideana on, että minä luon jotain uutta ja merkityksellistä.

sovelluskehitys koodari luovuus

Luovuus ei ole 1 tai 0. Eli sitä joko olisi tai ei. Se on asteikko 0-1-> Eli mielestäni ei voi olla 0-luovuutta, että sitä ei olisi lainkaan. Tai sen puoleen 1-luovuutta, etteikö sitä voisi olla lisää. Se on siis asteikko.

Mikä sitten erottaa 0,1-luovuuden 0,9-luovuudesta? Ehkä se on se luovan prosessin helppous? Jos on vain tottunut kopioimaan muilta tai painamaan nappia linjastolla, uusien vaihtoehtojen luominen voi olla hankalaa. Tämä on aina tehty näin, miten muka voisi tehdä toisin? Ja mitä järkeä siinä olisi, kun on jo olemassa ratkaisu? Luovemmalle henkilölle vaihtoehtojen kuvittelu voi olla yhtä helppoa kuin hengittäminen. Tämän voisi tehdä näin, tai näin, tai näin...

Jos olen luova, luon siis jotain uutta ja merkityksellistä. Luovuuden asteeni mukaan se on minulle helpompaa tai vaikeampaa. Tämä lienee tarpeeksi hyvä ote liukkaasta termistä. Luovuus tulee käytännössä esiin vastaamalla seuraavaan kysymykseen:
 

Miten luovuus näkyy ohjelmistokehityksessä?

Jos johonkin ongelmaan on jo olemassa ratkaisu, se kannattaa kopioida sellaisenaan. Miksi keksiä pyörä uudelleen, jos toimiva ratkaisu on jo tehty? Se on jo kertaalleen mietitty toimivaksi ja voi sisältää oletuksia tai varautumista olosuhteisiin, joita itse ei välttämättä osannut ajatella. Pitää toki käyttää kriittistä ajattelua ja varmistaa, että kyseinen koodi sopii sellaisenaan tilanteeseen.

Kun en käytä valmista, luon uutta. Silloin luon ainutlaatuisen ratkaisun, jota ei ole koskaan ennen luotu. Se on inspiroivaa!

Olen luovimmillani hiljaisessa tilassa, jossa on rauhaa ajatella. Ehkä töistä johtuen yleensä tietokoneen ääressä. Ideoita syntyy toki muulloinkin, etenkin silloin kun on joku iso asia tai ongelma, joka pyörii päässä. Silloin inspiraatio voi iskeä esimerkiksi imuroidessa tai koiran ulkoilutuksessa.

Ohjelmistokehityksessä on monenlaista luovuutta. Suurelta osin siinä etsitään paras ratkaisu ongelmaan olosuhteet huomioiden. Esimerkiksi koodauksessa valintoja on jatkuvasti: Mikä on kuvaavin muuttujan nimi ja sopivin tyyppi? Mihin piirretään luokkien rajat ja miten suunnittelen rajapinnat?

Perinteisempää luovuutta edustaa esimerkiksi käyttöliittymäsuunnittelu. Siinä on tarkoitus ratkaista ongelma, esimerkiksi kuinka tieto esitetään mahdollisimman helppolukuisesti, ja toisaalta saada ratkaisusta viehättävän näköinen. Muita esimerkkejä perinteisestä luovuudesta ovat muun muassa nettisivun ulkoasun suunnittelu tai sähköpostien ja dokumentaation kirjoittaminen.

sovelluskehitys koodari luovuus

Kun aloitetaan uusi ohjelmistokehitysprojekti, vaatimusten koonnin jälkeen ratkaisun suunnittelu puhtaalle pöydälle on hyvin luovaa. Suunnittelijat voivat melko vapaasti valita mitä työkaluja käytetään, mitä arkkitehtuuria, mitä rakennusprosessia ja niin edelleen. Toisaalta, jos jatketaan jo olemassa olevan projektin ylläpitoa tai kehitystä, siinä aikaisemmin tehdyt ratkaisut tuottavat työlle rajoitteita. Vaikka projektissa ei ole samanlaista vapautta valita ratkaisuja, työskentely rajoitteiden kanssa vaatii luovuutta. Esimerkiksi kuinka ratkaistaan tietty ongelma jo käytössä olevan teknologian puitteissa tai käytössä olevaa arkkitehtuuria laajentaen.

Luovuudesta on siis hyötyä ohjelmistokehityksessä. Minkä takia luovuuden kannattaisi olla korkealla asteella? Toisin sanottuna...

Miksi luovuus on tärkeää?

Luovuus on tärkeää muun muassa ongelmanratkaisussa, joka on ohjelmistokehityksen keskeisin piirre. Ratkaisija luo erilaisia vastausvaihtoehtoja, joista sitten valitaan soveltuvin. Mitä luovempi prosessi on, sitä enemmän ja erilaisempia vaihtoehtoja ja sitä sopivampi vaihtoehto löytyy kyseiseen ongelmaan konteksti ja rajoitteet huomioiden.

Henkilökohtaisella tasolla luova henkilö tekee parempia päätöksiä. Esimerkiksi uravalinta. Sanotaan vaikka, että olen kahvilatyöntekijä. Työ on kivaa, mutta palkka kehno ja erikoiskahvien tekeminen ei tyydytä. Käyttämällä luovuuttani voin punnita useampia uravaihtoehtoja ja päätyä vaikka sovelluskehittäjäksi.

ohjelmistokehitys koodari luovuus

Organisaatiotasolla luovuus on tärkeää siksi, että saadaan sopivampia ratkaisuja. Sopivimman ratkaisun toteuttamisessa ja ylläpidossa aikaa ja rahaa kuluu vähiten. Asiakas on tyytyväisempi, kun saa tarvitsemansa ratkaisun eikä maksa ylimääräisestä tai tehottomuudesta.

Onko insinöörityössä tilaa luovuudelle?

Sovelluskehittäjä Waltteri Turunen, kehittämispäällikkö Kaisa Spilling, luovuusasiantuntija Krista Launonen sekä filosofi Lauri Järvilehto puhuivat luovuudessa Sitowisen The Smart City Morning Talks -tapahtumassa.
insinöörityö luovuus

Luovuutta voidaan ajatella myös kääntäen. Matalalla luovuuden tasolla:

  • ei synny innovaatioita. Innovaatio on tuotteistettua luovuutta, joten matalan luovuuden organisaatio joutuu matkimaan muita. Luova organisaatio voi innovoida itse.
  • ei näe kaikkia vaihtoehtoja. Silloin turvaudutaan perinteisiin ratkaisuihin, jotka eivät ole kustannustehokkaita eivätkä joustavia. Nostaa kehityksen kustannuksia sovittaa neliö kolmionmuotoiseen aukkoon. Luovat kehittäjät pystyvät luomaan räätälöityjä ratkaisuja.
  • monimutkaisia ongelmia on hankala ratkaista. Niitä ei voi ratkaista 5 minuutin YouTube-videolla tai nopealla internethaulla. Ongelmat joudutaan siis rajoittamaan yksinkertaisiin, jotka eivät tuota niin paljon rahaa.
  • ei näe markkinarakoja tuotekehityksessä. Ei osaa tunnistaa mihin tarpeeseen tuote voidaan luoda.
  • ei osata reagoida kriiseihin tai odottamattomiin bugeihin. Niitä kohdatessa täytyy osata kuvitella eri vaihtoehtoja, josta lähteä etsimään poispääsyä ja ratkaisua.
  • ei voi jatkokehittää ideoita. Tuote kehitetään sellaisenaan, kuin se on määritelty eikä mietitä kuinka sitä voisi parantaa tai mihin suuntaan jatkokehittää. Luovat kehittäjät näkevät parannuskohteita ja vaihtoehtoja jatkokehitykselle.

Pähkinänkuoressa siis: Luovuus säästää rahaa sekä ilahduttaa asiakkaita ja itseä. Luovuuden puute johtaa menetettyihin mahdollisuuksiin ja tuloihin sekä tekee haavoittuvaiseksi markkinoilla, kun vain seuraa ja kopioi markkinajohtajia. Välttääksemme haitat ja saadaksemme hyödyt, meidän on kysyttävä:

Miten omaa ja muiden luovuutta edistetään?

Ohjelmistokehityksessä tieto ja kokemus on ehkä suurin luovuutta auttava asia. Esimerkiksi minkälaista arkkitehtuuria tässä kannattaisi käyttää, mitä ohjelmointikieltä, mitä tietokantaa ja niin edelleen. Valinta eri vaihtoehtojen välillä perustuu tietoon.

Rauhallisuus on miulle se juttu, jolla voin keskittyä ajatteluun. Tai sitten musiikki peittämässä muita ääniä. Muilla se voi vaatia taustahälyä tai jopa taustakeskusteluja, joka on miulle täysi mahdottomuus. Entinen työkaveri kuunteli podcasteja työn ohella ja mie en voisi kuvitellakaan. Miun keskittyminen herpaantuu jo, jos kuuntelen musiikkia, jossa on tunnistettavat sanat.

Luovuutta ylläpitää kehityksen myötä jatkuva oppiminen. On hyvä pysyä kärryillä tavoista ratkaista uusia ongelmia. Joskus myös uudet ratkaisut ja toimintatavat synnyttävät uusia ongelmia, joihin kehitetään erilaisia ratkaisuja. En sano, että koko ajan täytyisi pysyä ajan hermoilla ja käyttää uusimpia työkaluja. Päinvastoin usein paras työkalu on se tylsä ja vanhanaikainen. Silti sen käyttö uusissa tilanteissa ja uusin ongelmiin vaatii tietoa ja kokemusta.

Organisaatioissa tulisi panostaa tiedon ja taidon kehittämiseen sekä tiedon tallentamiseen keskitetysti ja johdonmukaisesti. Antakaa työntekijöille aikaa ja mahdollisuuksia kouluttautua ja itseopiskella, mikä kellekin parhaiten sopii. Jotkut opiskelevat mieluummin ohjatusti, toiset taas itsenäisesti ja mikä nyt kenenkin aikatauluun ja elämäntilanteeseen parhaiten sopii.

sovelluskehitys koodari luovuus

Kolikon toinen puoli eli tiedon tallentaminen on yhtä tärkeässä asemassa. Tieto pitäisi saada osaajien aivoista tallennettua muotoon, jossa muutkin voivat oppia siitä. Tämä tarkoittaa dokumentaatiota. Sen tulisi olla tallennettuna yhteen paikkaan, jossa mahdollisimman monella on siihen pääsy. Myös pitää kiinnittää huomiota tiedon löydettävyyteen. Sen tulisi olla yhdenmukaisesti tallennettuna ja hakukoneiden pitää olla hyvin toimivia. Kun isommassa organisaatiossa aletaan tallentaa osaajien tietoa järjestelmällisesti, sitä tietoa alkaa kertyä niin paljon, ettei siitä ole mitään hyötyä, jos se ei ole järkevästi löydettävissä. Tässä auttaa yhdenmukaisuus ja järjestelmällisyys. Myös asiantuntijoiden kirjoittamistaidot nousevat tässä hyvin arvokkaiksi, koska selkeästi tallennettu tieto tarttuu paremmin, kuin epäselvä.

Luovuutta edistää kommunikaatio. Luovuus tapahtuu parhaiten yhdessä. Muilta ihmisiltä saa uusia ajatuksia ja palautetta omille ajatuksille. Itsellänikin yleinen keskustelu on:

Waltteri: Moikka. Hei tää taski, ajattelin sen tehdä tällä tavalla, mitä mieltä oot?
Kollega: Aa, okei. Tollein voi tehdä, joo. Siinä on hyvää tuo ja tämä. Mutta ootko miettiny, et pitäskö se tehä näin? Silloin tapahtuisi tämä ja tämä.
W: Ahaa, hyvä huomio, enpä ollutkaan ajatellut sitä noin. Miepä tutustun asiaan ja katellaan mitä saan aikaan.

---
W: Hei, se toimi aika hyvin toi juttu tuolla tavalla. Päädyin tekemään näin, koska se teki tämän ja tämän. Kiitos ajatuksista, palataan taas.

Kun juttelee muille, niin omille ajatuksille saa (parhaimmillaan rakentavaa) palautetta. Lisäksi uusia ajatuksia. Sama vaikutus on myös itsellä keskustelukumppaniin. Tämä siis kehittää molempien ajattelua, olettaen vastaanottavainen keskustelukumppani. Toimiva kommunikaatio myös lisää motivaatiota, joka sekin auttaa luovuutta.

Organisaatioissa tulisi helpottaa oikean ihmisen löytämistä ja helpottaa yhteisen ajan järjestämistä ja kehittäjien välistä tiedonjakoa. Salli tehdä yhteistyötä ja verkostoitua projektiryhmien ulkopuolisten kollegoiden kanssa. Yhteistyö myös organisaation ulkopuolelle on myös antoisaa. Tällä tavalla etenkin oman talon huippuosaajat voivat haastaa ajatteluaan muiden talojen tai kehittäjäyhteisöjen huippujen kanssa. Siitä hyötyy osaajien lisäksi talo itse sekä yhteisö laajemmin.

Luovuus vaatii kokeiluja. Kun kokeillaan jotain, niin usein epäonnistutaan. Kokeiluja ei ole ilman epäonnistumisia. Epäonnistumiset pitäisi sallia itselle ja muille. Helpoiten se käy aloittamalla pienillä panoksilla. Jokaisesta epäonnistumisesta oppii ainakin sen mitä ei kannata tehdä ja miten. Parhaimmillaan kokeiluiden mahdollisuuksilla ei ole rajaa. Joten pienet riskit, suuret mahdollisuudet. Sallikaa siis riskinotto ilman epäonnistumisen pelkoa. Suhtautukaa siihen, että vähän resursseja menee koko ajan kokeiluihin, joista ei välttämättä tule mitään, mutta joskus ne saattavat maksaa koko kokeilukulttuurin satakertaisesti takaisin. Nassim Nicholas Talebin 90/10-strategia on oiva työkalu ajatella altistumista suurille voittomahdollisuuksille: sijoita 90 % varmaan liiketoimintaan ja 10 % mahdollisimman riskialttiiseen. Pahinta mitä voi tapahtua on, että menetät sen 10 %. Mutta parhaimmillaan voi saada 1000 % tuoton.

Luovuutta estää olosuhteiden lisäksi myös persoonallisuus sekä kokemukset. Luovuus vaatii heittäytymistä muiden palautteen armoille, joten pelko on iso asia, joka estää luovuutta. Pelko siitä, että tulee naurunalaiseksi. Pelko siitä, että epäonnistuu. Jos tuotokseni on huono, minäkin olen huono. Se, että pitäisi olla heti valmis tai sen tuotoksen tulisi olla hyvä tai loistava.

Luovuutta edistävät olosuhteet täytyy saada kuntoon. Ympäristön täytyy olla

  • turvallinen, jossa ei tuomita epäonnistumista ja jossa voi astua ulos mukavuusalueelta
  • joustava, koska joustavuus vähentää stressiä ja lisää aikaa luovalle työlle. Luova työ tehdään joskus "näkymättömästi", työpaikan ja ajan ulkopuolella. Monesti asiat on pohdittu kotona, suihkussa, nukkumaan mennessä tai työmatkalla. Luovia ajatuksia ei voi eikä kannata rajoittaa työaikaan, joten vaatii joustavuutta työpaikalta ottaa huomioon se aika eikä keskittyä perinteiseen työajanseurantaan.
  • vuorovaikutteinen, jossa kommunikaatio muiden kanssa toimii. Kaikenlainen keskustelu ja ideoiden pallottelu edistää luovuutta.
  • keskittymistä edistävä. Henkilökohtaista. Joitain taustamelu ei haittaa, joillekin täytyy olla hiljaista. Toimistotilojen suunnittelu, jotta tiedonkulkua saadaan edistettyä, mutta keskeytyksiä vähennettyä.
koodari sovelluskehittäjä työpaikat

Koodariksi Sitowiselle?

Sitowisessä työskentelee ainutlaatuinen joukko rakennetun ympäristön asiantuntijoita. On insinööriä, devaajaa, maantieteilijää, sosiologia, biologia ja monia muita. Kun me suunnittelemme, koodaamme tai esimerkiksi valvomme työmaata, meidän jokaisen elinympäristö, kaupungit ja kadut toimivat turvallisemmin ja kestävämmin.

Jatka tällä polulla

Luovuus tuottaa ilahduttavia ratkaisuja, sen puute menetettyjä mahdollisuuksia.

Luovuutta on kaikissa ihmisissä ja kaikessa toiminnassa. Haaveenomaisen kangastuksen sijaan siitä on todellista hyötyä. Ja mikä parasta, sitä voi lisätä niin omassa elämässä kuin organisaatiossakin.

Ota luovuutta enemmän käyttöön elämässäsi. Mieti missä on tärkeintä onnistua ja kuinka lisäisit luovuutta siihen prosessiin. Onko mahdollista kerätä asiasta lisää tietoa? Voitko pallotella ideoita muiden kanssa tai kenties kokeilla jotain uutta? Ovatko olosuhteet otolliset luovuudelle? Kokeile näitä niksejä, saatat yllättyä.