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!

Populaarsed postitused

Xdebug seadistamine Zone veebimajutuses: PhpStorm

Xdebug seadistamine Zone veebimajutuses: PhpStorm

Arne Meier
Varasemalt on Zone blogis olnud juttu Xdebug kasutamisest nii Sublime Texti kui ka Visual Studio Code baasil. Kui eelmised näited käsitlevad seadistamist...
Common Mark Certificate: Rohkem võimalusi e-posti nähtavuse ja turvalisuse tõstmiseks

Common Mark Certificate: Rohkem võimalusi e-posti nähtavuse ja turvalisuse tõstmiseks

Kaarel Urva
CMC ehk Common Mark Certificate võimaldab sinu ettevõttel tõsta oma e-kirjade usaldusväärsust ja nähtavust, kuvades brändi logo otse e-kirjade kõrval...
Partner soovitab: iga meiliturundaja vajab head maandumislehte

Partner soovitab: iga meiliturundaja vajab head maandumislehte

Smaily
Sul on suurepärane toode või teenus. Oled selle reklaamimiseks loonud professionaalse turundusmeili või uudiskirja, kuid tulemusi ei paista? Sageli...
Veebilehe kolimine ilma peavaluta – mabrik.ee leht Zones 10 minutiga

Veebilehe kolimine ilma peavaluta – mabrik.ee leht Zones 10 minutiga

Kas veebi kolimine uude majutusserverisse kõlab sama mõnusalt kui diivani tassimine viiendale korrusele? Tegelikult on see hoopis lihtsam, kui arvata...