Аладдин Биябангерд
ТекстыПродукт

Если процесс не понятен, программа не сотворит чудо

Автор:Аладдин БиябангердОпубликовано:4 мин чтения

На обсуждениях проектов иногда можно услышать такое ожидание:

«Когда появится система, всё само встанет на свои места».

Я отношусь к этой мысли с осторожностью.

Потому что программа не создаёт процесс.

Она лишь переводит в систему то, что уже существует — хорошее или плохое.

Если непонятно, кто что делает, когда принимается решение и кто отвечает за нестандартные ситуации, никакой интерфейс не сможет заполнить этот пробел.

В лучшем случае проблема просто переместится за другой экран.

Программа отражает процесс

Хорошая система обычно держит ясными три вещи:

  • кто за что отвечает
  • что на самом деле означает каждый статус
  • какие действия можно отменить, а после каких шагов возврат уже невозможен

Необязательно, чтобы всё это было оформлено в виде большого регламента. Но как минимум команда должна понимать эти правила одинаково.

Иначе каждая новая кнопка порождает новый спор:

«Что означает этот статус?»

«Кто может его изменить?»

«Почему система это разрешила?»

Проблема не в технологии.

Проблема в том, что правила работы не были согласованы.

Автоматизация может ускорить и хаос

Если автоматизировать понятный и выстроенный процесс, работа становится проще.

Если автоматизировать хаотичный процесс, ошибки просто начинают распространяться быстрее.

Например:

  • один и тот же заказ отображается как «готов» сразу в двух местах
  • оплата отражается в одной системе, а соответствующий статус в другой не меняется
  • один сотрудник знает, как обработать нестандартную ситуацию, а другой действует строго по системе и получает другой результат

В таких случаях люди часто обвиняют систему.

Но на самом деле система просто показывает реальность, о которой команда раньше не договорилась.

Сначала я задаю эти вопросы

До того как писать код, я обычно спрашиваю:

  • Как этот процесс действительно работает сегодня — не в идеале, а на практике?
  • Где чаще всего возникают задержки или что-то теряется?
  • Какие решения должен принимать человек, а какие можно передать системе?
  • Кто отвечает за нестандартные ситуации и как они фиксируются?
  • Когда кто-то говорит «готово», все ли понимают под этим одно и то же?

Если ответы короткие, противоречивые или разные у разных людей, сначала мы разбираемся с процессом.

И только потом строим систему.

Вывод

Программа — не волшебство.

Она делает понятные правила быстрыми и повторяемыми.

Если правила не определены, сначала нужно определить их — на бумаге, в разговоре, на диаграмме. Формат не так важен.

Потому что если загрузить в систему то, что ещё не понятно самим людям, в итоге можно получить не решение проблемы, а её более дорогую и быструю версию.