Automaatio2 min luettavaa

Kysy automaatiolta ensin jotain, minkä vastauksen jo tiedät

Rakensin työkalun, joka tuottaa verkkokaupan sivupohjat käsityön sijaan. Se näytti valmiilta, kunnes pyysin sitä rakentamaan uudelleen jotain, mikä oli jo olemassa.

Kysy automaatiolta ensin jotain, minkä vastauksen jo tiedät

”Tarkoitin uusimpia, en ensimmäisiä.”

Se oli koko palaute. Yksi rivi ohimennen kirjoitettuna, ja se pelasti työn, jonka olin juuri ilmoittamassa valmiiksi.

Taustalla on tehtävä, joka toistuu jossain muodossa melkein joka yrityksessä: Samanmuotoista dokumenttia rakennetaan käsin uudestaan ja uudestaan. Kampanjasivuja, kuukausiraportteja, tuotesyötteitä, tarjouspohjia. Työ ei ole vaikeaa, se on vain hidasta eikä se lopu koskaan.

Mun tapauksessa kyse oli verkkokaupan sivupohjista. Sivunrakennustyökalusta saa ulos vientitiedoston, ja ajattelin, että jos sen muodon ymmärtää tarpeeksi tarkasti, sivut voi tuottaa suoraan koneella ja tuoda takaisin sisään. Silloin niitä ei enää klikata kokoon yksi kerrallaan.

Koko aineisto, ei otantaa

Aloitin siitä, mikä osoittautui koko hommassa tärkeimmäksi ratkaisuksi: En antanut mallille muutamaa esimerkkiä, vaan koko aineiston. Vientitiedostoissa oli 310 tuotantodokumenttia, 187 sivua ja 123 osiota, usean eri työkaluversion ajalta. Kaikki läpi.

Se maksoi itsensä heti takaisin. Kaksi oletusta, jotka olisin muuten kirjannut ohjeeksi tosiasioina, osoittautuivat aineistoa vasten yksinkertaisesti vääriksi. Otanta ei olisi paljastanut kumpaakaan, koska otanta näyttää vain sen, minkä osasit poimia.

Testi, jonka olisin voinut jättää tekemättä

Sitten tuli kohta, jossa homma näytti valmiilta. Generaattori tuotti sivuja, jotka näyttivät oikeilta ja jotka tarkistusajo hyväksyi ilman huomautuksia. Sen sijaan, että olisin uskonut sitä, pyysin sitä rakentamaan uudelleen ne dokumentit, jotka olivat jo olemassa. Samat 310 tuotantodokumenttia sisään, koko putken läpi, ja ulos tullutta verrattiin alkuperäiseen.

Idea on yksinkertainen: Jos työkalu ei osaa tuottaa uudelleen sitä, mikä on jo olemassa, se ei ymmärrä muotoa. Silloin sillä ei kannata tuottaa mitään uutta.

Testi löysi virheen, jonka olisin muuten julkaissut hiljaa. Työkalun vanhemmat ja uudemmat versiot kytkevät tyylit elementteihin eri tavalla. Uudessa muodossa tyylin tunniste on sama kuin elementin, vanhassa se osoittaa toisaalle. Generoidut sivut olisivat näyttäneet kelvollisilta, mutta osa muotoiluista olisi valunut väärään paikkaan.

Ja sitten se yhden rivin palaute

Olin lukenut arkiston 20 ensimmäistä merkintää ja pitänyt niitä uusimpina. Arkiston järjestys ei ole aikajärjestys. Kun sivut järjestettiin oikeasti aikaleiman mukaan, 20 uusimmasta 16 oli tehty työkalun uudella editorilla ja vain loput vanhalla. Olin rakentanut jokaisen palikan sen vanhan mukaan.

Kone olisi siis tuottanut teknisesti moitteettomia sivuja muotoon, jota oikeassa työssä ei enää käytetä. Se ei olisi näkynyt yhdessäkään testissä, koska mikään testi ei tiennyt, mikä on ajankohtaista. Sen tiesi vain ihminen, joka tekee sitä työtä päivittäin.

Malli osaa kertoa, mitä aineistossa lukee. Se ei osaa kertoa, onko aineisto oikea.

Mitä tästä kannattaa ottaa omaan viikkoon

Kaksi tarkistusta, ja kumpikin vie vartin.

  • Anna automaatiolle ensin tehtävä, jonka vastauksen jo tiedät. Ennen kuin luotat siihen, että työkalu tuottaa uuden raportin, pyydä sitä tuottamaan uudelleen viime kuun raportti. Vertaa riveittäin siihen, mikä oikeasti lähti asiakkaalle. Ero on lista bugeja, jotka olisit muuten löytänyt vasta tuotannosta.
  • Tarkista, mistä kohtaa aineistoa esimerkkisi on poimittu. ”Ensimmäiset 20 riviä” tuntuu neutraalilta valinnalta, mutta se on lähes aina järjestetty jonkin muun kuin ajan mukaan. Järjestä aikaleiman mukaan ja katso, näyttääkö otos edelleen samalta.

Kumpikaan ei ole tekniikkaa. Molemmat ovat sen kysymistä, minkä vastauksen tiedät jo entuudestaan, ja sen katsomista, osuuko kone samaan. Se on halvin tapa huomata, että se on eri mieltä sinun kanssasi jostain oleellisesta.