Далеко не серебряная пуля
Я уже не первый год работаю именно в сфере автоматизации и знаю её плюсы и минусы. Безусловно, она полезна и важна. Она исключает так называемый человеческий фактор и не ошибётся, записывая число в ячейку, не уйдёт в важный момент попить кофе или отвезти ребёнка к врачу и не откажется работать сверхурочно.
Но любой алгоритм, заменяющий собой обычного работника, — это в первую очередь алгоритм. Он не способен немедленно подстраиваться под изменения в требованиях, в нём, как и в любой программе, могут крыться ошибки, его внедрение требует изменения уже сложившихся процессов, а стоимость его разработки и поддержки (про последнюю почему-то почти всегда забывают) может попросту не окупаться. И даже если она окупается, это не отменяет возможных проблем, к которым нужно быть готовым.
Вот бюджетная организация — крупная клиника областного значения, в которой давным-давно были автоматизирован учёт расходных материалов (бинты, шприцы, лекарственные препараты, одноразовые перчатки для врачей и так далее). Проблема в том, что это «давным-давно» означает, что программа была написана на ныне устаревшем и никому не известном языке. И когда возникла необходимость синхронизировать данные с центральным государственным сервером, чтобы учитывать расход материалов не только в отдельно взятой клинике, но и по всей стране, руководство ударилось в панику, потому что последнего сотрудника, знавшего этот древний язык, уже успели проводить на пенсию. В восемьдесят лет. Точнее, занимавшая этот ответственный пост бабушка решила наконец уволиться (и кто может её осудить?) — а на замену ей никого нельзя найти. Подсуетиться бы заранее, но кто будет выделять деньги на модернизацию того, что и так работает? И плевать, что врачи и медсёстры уже давно вручную подправляли результаты работы старой программы, потому что она чем дальше, тем больше отставала от реалий: не учитывала новых категорий материалов, не генерировала отчёты в нужных форматах, периодически подвисала и теряла данные. И сколько времени (между прочим, тоже оплачиваемого) у этих людей ушло на то, чтобы подчищать хвосты, никто не считал. Клиника в спешном порядке объявляет тендер, «переезжает» на современную систему, весь персонал работает сверхурочно, изучая её и перенося в неё данные, всё горит.
Вот компания, которая разрабатывает софт для финансовых организаций. Для тестирования этого софта решено использовать автоматические тесты. Но тесты написаны неопытными, отвратительно знающими программирование людьми, и в итоге гордое заявление руководства «У нас есть автоматизированные тесты!» ничего не стоит, потому что эти тесты постоянно и непредсказуемо ошибаются, и для проверки того, что программа работает, сотрудники всё равно запускают её и выполняют все действия руками. А времени на починку или, по-хорошему, полное переписывание тестов на более надёжной и стабильной основе менеджеры не дают — а зачем, у нас же уже есть тесты, как они могут сломаться? Как в старом анекдоте:
— Ваня, у меня голова болит…
— Чему там болеть, там же кость?
Вот другая компания, которая разрабатывает приложения для мобильных телефонов. Заказчики еженедельно прибегают с новыми предложениями, и внешний вид программы меняется на глазах: одни кнопки заменяются другими, исчезают и появляются пункты меню, переезжают с места на место странички. Автоматический тест — это, увы, не умный робот, который умеет сам понимать, что видит на экране, а строгий набор инструкций: найди всплывающее окошко, нажми кнопку «ОК», перейди на следующую страницу. Если окошко не всплывёт или их появится два, тест уже не будет знать, что делать, и не сработает. Но менеджеры продолжают упорствовать и настаивать на том, чтобы работа приложения проверялась не вручную, а автоматически, и день за днём вместо того, чтобы проверять, как работают новые функции, сотрудники тратят время на то, чтобы приводить в порядок проверку одних и тех же старых. При этом за те деньги, что этим специалистам выплачивает компания, можно нанять с десяток новичков, которые будут старательно вручную пробегаться по всем возможным маршрутам, а когда им спустя полгода-год надоест и они уволятся — заменить новыми и всё равно остаться по деньгам в выигрыше. А специалистов по автоматизации можно подключить к делу, когда элементы управления перестанут меняться от одной версии к другой. Но это же непрестижно и немодно.
В моей собственной компании на кухне стоит кофемашина, которой можно управлять со смартфона: сидишь за компьютером, отправляешь заказ на эспрессо, спустя пару минут идёшь за готовым напитком. Казалось бы, что может быть удобнее? Но всё равно все готовят кофе, вручную нажимая на кнопки, потому что в машину нужно засыпать кофе, доливать воды и молока, время от времени опустошать ёмкость с гущей, запускать процесс очистки, да даже попросту чашку под носик подставлять. Чтобы перейти на приготовление кофе по заказу со смартфона или с компьютера, нужно добиться того, чтобы каждый сотрудник, забирая свою порцию, проверял, что следующему хватит воды, кофе и молока, ставил на поддон пустую чашку (кстати, чью, учитывая, что многие приносят свои?) и вообще приводил аппарат в полную боеготовность. Никто не готов идти на такие кардинальные изменения, а потому проще выполнять какие-то действия руками.
Есть такое понятие, как ROI — return on investment, или по-русски «окупаемость инвестиций». Прежде чем автоматизировать тот или иной процесс, в обязательном порядке необходимо рассчитать этот коэффициент с учётом возможных рисков. Вполне может оказаться, что выгоднее и надёжнее будет сохранить должность ассистента заместителя младшего сотрудника, который будет корректировать презентации и вносить цифры в табличку, потому что замена его программой обойдётся куда дороже и по деньгам, и по времени.
И меня задолбали менеджеры, считающие автоматизацию процессов «серебряной пулей», способной решить любую проблему, вечно безотказной, надёжной и дешёвой, от одного присутствия которой повышается престиж и прибыль компании. Я не против автоматизации — в конце концов, мне за неё деньги платят, но я за то, чтобы применять её в разумных пределах.
Но любой алгоритм, заменяющий собой обычного работника, — это в первую очередь алгоритм. Он не способен немедленно подстраиваться под изменения в требованиях, в нём, как и в любой программе, могут крыться ошибки, его внедрение требует изменения уже сложившихся процессов, а стоимость его разработки и поддержки (про последнюю почему-то почти всегда забывают) может попросту не окупаться. И даже если она окупается, это не отменяет возможных проблем, к которым нужно быть готовым.
Вот бюджетная организация — крупная клиника областного значения, в которой давным-давно были автоматизирован учёт расходных материалов (бинты, шприцы, лекарственные препараты, одноразовые перчатки для врачей и так далее). Проблема в том, что это «давным-давно» означает, что программа была написана на ныне устаревшем и никому не известном языке. И когда возникла необходимость синхронизировать данные с центральным государственным сервером, чтобы учитывать расход материалов не только в отдельно взятой клинике, но и по всей стране, руководство ударилось в панику, потому что последнего сотрудника, знавшего этот древний язык, уже успели проводить на пенсию. В восемьдесят лет. Точнее, занимавшая этот ответственный пост бабушка решила наконец уволиться (и кто может её осудить?) — а на замену ей никого нельзя найти. Подсуетиться бы заранее, но кто будет выделять деньги на модернизацию того, что и так работает? И плевать, что врачи и медсёстры уже давно вручную подправляли результаты работы старой программы, потому что она чем дальше, тем больше отставала от реалий: не учитывала новых категорий материалов, не генерировала отчёты в нужных форматах, периодически подвисала и теряла данные. И сколько времени (между прочим, тоже оплачиваемого) у этих людей ушло на то, чтобы подчищать хвосты, никто не считал. Клиника в спешном порядке объявляет тендер, «переезжает» на современную систему, весь персонал работает сверхурочно, изучая её и перенося в неё данные, всё горит.
Вот компания, которая разрабатывает софт для финансовых организаций. Для тестирования этого софта решено использовать автоматические тесты. Но тесты написаны неопытными, отвратительно знающими программирование людьми, и в итоге гордое заявление руководства «У нас есть автоматизированные тесты!» ничего не стоит, потому что эти тесты постоянно и непредсказуемо ошибаются, и для проверки того, что программа работает, сотрудники всё равно запускают её и выполняют все действия руками. А времени на починку или, по-хорошему, полное переписывание тестов на более надёжной и стабильной основе менеджеры не дают — а зачем, у нас же уже есть тесты, как они могут сломаться? Как в старом анекдоте:
— Ваня, у меня голова болит…
— Чему там болеть, там же кость?
Вот другая компания, которая разрабатывает приложения для мобильных телефонов. Заказчики еженедельно прибегают с новыми предложениями, и внешний вид программы меняется на глазах: одни кнопки заменяются другими, исчезают и появляются пункты меню, переезжают с места на место странички. Автоматический тест — это, увы, не умный робот, который умеет сам понимать, что видит на экране, а строгий набор инструкций: найди всплывающее окошко, нажми кнопку «ОК», перейди на следующую страницу. Если окошко не всплывёт или их появится два, тест уже не будет знать, что делать, и не сработает. Но менеджеры продолжают упорствовать и настаивать на том, чтобы работа приложения проверялась не вручную, а автоматически, и день за днём вместо того, чтобы проверять, как работают новые функции, сотрудники тратят время на то, чтобы приводить в порядок проверку одних и тех же старых. При этом за те деньги, что этим специалистам выплачивает компания, можно нанять с десяток новичков, которые будут старательно вручную пробегаться по всем возможным маршрутам, а когда им спустя полгода-год надоест и они уволятся — заменить новыми и всё равно остаться по деньгам в выигрыше. А специалистов по автоматизации можно подключить к делу, когда элементы управления перестанут меняться от одной версии к другой. Но это же непрестижно и немодно.
В моей собственной компании на кухне стоит кофемашина, которой можно управлять со смартфона: сидишь за компьютером, отправляешь заказ на эспрессо, спустя пару минут идёшь за готовым напитком. Казалось бы, что может быть удобнее? Но всё равно все готовят кофе, вручную нажимая на кнопки, потому что в машину нужно засыпать кофе, доливать воды и молока, время от времени опустошать ёмкость с гущей, запускать процесс очистки, да даже попросту чашку под носик подставлять. Чтобы перейти на приготовление кофе по заказу со смартфона или с компьютера, нужно добиться того, чтобы каждый сотрудник, забирая свою порцию, проверял, что следующему хватит воды, кофе и молока, ставил на поддон пустую чашку (кстати, чью, учитывая, что многие приносят свои?) и вообще приводил аппарат в полную боеготовность. Никто не готов идти на такие кардинальные изменения, а потому проще выполнять какие-то действия руками.
Есть такое понятие, как ROI — return on investment, или по-русски «окупаемость инвестиций». Прежде чем автоматизировать тот или иной процесс, в обязательном порядке необходимо рассчитать этот коэффициент с учётом возможных рисков. Вполне может оказаться, что выгоднее и надёжнее будет сохранить должность ассистента заместителя младшего сотрудника, который будет корректировать презентации и вносить цифры в табличку, потому что замена его программой обойдётся куда дороже и по деньгам, и по времени.
И меня задолбали менеджеры, считающие автоматизацию процессов «серебряной пулей», способной решить любую проблему, вечно безотказной, надёжной и дешёвой, от одного присутствия которой повышается престиж и прибыль компании. Я не против автоматизации — в конце концов, мне за неё деньги платят, но я за то, чтобы применять её в разумных пределах.
4 комментария
они реально пишут на отъебись, мало что за собой проверяют и сырой продукт быренько передают пользователю, попутно чиня баги, которые постоянно возникают, и пр и пр.
действительно бывает такое, что автоматизация не всегда оптимальна/окупаема, все надо считать заранее (а потом умножать на x1,5-3)