W31: Uzstādīts vēl nenozīmē pierādīts
Nedēļa, kurā filtrs, kas bija domāts kārtībai, klusi noturēja produkcijas kodu 33 stundas ārpus ētera — un kurā pārējie darbi gāja tieši pretējā virzienā: nevis ziņot par problēmu, bet to izlabot.
- Sales-ai dabūja vārtus, kas paši izlabo atbildi, nevis uzraksta cilvēkam pārskatu par to, kas bija nepareizi
- Cenu paritāte pierādīta ar skaitļiem — meklēšanas sistēma pret faktiski nosūtīto piedāvājumu: 6 no 8 precīzi, 2 ar ±4% starpību
- Radio Viens jaunā balss versija pierādīta ēterā ar mērījumu, ne ar ausi — korelācija 0.835 pret kontroles 0.157
- Silver Fox portāls tagad rāda klientam ievadi, izvadi un darba vēsturi — arī to, kur apstrāde neizturēja pārbaudes
- Viesnīcu apraksti pārbūvēti pēc CEO ievirzes: ieguvumi, ne specifikāciju saraksts, un apgalvojums drīkst balstīties tikai uz viesnīcas pašas mājaslapu
- Noteikums jāpierāda uz abiem gadījumiem — ka tas notur to, kas jānotur, UN ka tas laiž cauri to, kam jāiet cauri
- Klusa kļūme ir dārgāka par skaļu: nav trauksmes, nav kļūdas ziņas, tikai sistēma, kas turpina strādāt nepareizi
- Sistēma, kas pati izlabo savu atbildi, ir cita klase nekā sistēma, kas atsūta pārskatu par savu kļūdu — otrā gadījumā darbs paliek cilvēkam
- Rīka semantika nav tas pats, kas pieņēmums par rīka semantiku — nepārbaudīts pieņēmums maksā stundas, kas paiet klusumā
- Deploy filtrs ar noliedzošām maskām apturēja arī īsto deployu — CEO pasūtītie labojumi bija samergoti, bet 33 stundas nedzīvi, un neviens to nezināja
- Uzraudzība ziņoja par 'salūzušu' to, ko nekad nebija redzējusi strādājam — pārbaude uz papīra, ne uz sistēmas
- Divas reizes atsaukti paši savi priekšlaicīgi ierakstītie likumi — audio ietekmes slieksnis un secinājums par nodaļu lauku; abus atspēkoja fakti, ne diskusija
Ekosistēmas pārskats
Aizvadītā nedēļa astoņos aktīvos projektos gāja ap vienu jautājumu: ar ko atšķiras “uzstādīts” no “pierādīts”. Atbildi deva pati sistēma — filtrs, kas bija uzlikts, lai automātiskie saglabājumi nerestartētu produkciju, klusi apturēja arī īstos labojumus. Kods bija samergots, bet 33 stundas nebija dzīvs, un neviens to nepamanīja, jo klusēšana neizraisa trauksmi. Pārējie nedēļas darbi gāja tieši pretējā virzienā — no ziņošanas uz izlabošanu, no vērtējuma uz mērījumu.
Vanilla Travel
Nedēļa gāja reklāmas atdeves attiecināšanai — kurš kanāls ved kuru klientu. Skats pārbūvēts trīs līmeņos: vispirms kopapgrozījums, tad nodaļas, tad kanāli, lai kanāli vairs nepazustu zem kopsummas. Pievienots kanāls × nodaļa griezums — jautājums vairs nav “cik atnesa”, bet “vai atveda pareizo klientu”. Divi secinājumi tika atsaukti pašu spēkiem: tiešie ievadi izrādījās nevis defekts, bet 80% pastāvīgo klientu, un nodaļas lauks bija pavisam cits, nekā sākotnēji pieņemts. Nedēļas beigās skaitļi tika salīdzināti ar ārēju avotu — ar reklāmas rīka pašu eksportu, lai pārbaude nebūtu sistēmas saruna ar sevi.
vt-internal-services
Trīsdesmit pieci commiti sales-ai virzienā, un galvenā izmaiņa ir principiāla: vārti tagad paši izlabo atbildi, nevis uzraksta pārskatu cilvēkam. Uzstādīts cenu paritātes endpoints, kas salīdzina meklēšanas sistēmas cenu ar faktiski nosūtīto piedāvājumu — un pirmajā pilnajā mērījumā 6 no 8 gadījumiem sakrita precīzi, 2 ar ±4% starpību. Ceļā uz turieni atradās nepatīkams robs: bērni pazuda no cenas pieprasījuma, un klients dabūja cenu par pusi ģimenes. Noķēra to nevis tests, bet menedžera atbildes salīdzinājums ar sistēmas atbildi. Vēl trīs labojumi: nezināšanu vairs nedrīkst pasniegt kā “nav vietu”, pasīvais “dodiet ziņu” izņemts no prompta, un paši vārti pārstāja saukt ceļotāju skaitu par cenu.
Hotel Reviewer
Piecdesmit deviņi commiti, visi ap vienu bloku — viesnīcas aprakstu, ko lasa klients. CEO ievirze bija skaidra: garāks kopsavilkums, jo bloks ir lapas galvenais teksts; ieguvumi, ne specifikāciju saraksts; bez kvadrātmetriem. Tehniski nozīmīgākais: sistēma tagad izlasa visu viesnīcas mājaslapu un pēc tam pārbauda, vai raksts nepārkāpj to, kas tur rakstīts — mērījumu drīkst apliecināt tikai mērījums no mājaslapas, ne vispārīgs apgalvojums. Nedēļas vidū notika atgriešanās pie jūnija teksta versijas un vienmodeļa pieejas — divpakāpju variants tika izmēģināts un noraidīts.
Radio Viens
Septiņdesmit viens commits, un divi pierādījumi. Pirmais: jaunā mākslinieces balss versija pierādīta ēterā ar mērījumu — korelācija 0.835 pret kontroles 0.157, nevis ar ausi un pieņēmumu. Otrais: runātā satura līnija ar iepriekš renderētiem failiem — jauns segmenta tips nozīmē, ka serveris vairs nedrīkst tekstu pārģenerēt no jauna, tātad izrunas loterija ir izslēgta. Ieviesta glābšanas programma dziesmām ar izrunas defektu — labo ēterā esošo, nepārģenerē no nulles, un vecais paliek arhīvā. Viens pašu ierakstīts likums par audio ietekmes slieksni tika atsaukts — to atspēkoja klausīšanās, ne arguments.
Silver Fox
Piecdesmit viens commits pirmā klienta virzienā. Portāls tagad rāda ievadi, izvadi un darba vēsturi — ieskaitot gadījumus, kad apstrāde neizturēja pārbaudes. Katru atsauci var atvērt: dokuments un pareizā lappuse, nevis vārds ar solījumu. Pieņemšanas ķēde palaižama no tīra klona ar godīgiem izejas kodiem. Modeļu izvēle pārskatīta pēc pašu pārbaudes, ne pēc paziņojuma — teksta uzdevumiem jaunāks modelis par to pašu cenu, lētajiem uzdevumiem lētākais.
Infrastruktūra un ekosistēma
Divdesmit pieci commiti ekosistēmas uzraudzībā, un tie visi ir par vienu un to pašu robu — pārbaudi, kas eksistē tikai uz papīra. Glābējs vairs nedrīkst ziņot par salūšanu to, ko nekad nav redzējis strādājam. Uzraudzībā pievienoti seši dzīvi produkcijas servisi, kas līdz šim vienkārši nebija sarakstā. Viens svešs serviss no uzraudzības izņemts. Un pēc M-055 uzstādīts jaunas klases auditors — “samergots, bet nav dzīvs”.
vt-blog
Seši commiti, no kuriem viens ir naudas jautājums: čata produkta saites kopš 1. jūlija gāja bez izsekošanas parametriem, tāpēc blogs attiecināšanas atskaitēs vienkārši pazuda. Nevis strādāja slikti — nebija redzams. Labots. Blakus tam pārtaisīts uzraudzības kanārijs, kas iepriekš meta viltus sarkanās trauksmes.
Insights
Nedēļas galvenā mācība ir vienkārša un nepatīkama: noteikums jāpierāda uz abiem gadījumiem. Ka tas notur to, kas jānotur, un ka tas laiž cauri to, kam jāiet cauri. Deploy filtrs bija pārbaudīts tikai uz vienas puses — ka automātiskie saglabājumi vairs nerestartē produkciju. Otra puse — ka īsts kods aiziet ēterā — netika pārbaudīta ne reizi.
Otrā mācība nāk no sales-ai un silver-fox vienlaikus: sistēma, kas pati izlabo savu atbildi, ir citā klasē nekā sistēma, kas atsūta pārskatu par savu kļūdu. Otrajā gadījumā darbs paliek cilvēkam, un cilvēks to izdara ar nokavēšanos vai neizdara vispār.
Trešā — mērījums pārspēj vērtējumu. Cenu paritāte, ētera korelācija, salīdzinājums ar ārēju eksportu: visos trīs gadījumos strīdu izbeidza skaitlis, ne diskusija.
Kļūdas un mācības
Nedēļas dārgākā kļūda ir M-055. Lai automātiskie saglabājumi nerestartētu produkciju, deploy filtram tika uzliktas noliedzošas maskas. Tās nostrādāja labi — pārāk labi: 31. jūlijā uz repozitoriju aizgāja CEO pasūtītie labojumi, un deploys nenotika. Nākamais deploys bija tikai 1. augustā vakarā. 33 stundas kods bija samergots, bet nedzīvs, un neviens to nezināja, jo klusēšana neizraisa trauksmi. Maskas tagad vienkāršotas uz tikai pozitīvām, bet — un tas ir godīgi jāpasaka — vēl nav pierādīts, ka jaunais variants strādā. Pierādījums būs nākamais produkcijas push.
Otrā kļūda ir tā pati klase citā vietā: uzraudzība ziņoja par “salūzušu” sistēmu, kuru nekad nebija redzējusi strādājam. Trauksme bez sākotnējā stāvokļa nav trauksme, tā ir troksnis.
Trešā — divreiz nācās atsaukt paši savus priekšlaicīgi ierakstītos likumus. Audio ietekmes slieksni atspēkoja klausīšanās, secinājumu par nodaļu lauku atspēkoja dati. Abos gadījumos likums tika ierakstīts ātrāk, nekā pārbaudīts.