Много от нас работят в ИТ – уж е стрес, но всъщност има много администрация, срещи, кафета и документиране… Замисляли ли сте се какво би било, ако Dev, QA, PM и DevOps вместо да си прехвърлят топката (или JIRA тикетите) трябва да действат като един „жив организъм“, защото всяка секунда решава кой ще живее и кой не? По-долу ще видите моята представа за това какво би се случило, ако вместо екипи на 112, изпратим типични корпоративни ИТ специалисти… Посмейте се, но и помислете – кое не е така?
– Национална система 112, казвам се Иван. Разговорът се записва за подобряване качеството на обслужване. Моля, логнете инцидента в нашия портал.
– Какъв портал, човек, обърнахме се с колата в канавката! Жена ми кърви, колата пуши!
– Разбирам емоцията. Само момент да избера тип инцидент… (цъка по клавиатурата) Така… „Катастрофа“ я имаме само като подтип на „Пожар“. Ще го логнем като „Инцидент с повишена температура на обект“, съгласен ли сте?
– Не знам! Изпратете линейка и пожарна!
– Спокойно, ще го ескалирам към Инцидент мениджър. Преди това няколко контролни въпроса… Колко сте жив по скалата от 1 до 10?
– Какво?!?
– Добре, ще запиша 7…
– Отворили ли сте вече тикет към застрахователя, за да няма дублиране на усилията?
– Вижте, airbag-ът на колата се е издул, не виждам жена си, виждам пламъци. Изпратете линейка възможно най-скоро!
– Добре, добре, маркирам severity „S1″… Хм… получавам попъп „Are you sure? Use S1 only if… глупости, глупости… при апокалипсис“. Ще го сложа S2, за всеки случай… Задръжте така… Хора, имаме катастрофа, ама без точна GPS локация. Кой е on-call днес?
– Аз, ама имам дейли сега. Може ли след стендъпа?
– Не, не, това звучи като war room ситуация. Спирайте дейлито и влезте в Teams…
Всички влизат в Teams, 5 минути настройват микрофони…
– Здравейте на всички! Чувате ли ме? … А сега? … А, супер, unmute-на… така… благодаря, че се включихте в този критичен кол…
– Само да кажа, че съм тук, но само за 20 минути, после имам 1:1.
– И аз съм тук, но и вчера ви казвах – никаква ETA няма да дам преди да имам ясни acceptance критерии.
– Чувате ли ме? Аз ви чувам през половин секунда лаг.
– Аз съм тук, само да отбележа, че нямаме подписан DPA със шофьора, внимавайте какви лични данни събирате.
– Добре. Оператор, резюме?
– Имаме една кола, преобърната, поне двама пострадали, дим, евентуален пожар. Клиентът е вербално ескалирал, крещи.
– Има ли подписан consent за записване на разговора?
– Имаме чекбокс в началото, той не каза „не“, значи е „да“.
– Извинявайте, аз съм от QA отдела, имаме ли репликейшън стъпки? Как точно са се блъснали? На каква скорост? С какъв модел кола? Не мога да валидирам fix за нещо, което не мога да възпроизведа.
– Момент, свързвам ви с шофьора…
– (Шофьорът се чува през телефона) Карах, завой, мокро, някой ме засече, влязох в канавката, обърнахме се! Не правете репликейшън, просто ни спасете!
– Това звучи като проблем в production. Нашият отдел се намесва само при инциденти на сух асфалт. Мократа настилка никой не я е описал в спека, нищо няма да правя, сори…
– Добре, да си разделим отговорностите… Dev, ти ще режеш тенекии… DevOps, ти си отговорник „огън и експлозии“. QA, ти валидираш, че пострадалите са стабилизирани според acceptance критерии… Security, ти поемаш безопасността на останалия трафик…
– Вижте сега, аз нямам достъп до физическия огън в продукшън. Някой трябва да ми даде достъп…
Мястото на катастрофата. Пристигат три служебни коли с логота „112-as-a-Service“, по двама души на кола.
– Добре, екип, преди да започнем, кратък daily standup до колата.
Шофьорът стене, жена му е в безсъзнание.
– Вчера не сме работили по този инцидент, днес целта ни е да го затворим, блокери?
– Моят блокер е, че нямаме документация за модела на тази кола…
– Аз имам блокер, че няма дефиниция за „пострадалият е стабилен“. Какъв трешолд може да дадем… 120 пулс стабилен ли е или не?
– Ние нямаме одобрен Change Request да режем тенекии в продукшън в това време…
– Моля ви, жена ми не мърда…
Пристига още един автомобил, слиза HR-ка с таблет:
– Здравейте, колеги! Не сте си подписали инструктажа. И само да напомня, че имаме политика за психично здраве на служителите. Не е желателно да се травмирате с гледка на кръв… И, така и така съм тук… да припомня, че след две седмици е коледното ни парти…
– Оф, много неща станаха. Добре, да го мислим като MVP. Какъв е най-малкият полезен резултат, който може да доставим?
– Можем да сложим конуси и да напишем „WIP“ до колата.
– Аз мога да пусна анкета на шофьорите зад нас: „Колко сте доволни от предупредителните конуси по скала от 1 до 5?“
– Нека първо направим root cause analysis. Този инцидент е резултат от човешка грешка, пътни условия или архитектура на пътната мрежа?
– Root cause ще правим после. Сега трябва да спрем bleeding-а, както в прод.
– Аз отказвам да подпиша, че сме спрели bleeding-а, без да имам тестови сценарии и ясен acceptance критерий… (почва да пише) TC1: Пациентът преживява до пристигане в болница… TC2: Пациентът не умира по пътя… TC3: Пациентът не се самовъзпламенява.
– Хора, дайте да направим нещо… Дайте да извадим пострадалата от колата?
– Чакайте, ако я местим от колата, може да нарушим chain-of-evidence. А ако после има съдебно дело?
– Добре, предлагам hotfix: режем вратата на колата директно в продукшън, без стейджинг, без бекъп.
– Няма да режа нищо, ако нямам ясно описание на задачата. Не ми е в job description да работя с физическа тенекия.
– Dev, какво ти трябва, за да започнеш?
– Jira тикет, estimate, story points, design документ, tech specs, code review, approval и после ще видим.
– (Шофьорът, едва говорейки)... Ние ще сме умрели дотогава, бе!
– Еми ще логнем regression при живите хора.
Наоколо вече има километрична опашка, всички свирят…
– Да обобщим: Имаме логнат инцидент. Имаме конуси. И имаме ескалация към Security. Нещо друго?
– Пуснах мониторинг на температурата на двигателя, щото шефът ми каза да съм проактивен… Ще получим аларма, ако се запали.
– Аз логнах bug: „Колата продължава да пуши след пристигане на екипа“. Severity Medium, защото още не е избухнала!
– Аз ъпдейтнах документацията: „При бъдещи катастрофи да не се допуска шофьорът да кара така.“
– А жена ми? – казва шофьорът.
Всички поглеждат неловко.
– Чакаме решение от Product Owner. Не можем да режем колата, ако после не им хареса UX-а на спасителната операция.
Пристига още един автомобил, на Product Owner-a.
– Здравейте, току що излизам от друг кол. Какъв е use case-ът?
– Колата е преобърната, двама пострадали. Бизнес целта е да оцелеят.
– Е, това е доста високорисков feature. Имаме ли вече roadmap за спасяване на хора от коли или е нова инициатива?
– Това е ad-hoc инцидент, не е планиран.
– Тогава предлагам да го сложим за Q3 2026. Сега фокусът ни е върху „подобряване на времето за реакция на обаждането“ от 20 секунди на 18 секунди…
Изведнъж пристига реална линейка и пожарна, истински екип. Изскачат, режат, вадят жената, слагат я на носилка.
– Колеги, какво правите тук? – пита един пожарникар.
– Ние сме 112-as-a-Service, правим трансформация на процесите.
– А пострадалите?
– Ние още сме в discovery фаза.
Пожарникарът вдига рамене, помага на медиците да вдигнат носилката и тръгва към линейката.
– Само да питам, ще ни дадете ли логове какво точно направихте, за да можем следващия път да го автоматизираме?
…