Blogi

Kooditehdas ja valvova silmä: näin automatisoimme ohjelmistokehityksen

Joonas Pajunen 16.9.2026 Bisnes Teknologia Tekoäly

Blogi-kooditehdas Blogi-kooditehdas-monile

Koodin tuottamisesta tuli halpaa. Ohjelmistokehittäjä ei enää tarvitse itse koodata, vaan hän johtaa ja hallinnoi agentteja, jotka tuottavat koodin kehittäjän puolesta. Ohjelmistokehittäjä on nyt agenttien manageri.

Entä jos agentteja ei tarvitsekaan jatkuvasti manageroida? Voisiko osan työstä ulkoistaa kokonaan automaattisille prosesseille ja työkaluille? Kyllä voi.

Automatisoinnin lopputulos on kooditehdas, joka tuottaa ensisijaisesti koodia ja tarvittaessa myös määrittää, miten tiettyjä ongelmia ratkaistaan, pohjautuen johonkin ennalta määrättyyn tietolähteeseen. Tämä tietolähde voi olla esimerkiksi bisneslogiikan kuvausta tai toimialan konventioita ja lakiteknisiä määritelmiä.

Agenttien toimintaa tehtaan linjastoilla vahtii ja valvoo jokin taho, jolle en ole vielä kuullut hyvää kansankielistä termiä. Se voi olla ihminen tai agentti tai jokin niiden yhdistelmä.

Mikä on kooditehdas?

Kooditehdas, "software factory", tarkoittaa käytännössä olemassa olevien ja hyväksi havaittujen ohjelmistokehityksen toimintamallien automatisointia. Termi on melko uusi, joten sen määritelmä elää edelleen. Kooditehdas voi sisältää enemmän tai vähemmän tämänkaltaisia asioita:

  • Työn ja projektin hallinta
  • Palautteiden, bugiraporttien ja muiden signaalien priorisointi
  • Koodin tuotto agenttisesti (pilvessä tai lokaalisti)
  • Koodin laadun varmennus (lint, typecheck) ja testaus (yksikkö-, integraatio- ja e2e-testaus)
  • AI-toiminnallisuuksien, promptien ja suoritusten arviointi (eval)
  • Koodikatselmointi (automaattisesti ja ihmisen tekemänä)
  • CI/CD-pipeline eli automaattinen testiin tai tuotantoon vienti
  • Dokumentaation (tekninen, bisneslogiikka ja asiakaskunnalle suunnattu) automaattinen ylläpito

Kooditehtaan linjasto eroaa perinteisistä tehdaslinjastoista siten, että se tuottaa aina toisistaan eroavia lopputuotoksia. Lopputulokset ovat joko uniikkeja kokonaisuuksia tai osakokonaisuuksia, toiminnallisuuksia tai muutoksia.

Kooditehtaan linjastojen eri pisteisiin tarvitaan, hankkeesta ja tehdyn työn vakavuudesta riippuen, valvova silmä. Human in the loop. Agenttipoliisi.

Tällaisia ihmisen tarkastuspisteitä ovat muun muassa agentille sopivan tehtävän merkitseminen ja agentin tuottaman lopputuloksen testaus sekä arviointi.

Miten kooditehdas toimii käytännössä?

Fraktiolla suosimme kooditehtaita, jotka koostamme erilaisista olemassa olevista palveluista. Kooditehtaan toiminta on täysin läpinäkyvää ja muunneltavissa kunkin hankkeen tarpeisiin.

Kooditehdasta rakentaessa ja yleisestikin ohjelmistokehityksessä suosimme “agenttinatiiveja” työkaluja, kuten Linear, GitHub ja tietysti itse agentteja, kuten Claude Code. Pystytämme tehtaan eri työkalujen ympärille, sillä asiakkaillamme on todennäköisesti jo hankittuja järjestelmiä, joista ei ole mahdollista tai viisasta luopua. Kooditehdas ei siis ole niinkään yksi musta laatikko, vaan se on kokoelma työkaluja ja työnkulkuja, jotka toimivat yhdessä.

Kuinka kooditehdas sitten toimii? Yksinkertainen esimerkki (kuva 1): Prosessi uuden ominaisuuden kehityksessä ideasta tuotantoon voi edetä näin.

  1. Palaverissa syntyy päätös: "Tämä toiminnallisuus X" täytyy toteuttaa

  2. Kehittäjä, Product Manager tai vastaava asiantuntija antaa Claude Codessa promptin "Luo Lineariin tiketti toiminnallisuudesta X." Ohjetta rikastetaan palaverimuistiolla, joka voi olla tuotettu tekoälyllä.
  3. Ensimmäinen tarkastuspiste: ihminen tarkistaa Linearissa toiminnallisuuden kuvauksen ja merkitsee tehtävän valmiiksi agentille.
  4. Koodausagentti poimii merkatut tehtävät ja alkaa töihin. Se noudattaa projektiin konfiguroituja sääntöjä ja käytänteitä.
  5. Koodausagentti luo GitHubiin PR:n (pull requestin) ja viestii sillä, että tehtävä on valmis eteenpäin.
  6. Erillinen koodaus-/arviointiagentti tutkii kyseisen PR:n sisällön ja antaa oman mielipiteensä.
  7. Toinen tarkastuspiste: ihminen tarkistaa PR:n ja agentin kommentit, tarvittaessa katsoo koodia tai testaa sovelluksen. Lopuksi hän joko hyväksyy PR:n tai palauttaa sen agentille korjattavaksi ohjeiden kera.
  8. Hyväksytty PR viedään automaattisesti tuotantoon. Samassa yhteydessä Linearissa oleva tiketti merkitään valmiiksi ja dokumentaatioita päivitetään tai niiden päivitykseen luodaan uusi tiketti, josta käynnistyy uusi erilainen prosessi.

