Kuidas see küll juhtuda sai ehk let’s make mistakes

Peeter Marvet
RSS: Jaga:

Meie hea naaber Telia sai täna tugeva sotsiaalmeedia-klopperi tänu ühele ebaõnnestunud e-postitusele. “Kuidas see sai juhtuda!!?!” küsivad nördinud kodanikud, spetsialistid ja ilmselt ka Helin…

Aga lubage, ma räägin teile kuidas see saab juhtuda. Mina sain ise kah täna samasuguse jamaga hakkama – ning MailChimpi hirmuhigipisaratega kirja-saatmise-nupu-animatsioon on ilmselt paljudele tuttav:

chimpy-chimp

Stsenaarium on reeglina selline: Meil on mingi e-posti-rakendus, tegime kirja-põhja – noh et oleks ilus ja avaneks ka mobiilis jne. Laadisime üles Excelist imporditud listi kus on kirjas andmeteadlaste poolt välja valitud aadressid, nimed ja isikukohased viited. Testisime enda testkirjega, mis on hoolikalt koostatud katmaks kõiki äärmuslikke juhtumeid (minu nimi on testides stiilis Pëëtõr von McPikknimi Märvüž) – noh täitsa OK tundub. Saatsime pealikule/agentuurile/kliendile kah. Aga kusagil ei ole seda testnuppu, et võta palun 10 random kirjet tegelikust sihtgrupist ja näita mis juhtub.

Juhtub aga see, et kirjapõhja tegija on unustanud panna nime asemele muutuja – või siis on andmeteadlased lisanud Excelisse mediaan-nime välja. Mis iganes see ka poleks.

Mina saatsin välja teadet PHP 7 Apache moodulis ja /usr/bin/env php teemal. Ainus viis see adressaadile arusaadavaks teha tundus lisada konkreetne nimekiri serveritest, mis võivad muudatuse järel probleeme tekitada. Umbes nii:

mail-snippet

(takkajärgi lugedes peaks kiri algama lausega “saada see KOHE veebihaldurile, nõua ASAP reageerimist ja tehtud tööde raportit” olemaks ka turundus- või projektijuhi tasemel rakendatav)

Kuna meil on kick-ass inhouse arendustiim siis saatis @i mulle udupeene JSONi (mittetehniliselt: .json on .csv kuubis) mis võimaldas genereerida vabalt valitud transactional email teenuse (Mandrill, olgu nad neetud) ja umbes 20 rea koodi abil personaliseeritud kirjad. @bb tuvastas nimekirjast mõne kala – ja mina mõned teised kalad. Ahjah, ja oli veel väike palve üks objekti property veidi teise nimega edastada. @i saatis uue JSONi, Done! Proovin saatmist nii- ja naapidi, toimib.

Vajutame punast nuppu – ja kasutajad saavad kirja, kust puuduvad kogu jõupingutuse põhjuseks olevad serverinimed. Abort-abort-abort, pardal on lapsed! (kui tsiteerida multifilmiklassikuid)

Edasine tasklist:

  • katkestada kirjade saatmine
  • lõpetada koosolekul osalemine
  • tuvastada bugi (ei olnud testinud päris uue JSONiga, “kohandasin veits” vana ja eeldasin mida-iganes)
  • eksportida transactional e-posti teenusest enne katkestamist saadetud kirjade aadressid
  • fixida bugi
  • teha uus vabandusega kirja-templiit
  • kohandada saatmine kahele sihtgrupile – pooliku kirja saanud ja ülejäänud
  • testida, veenduda õige templiidi kasutamises
  • umbes x4, sest eelmine x2 ilmselt ei olnud piisav
  • saata parandatud kirjad “poolikutele”
  • testida, umbes 4x
  • saata parandatud kirjad “ülejäänutele”
  • here be dragons

Moraal? Proovime aru saada, miks me vigu teeme. Mina näiteks:

  • Ajasin ülesande keeruliseks (olen siiski veendunud, et konkreetse info andmine e-postis oli õige valik)
  • Testisin lõpuni enne andmeformaadi ja tegelikult kasutatavate andmete saamist (tekkis testi-väsimus, lõplike andmete puhul ei teinud enam täis-testi, sest enamus oli ju läbi testitud juba)
  • Mul ei olnud saatmis-lahenduses funktsiooni “näita mida kavatsed saata”, sest see oli “kõigest prototüüp”

Ma loodan, et Telia jagab oma post-mortemit kah – küllap tegid nad täiesti teistsuguseid vigu. Selliseid, mida mina võiks homme teha, aga võiks ka vältida.

ps. üks mu lemmik-podcaste on Mike Monteiro bande Let’s Make Mistakes.

pps. teavitus-kirja saatmise taustaks olid mõned (igati asjakohased) kommentaarid suunal “debugisin/muretsesin x tundi, põhjuseks oli muudatus/sündmus millest oleksite ju võinud ette teavitada, isegi kui see puudutab 1% kliente” – yep, tehtagu!

Kommentaarid

Populaarsed postitused

Partner soovitab: E-poe SEO ehk kuidas suurendada nähtavust ja müüki unikaalse sisu abil

Montonio
Kui oled sa kunagi guugeldanud fraase nagu "parimad juhtmevabad kõrvaklapid" või "odavad veekindlad matkajalatsid"? Kui jah, siis oled omal nahal kogenud,...

CloudFest: pilvetehnoloogia suursündmus otse Europa-Pargist

Nikita Tikhomirov
Kui rääkida Euroopa suurimast ja mõjukaimast pilvetehnoloogia ning interneti infrastruktuuri sündmusest, siis peaks iga IT-valdkonna ettevõtte kalendris...

Webmail.ee uuenes: samm sujuvama kasutajakogemuse suunas

Nikita
Veebimajutuse ja e-posti teenuste kiiresti arenevas maailmas on kasutajate ootustele vastamine esmatähtis. Eesti juhtiva domeenide registreerimise ja...

Halda oma WordPressi muretult - too oma sait Zone+ haldusesse

Ingmar Aasoja
Lisasime Zone+ haldusesse võimaluse importida WordPressi rakendusi, et lihtsustada nende haldamist. Meie haldusesse saab tuua rakenduse, mis on meie serverisse...