Далеко не срібна куля

22

Я вже не перший рік працюю саме в сфері автоматизації і знаю її плюси і мінуси. Безумовно, вона корисна і важлива. Вона виключає так званий людський фактор і не помилиться, записуючи число в комірку, не піде у важливий момент попити кави або відвезти дитину до лікаря і не відмовиться працювати понаднормово.

Але будь-який алгоритм, який замінює собою звичайного працівника, — це в першу чергу алгоритм. Він не здатний негайно підлаштовуватися під зміни у вимогах, у ньому, як і в будь-якій програмі, можуть критися помилки, його впровадження потребує зміни вже усталених процесів, а вартість його розробки і підтримки (про останню чомусь майже завжди забувають) може просто не окупатися. І навіть якщо вона окупається, це не скасовує можливих проблем, до яких треба бути готовим.

Ось бюджетна організація — велика клініка обласного значення, в якій давним-давно були автоматизований облік витратних матеріалів (бинти, шприци, лікарські препарати, одноразові рукавички для лікарів і так далі). Проблема в тому, що це «давним-давно» означає, що програма була написана на нині застарілому і нікому не відомому мовою. І коли виникла необхідність синхронізувати дані з центральним державним сервером, щоб враховувати витрата матеріалів не тільки в окремо взятій клініці, але і по всій країні, керівництво впадає в паніку, тому що останнього співробітника, який знав цей древній мову, вже встигли проводити на пенсію. У вісімдесят років. Точніше, яка займала цей відповідальний пост бабуся вирішила нарешті звільнитися (і хто може її засудити?) — а на заміну їй нікого не можна знайти. Ужити би наперед, але хто буде виділяти гроші на модернізацію того, що і так працює? І плювати, що лікарі і медсестри вже давно вручну підправляли результати роботи старої програми, тому що вона чим далі, тим більше відставала від реалій: не враховувала нових категорій матеріалів, не генерувала звіти в потрібних форматах, періодично підвисає і втрачала дані. І скільки часу (між іншим, теж оплачуваної) у цих людей пішло на те, щоб підчищати хвости, ніхто не рахував. Клініка в терміновому порядку оголошує тендер, «переїжджає» на сучасну систему, весь персонал працює понаднормово, вивчаючи її і переносячи в неї дані, все горить.

Ось компанія, яка розробляє софт для фінансових організацій. Для тестування цього софта вирішено використовувати автоматичні тести. Але тести написані недосвідченими, огидно знають програмування людьми, і в підсумку горду заяву керівництва «У нас є автоматизовані тести!» нічого не варта, тому що ці тести постійно і непередбачувано помиляються, і для перевірки того, що програма працює, співробітники все одно запускають її і виконують всі дії руками. А часу на полагодження або, по-хорошому, повне переписування тестів на більш наЕкшн ної і стабільної основі менеджери не дають — а навіщо ж у нас вже є тести, як вони можуть зламатися? Як в старому анекдоті:

— Ваня, у мене голова болить…

— Чого там хворіти, там же кістка?

Ось інша компанія, яка розробляє програми для мобільних телефонів. Замовники щотижня вдаються з новими пропозиціями, і зовнішній вигляд програми змінюється на очах: одні кнопки замінюються іншими, зникають і з’являються пункти меню, переїжджають з місця на місце сторінки. Автоматичний тест — це, на жаль, не розумний робот, який вміє сам розуміти, що бачить на екрані, а строгий набір інструкцій: знайди спливаюче віконце, натисни кнопку «ОК», перейди на наступну сторінку. Якщо не спливе віконце або їх з’явиться два, тест вже не буде знати, що робити, і не спрацює. Але менеджери продовжують опиратися і наполягати на тому, щоб робота програми перевірялася не вручну, а автоматично, і день за днем замість того, щоб перевіряти, як працюють нові функції, співробітники витрачають час на те, щоб приводити в порядок перевірку одних і тих же старих. При цьому за ті гроші, що цим фахівцям виплачує компанія, можна найняти десяток новачків, які будуть старанно вручну пробегаться за всіма можливими маршрутами, а коли їм через півроку-рік набридне і вони звільняться — замінити новими і все одно залишитися без грошей у виграші. А фахівців з автоматизації можна підключити до справи, коли елементи управління перестануть змінюватися від однієї версії до іншої. Але ж це непрестижно і немодно.

У моїй власній компанії на кухні стоїть кофемашина, якою можна керувати зі смартфона: сидиш за комп’ютером, відправляєш замовлення на еспресо, через пару хвилин йдеш за готовим напоєм. Здавалося б, що може бути зручніше? Але все одно всі готують каву, вручну натискаючи на кнопки, тому що в машину треба засипати каву, доливати води і молока, час від часу спустошувати ємність з гущею, запускати процес очищення, та навіть просто чашку під носик підставляти. Щоб перейти на приготування кави за замовленням зі смартфона або комп’ютера, потрібно домогтися того, щоб кожен співробітник, забираючи свою порцію, перевіряв, що наступного вистачить води, кави та молока, ставив на піддон порожню чашку (до речі, чию, враховуючи, що багато приносять свої?) і взагалі наводив апарат в повну боєготовність. Ніхто не готовий іти на такі кардинальні зміни, а тому простіше виконувати якісь дії руками.

Є таке поняття, як ROI — return on investment, або по-російськи «окупність інвестицій». Перш ніж автоматизувати той чи інший процес, в обов’язковому порядку необхідно розрахувати цей коефіцієнт з урахуванням можливих ризиків. Цілком може виявитися, що вигідніше і наЕкшн ніше буде зберегти посаду асистента заступника молодшого співробітника, який буде коригувати презентації та вносити цифри в табличку, тому що заміна його програмою обійдеться куди дорожче і по грошах і по часу.

І мене задовбали менеджери, які вважають автоматизацію процесів «срібною кулею», здатної вирішити будь-яку проблему, вічно безвідмовної, наЕкшн ним і дешевим, від одного присутності якої підвищується престиж і прибуток компанії. Я не проти автоматизації — зрештою, мені за неї гроші платять, але я за те, щоб застосовувати її у розумних межах.