Toinen esimerkki: Ohjelmiston bugi voi laukaista prosessin automaattisesti, jolloin tehtävä etenee prosessissa näin.

  1. Ohjelmiston sisäinen virhetilanne lähettää automaattisesti viestin kooditehtaalle
  2. Tehdas analysoi viestin: onko virhe kriittinen?
  3. Tehdas luo Lineariin uuden tiketin. Jos virhe on kriittinen, tiketti etenee suoraan koodausagentille toteutettavaksi. Ei-kriittinen tiketti jää odottamaan ihmisen hyväksyntää Linearissa.

Fraktio-kooditehdas-prosessiKuva: Kooditehtaan prosessi ja tarkastuspisteet

Tehdas ilman jatkuvaa valvontaa

Edellä kuvattu kooditehdas ei automatisoi kokonaisen ohjelmiston rakentamista, vaan asiantuntijoita tarvitaan edelleen. Automatisointiputkea on toki mahdollista venyttää pidemmäksi. Yksittäisen ominaisuuden sijaan voimme kuvata koko liiketoiminnan  pitkäksi listaksi toiminnallisuuksia ja antaa sen agentille toteutettavaksi järkevässä järjestyksessä. Järjestelmä analysoi itse tekemänsä tuotokset ja tarkastuspisteitä voidaan vähentää.

Ihmiselle jää jäljelle testiympäristöön päätyvien toiminnallisuuksien testaus ja arviointi. Korjaukset ilmenevät uusina tiketteinä. Se, kuinka vähän valvontaa tehtaan linjastoille tarvitaan, riippuu täysin projektista, sen koosta ja vakavuudesta. Kyse on pitkälti riskienhallinnasta. Mitä jos tehdas tuottaa viallista koodia ja bisneslogiikkaa? Mitä jos tehtaan linjastojen valvominen on liian kallista? Viallinen koodi maksaa, mutta niin maksaa myös liiallinen valvonta. Oikea tasapaino löytyy punnitsemalla riskejä ja arvoa sekä kokeilemalla käytännössä.

Uuden ajan vertauskuvat

En henkilökohtaisesti pidä termistä kooditehdas, sillä se tuntuu jossain määrin halventavalta ohjelmistokehittämistä kohtaan. Sama ongelma pätee tai on pätenyt minkä tahansa käsityöläisen, artesaanin ja artistin työhön. Analogiat tehtaasta, linjastosta ja valvonnasta kuitenkin tuntuvat osuvilta.

ATK-maailmassa tykätään keksiä asioita uusiksi ja nimetä olemassa olevia asioita omilla termeillä. Oikeasti, tehdasvertauskuvassa kyse on vähän tylsästi sanottuna automaattisista virtuaalisista linjastoista ja niiden varrelle asetetuista laadunvalvontapisteistä. Riippuu täysin valmistettavasta tuotteesta, missä kohdin ja missä määrin linjaston toimintaa valvotaan.

Kooditehtaan lupaukset

Kooditehdas lupaa enemmän vähemmällä. Vähemmän käytettyä aikaa yksityiskohtaiseen määrittelyyn, iterointiin ja tietysti koodin kirjoittamiseen. Enemmän aikaa liiketoimintalogiikan määrittelyyn ja lopputuloksen tarkasteluun. Enemmän aikaa laatuun. Tai määrään. Tai säästöjä.

Tärkeintä on kuitenkin oman kehitysprosessin, SDLC:n (Software Development Lifecycle) määrittäminen. Oleellista on myös tänä päivänä laadunvalvontapisteiden sovittaminen rakennettavan tuotteen vakavuuden ja luonteen pohjalta. Jos laadunvalvonta kohdistuu pelkästään koodin lukemiseen, arki käy kuormittavaksi. Uskon, että seuraava kehitysaskel koko prosessissa on uusien työkalujen ja menetelmien rakentaminen määrittely- ja review-/valvontavaiheisiin.

Kooditehdas sopii lähtökohtaisesti kahdenlaiseen tilanteeseen.

  1. Palvelun ensimmäisen version rakentaminen

Kooditehdas luo hyvän v1-version, jonka jälkeen agenttisesti kehittävä ihminen ottaa sen haltuun ja huolehtii jatkokehityksestä sekä datan hallinnasta.

  1. Palvelun jatkuva kehittäminen

Kooditehdas saa signaaleja ympäristöstään: käyttäjäpalaute, tuoteomistajan palaute, virhetilanteet ym. tilanteet, joiden pohjalta tehdas itsenäisesti koordinoi tiketit eri laadunvalvontapisteitä kohti.

Jatkuvan kehittämisen kooditehdas voi olla virtuaalinen kasa palveluita, jotka ovat kytköksissä toisiinsa integraatioiden kautta. Tällöin olemassa olevia ratkaisuja ei tarvitse korvata uudella mustalla laatikolla, vaan korvatuksi tulevat toivottavasti ihmisten tylsänpuoleiset työtehtävät.

Jos sinulla heräsi kiinnostus, miten kooditehdas voisi toimia teidän projektissanne, jutellaan. Kysy lisää, millainen tehdas sopii sinulle ja miten sellainen pystytetään, joko joonas.pajunen@fraktio.fi tai suosikkitekoälyltäsi.

Alla olevasta visualisoinnista voit lähettää tiketin ja seurata kooditehtaan prosessia.