Piilotietoa koodikannassa

Piilotietoa koodikannassa

Elo 08, 2026 ai development software engineering knowledge management machine learning developer tools codebase architecture enterprise software

Se mikä ei ole dokumentoitu, on koodissa – ja nyt tekoäly osaa lukea sitä

Jotain huolestuttavaa tapahtuu jokaisessa yrityksessä, jossa business-logiikka elää vain koodissa: kun avainhenkilö lähtee, hänen mukaansa katoaa ymmärrys siitä, miksi järjestelmä toimii juuri tietyllä tavalla.

Tuore tutkimuspaperi ehdottaa asiaa, joka saa jokaisen CTO:n ja lead developerin kiemurtelemaan: kypsät ohjelmistojärjestelmät eivät ole vain työkaluja liiketoiminnan pyörittämiseen. Ne ovat suoritettavia esityksiä kaikesta siitä, minkä organisaatio on oppinut kyseisestä liiketoiminnasta. Mutta tämä tieto on piilossa ilmeisimmässä paikassa – lukuisissa repositorioissa, joita ovat perinteisesti lukeneet vain kääntäjät.

Dokumentaatio ei kerro koko totuutta

Kaikki tuntevat tilanteen. Uusi kehittäjä astuu sisään ja saa käsiinsä valtavan kokoelman Confluence-sivuja, arkkitehtuuripäätöksiä ja wiki-artikkeleita. "Tämä auttaa sinua pääsemään alkuun," joku sanoo toiveikkaasti.

Ei auta.

Dokumentaatio tallentaa sen, mitä joku piti tärkeänä kirjoittaa alas, tietyssä ajanhetkessä, joka saattaa olla vuosia sitten. Se jättää pois reunatapaukset. Se jättää pois ne keskustelut, jotka käytiin kokouksissa ja jotka muokkasivat päätöksiä. Se jättää pois liiketoimintalogiikan, joka kehittyi tuhansien commitien kautta, kun jokainen niistä taisteli todellisen skenaarion kanssa.

Peter Naurin jo vuoden 1985 argumentti tukee tätä havaintoa. Hänen mukaansa ohjelmistodokumentaatio ei voi koskaan täysin vangita järjestelmän takana olevaa "teoriaa". Todellinen ymmärrys elää ihmisten päässä. Kun nämä ihmiset lähtevät, teoria lähtee heidän mukanaan.

Mutta tässä kohtaa tulee mielenkiintoinen käänne.

Tekoäly muuttaa lukijan määritelmän

Naurin argumentti koski kahta lukijatyyppiä: kääntäjät (jotka suorittavat koodia ymmärtämättä sitä) ja ihmiset (jotka ymmärtävät hitaasti ja kalliisti). Dokumentaation mahdottomuus oleti, ettei muunlaisia lukijoita ole olemassa.

Suuret kielimallit edustavat kolmatta lukijatyyppiä. Ja ne ovat yllättävän hyviä rekonstruoimaan koodiin upotettuja implisiittisiä teorioita.

Tutkimuksen käytännön sovellus osoittaa tämän vakuuttavasti. CMDB-alusta (Configuration Management Database) koodaa yrityksen konfiguraationhallintatiedon, joka täyttäisi satoja sivuja proosana. Mutta asia on jo kirjoitettu – vain ei proosamuodossa. Se on koodissa.

Tarkastellaan heidän identiteetinhallintalogiikkaansa. Konsultin esseen "miten laiteidentiteetti toimii" sijaan heillä on konfiguraatiotiedosto painotuksilla: sarjanumero (25), isäntänimi (25), laitetunniste (25), IP-osoite (20), MAC-osoite (15). Lisäksi luottamuskynnykset ja ristiriitojen ratkaisusäännöt. Jokainen numero edustaa keskustelua, jonka joku voitti. Jokainen ristiriitatyyppi edustaa todellista tapausta, joka tapahtui jossain päin.

Tämä ei ole politiikan kuvaus. Tämä ON politiikka, joka pyörii tuotannossa yö toisensa jälkeen.

Mitä tämä tarkoittaa tiimillesi

Kehittäjille ja teknologiajohtajille tällä tutkimuksella on käytännön vaikutuksia:

Koodisi on dokumentaatiota, jota et ole ylläpitänyt – ja sillä on omat etunsa. Toisin kuin vanhentuneet wiki-sivut, koodi joka pyörii tuotannossa validoidaan jatkuvasti. Jos dokumentaatio ja koodi ovat ristiriidassa, dokumentaatio on väärässä.

Tekoälytyökalut kehittyvät jatkuvasti tämän tiedon irrottamisessa. Olemme siirtymässä maailmaan, jossa tekoälyltä kysyminen "miten käsittelemme laiteidentiteettiristiriitoja" voisi palauttaa paitsi dokumentaatiota, myös todellisen päättelyketjun painotuksineen ja kynnyksineen.

Todellinen tieto elää reunatapauksissa. Pääprosessit on yleensä dokumentoitu hyvin. Vuosien varrella ratkaistut poikkeustilanteet, erikoiskäsittelyt ja rajojen tapaukset sisältävät syvän institutionaalisen tiedon.

Huolestuttava huomio

Tähän liittyy epämiellyttävä sivujuonne: jos liiketoimintalogiikkasi on vain koodissa, ja koodissasi on huono testikattavuus, epäselvät nimeämiskäytännöt tai kaoottinen rakenne, istut tiedon päällä, jota on lähes mahdotonta irrottaa.

Tutkimus osoitti, että väite "repositorio riittää" hajoaa tietyissä tilanteissa. Naurin hiljainen jäännös on todellinen. Osa tiedosta todella elää vain ihmisten päässä.

Mutta vahvempi löydös on, että enemmän selviää koodista kuin uskalsimme kuvitella. Repositorio vangitsee paljon enemmän teoriaa kuin dokumentaatio koskaan pystyisi – me vain tarvitsimme uudenlaisen lukijan purkamaan sen.

Mitä tehdä tämän kanssa

Jos olet startup tai kasvava teknologiayritys, tässä on viitekehys ajatella asiaa:

  1. Luota koodiisi enemmän kuin dokumentteihisi kun nämä ovat ristiriidassa
  2. Kirjoita koodia, joka dokumentoi päättelynsä – merkitykselliset muuttujanimet, selkeät funktiot, kommentit jotka selittävät MIKSI, eivät vain MITÄ
  3. Kohtele konfiguraatiota institutionaalisena tietona – nuo painotukset ja kynnykset ovat päätöksiä, jotka kannattaa säilyttää
  4. Aloita tutkimaan tekoälytyökaluja jotka pystyvät kyseenalaistamaan koodikantasi tietolähteenä

Koodi jonka kirjoitat tänään, on huomisen institutionaalinen tieto. Tee siitä merkityksellinen.

Read in other languages:

RU EL BG UZ CS TR SV RO PL PT NB IT NL HU DA DE FR ES ZH-HANS EN