Зачем бизнесу непрерывные улучшения
Представьте себе компанию, которая решила масштабироваться, не устранив свои внутренние проблемы. Это как пытаться построить небоскреб на болоте: красиво, но недолго. Без системы непрерывных улучшений вы просто увеличиваете масштаб своих проблем. Вместо того чтобы нанимать больше неэффективных сотрудников или удваивать объемы продаж без контроля, лучше сначала навести порядок внутри. А наводить порядок для начала следует с четкого понимания роли каждого отдела, а затем и каждого отдельного человека в компании.
Начинаем с продукта
Продукт — это не только то, что вы продаете клиенту, но и то, что создается внутри компании: процессы, коммуникации, показатели. Если внутренние продукты хромают, внешний продукт тоже будет страдать. Именно поэтому начните с улучшения внутренних процессов, чтобы внешние результаты не заставили себя ждать.
Вообще, построение внутренних продуктов и продуктовый подход к работе — это первая и самая страшная боль. Особенно на примере таких непростых сфер, как программирование или digital-маркетинг. Давайте на примере разработчика на Java и посмотрим, как строится продукт.
Разработка — это не «пишу код», не «делаю фичи» и даже не «разрабатываю микросервисы».
Продукт разработчика — рабочий функционал, решающий конкретную задачу бизнеса.
Понимание продукта разработчика
Давайте попробуем описать еще точнее продукт Java-разработчика — это стабильный, масштабируемый, читаемый и легко поддерживаемый код, который:
- выполняет бизнес-логику (например, рассчитывает скидку по акции);
- стабильно работает в проде (привет логированию и мониторингу);
- легко модифицируется и тестируется (иначе саппорт — это ад);
- интегрируется с другими системами (а без API вообще сейчас никто не живет).
Далее весь цикл будем строить исходя из этого посыла. И на конкретном примере: пусть в проекте есть сервис DiscountService, который рассчитывал скидку по текущим акциям. Пользователи начали жаловаться: скидка не применяется, когда нужно, а иногда применяется, когда вообще не положено.
Что такое PDCA и зачем он нужен
PDCA — это аббревиатура от Plan (планировать), Do (делать), Check (проверять), Act (действовать). Этот цикл помогает системно подходить к улучшениям: сначала вы планируете изменения, затем внедряете их, проверяете результаты и, наконец, корректируете действия. И так по кругу, пока не достигнете совершенства или не устанете. Но, как мы уже поняли, планировать надо с какого-то базиса. Здесь нам и помогает продукт. Давайте и далее работать с примером разработчика. И да, пару советов: не пытайтесь улучшить всё сразу — это путь к выгоранию, начните с самого болезненного места в вашем бизнесе. Если не знаете, где болит, смотрите на ваши продукты: чтобы они работали, им нужны процессы. Составьте список всех процессов и выберите тот, что вызывает наибольшее раздражение. Это и будет вашей отправной точкой.
Шаг 1. Планируем (Plan)
На этом этапе вы определяете, что именно хотите улучшить, и разрабатываете план действий. Если у вас есть гипотеза, как это сделать, — отлично. Если нет — тоже неплохо, просто начните с описания текущего процесса и подумайте, какие изменения могут привести к улучшению. Не забудьте определить показатели успеха, ресурсы и ответственных лиц, но это уже про SMART, и об этом будет в отдельном материале.
Проблема: скидки рассчитываются неправильно, особенно если акция зависит от времени и типа клиента.
Гипотеза: расчет не учитывает часовой пояс клиента и тип его аккаунта.
План действий:
- Собрать примеры ошибочных расчетов.
- Проверить бизнес-логику в DiscountService.
- Написать юнит-тесты под edge-кейсы (время до и после полуночи, разные типы клиентов).
- Добавить логирование в проде для отладки.
Ожидаемый результат: скидка применяется корректно в 100% случаев по новым тестам.
Шаг 2. Делаем (Do)
Теперь пора внедрять план в жизнь. Обеспечьте команду всеми необходимыми ресурсами: инструкциями, инструментами, поддержкой. Не бойтесь экспериментировать, но делайте это осознанно и с пониманием возможных последствий.
- Провел код-ревью текущей логики (нашел хардкод UTC+3 — привет Москве!).
- Переделал расчет с учетом часового пояса клиента.
- Добавил использование enum ClientType, чтобы скидки применялись по типу.
- Написал новые юнит-тесты.
- Протестировал в стейджинге.
- Залил фичу под флаг в прод, включил только для определенной группы клиентов.
Код добавлен, логика протестирована, всё вроде летает.
Шаг 3. Проверяем (Check)
После внедрения изменений важно оценить их эффективность. Сравните фактические результаты с планируемыми, выявите отклонения и проанализируйте причины. Это поможет понять, что сработало, а что требует доработки или полного пересмотра.
В конце спринта:
- Количество жалоб на скидки снизилось с 12 в неделю до 1.
- Логи показывают: скидка применяется по нужной логике.
- A/B-группа с новым расчетом показала увеличение среднего чека на 7%.
Разбор:
- Что сработало? Учет времени, тип клиента, тесты.
- Что не сработало? В логах не хватало ID заказа — сложно отлаживать.
- Что можно сделать лучше? Добавить trace-id и связать с ошибками в баг-трекере.
- Что оставить? Новую логику расчета скидок и тесты.
Шаг 4. Действуем (Act)
Казалось бы, всё, но еще не всё. Если изменения дали положительный результат, внедрите их на постоянной основе. Если нет — скорректируйте план и повторите цикл. Помните, что PDCA — это непрерывный процесс, и каждый новый цикл приближает вас к идеалу (или хотя бы к лучшему состоянию, чем было).
Какие выводы удалось сделать:
- Перевели новую логику в прод для всех.
- Удалили старый код (спасибо за годную архитектуру — всё в отдельных классах).
- Добавили trace-id в логирование и связали с Sentry и Jira.
- Заложили в CI шаг проверки на корректность бизнес-логики с тест-кейсами.
- Обновили Confluence-документацию по скидкам.
- Поставили себе напоминание через месяц проверить метрики.
И давайте еще разок, только кратко, емко и в формате понятной таблички:
Какие результаты в целом даст такой подход
Внедрение PDCA приведет к созданию системы долгосрочного и краткосрочного планирования, улучшению процессов, повышению качества продукции и услуг, снижению издержек и повышению мотивации сотрудников. Кроме того, вы сможете быстрее достигать поставленных целей и задач благодаря постоянному контролю и улучшению процессов. Внедрение PDCA — это не панацея, но эффективный инструмент для системного подхода к улучшениям. Он помогает не только выявлять и устранять проблемы, но и создавать культуру постоянного совершенствования внутри компании. Так что, если вы хотите превратить хаос в управляемый процесс, начните с PDCA.