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

Меня зовут Андрей Сидоренко и я главный специалист по процессному управлению в REG.RU. Я хотел бы рассказать о том, как мы решали вполне типичную для большинства крупных IT-компаний проблему. 

Суть проблемы заключается в большом количестве поступающих в разработку запросов (инцидентов) от служб поддержки и клиентов, которые нужно быстро и по понятным правилам отсортировать, расставить приоритеты, и направить самые нужные в те команды разработки, которые имеют нужные компетенции для решения. 

С этой проблемой я столкнулся примерно два года назад. В то время в разработку поступало 200-350 подобных инцидентов ежемесячно. Они неконтролируемо распределялись по всей компании без четких правил и сроков, и было непонятно, кто, как и когда должен их реализовывать, и нужно ли их вообще реализовывать. Нередко возникал вопрос: а почему простые инциденты, которые можно решить силами клиентских служб, передаются разработчикам? Профильные продуктовые команды разработки испытывали расфокусировку, потому что в их рабочий поток постоянно и неконтролируемо поступали новые задачи. Случалось и такое, что вместо важных и ценных для бизнеса задач решались мелкие и незначительные.

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

Дисклеймер

В статье будет много упоминаний Kaiten ― моего основного инструмента для управления потоком. Я, как аккредитованный тренер по канбан-методу, рекомендую его тем, кто уже зашел дальше, чем визуализация и простые лимиты. Это действительно хороший инструмент, не сочтите за рекламу. 

1. Создание сервиса по обработке и реализации входящих запросов

Мы создали сервис с собственной командой разработки внутри. Сервис будет принимать все входящие запросы от служб поддержки, отсеивать ненужные, сортировать оставшиеся и передавать в разработку только те, которые действительно необходимо сделать. 

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

Процесс, который мы создали с нуля
Процесс, который мы создали с нуля

В Кайтене мы реализовали две потоковые системы:

  • Upstream ― сортирует задачи и доводит до конкретной разработки с нужным функционалом;

  • Delivery ― исправляет инциденты, чтобы как можно скорее закрыть боль клиента, и старается чинить системно повторяющиеся ошибки. Система должна быть стабильной и прогнозируемой.

Пример

Клиент сообщает сотруднику поддержки об инциденте. Сотрудник понимает, что это к разработчикам и передает его в наш сервис. Об инциденте ничего неизвестно: что это такое, для кого, какой приоритет, надо ли вообще решать инцидент, а если надо, то кто его должен решать ― разработчики или кто-то еще? В Upstream менеджер по специальной матрице вручную сортирует задачи и дает ответы на все эти вопросы. Он присваивает задаче определенные тэги и устанавливает метки в Кайтене, с помощью которых можно ориентироваться в общей массе тикетов и собирать статистику.  

Примеры меток выделены красным
Примеры меток выделены красным

У инцидента есть четыре варианта его дальнейшей судьбы:

  • он решается прямо на этом этапе, не дойдя до разработки;

  • мы отказываемся от работы над ним из-за его неактуальности или незначительности;

  • он отправляется на Delivery к разработчикам для решения;

  • он, отсортированный и подготовленный, отправляется к другому исполнителю внутри компании.

2. Upstream ― сортировка задач

Совместно с менеджером, который будет работать в системе, мы спроектировали процесс, который нам показался наиболее подходящим. 

Мы выделили этапы, приоритеты, критерии готовности к взятию (Definitions of Done) и собрали из них вот такой флоу:

Все поступающие задачи мы отправляли в него. Так как инциденты начали скопом падать в одно место, то и копились они с огромной скоростью. 

Спустя месяц работы нашего сервиса доставки (Service Delivery Review) мы получили обратную связь от служб поддержки. По их мнению, некоторые инциденты более приоритетны по отношению к другим. Но, поскольку матрица приоритетов находится дальше по процессу, важные задачи могли зависать в бэклоге, а добирались мы до них только в порядке очереди. 

Для решения этой проблемы мы реализовали простое решение. Чтобы из всего потока выделить те задачи, которые нужно рассмотреть в первую очередь, мы разделили бэклог на две дорожки: «Срочно» и «Не срочно». Оценку срочности задачи доверили клиентским службам, так как на входе они лучше нас знают, что действительно важно. В случае ошибочной оценки дальнейший процесс уточнял критичность и ставил всё на свои места. 

Пусть такая первичная сортировка и была основана на субъективном взгляде, но путем эксперимента выяснилось, что она работает ― сотрудники поддержки на уровне ощущений понимают приоритетность задачи и не отправляют в дорожку «Срочно» всё подряд. В итоге такое решение позволило быстрее сообщать о серьезных инцидентах.

3. Delivery ― реализация задач

Система Delivery должна принимать подготовленные задачи из Upstream, чтобы предсказуемо и стабильно их реализовывать. Вот как мы ее проектировали:

  • визуализировали реальный рабочий процесс, по которому работали разработчики, с набором этапов «в работе», «ревью», «выкатка» и т. д.;

  • определили и визуализировали классы обслуживания на основании матрицы приоритетов: срочно, приоритетно, не приоритетно, рефакторинг;

  • настроили входной буфер в виде отдельного этапа «План» и договорились, что будем пополнять его ежедневно на дейли-митинге. Чтобы понимать объем пополнения, установили входной лимит, который был рассчитан на основании ежедневной пропускной способности. Таким образом система пополнялась ежедневно, но задачи в плане не протухали;

  • договорились о политиках взаимодействия друг с другом (как делаем ревью, устанавливаем блокировки, тэгируем тикеты и т. д.) и соседними командами. Все скриншоты договоренностей зафиксировали в Кайтене, что сильно помогло в спорных ситуациях. Также обсудили элементы визуализации в тикетах (обязательные чек-листы, описания и т.д.) и мероприятия, которые будем проводить.

В итоге у нас получилась канбан-система, подходящая под наше предназначение: «снижение негатива пользователей от багов и шероховатостей системы». Под негативом мы имеем в виду долгое ожидание решения блокирующих вопросов.

Про дорожку «рефакторинг» стоит сказать отдельно. Рефакторинг не является классом обслуживания (Class of Service). Это скорее тип рабочего элемента (Work Item Type), однако мы решили его визуализировать отдельной дорожкой. Дело в том, что в зоне компетенций данной команды такой работы, как рефакторинг, ранее не было. Но в процессе находились участки легаси-кода, которые был смысл рефакторить. В итоге бэклог с информацией о таких участках потихоньку накапливался. Подобная работа не стоила внимания профильных продуктовых команд разработки, но облегчала жизнь в наиболее нестабильных частях системы. Поэтому мы решили параллельно в небольших объемах делать такую работу. 

Такую практику могу порекомендовать тем, кто столкнулся с вечными проблемами, когда незначительный техдолг и рефакторинг копятся на дне бэклога и не получают приоритета. 

Теперь важно было систематизировать поток и посмотреть аналитику по нему.

Кроме самой доски Кайтена, мы использовали различные метки, занимались типизацией работы, установкой блокировок и сбором статистики. Благодаря этому мы могли проанализировать работу нашей системы, ее предсказуемость, распределение времени производства (Lead Time) и узкие места. 

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

  • Throughput ― пропускной способностью в период, 

  • Lead Time по типам работ и классам обслуживания, 

  • данными по количеству и времени блокировок. 

Для метрик мы определили целевые и пороговые значения, на которые стали ориентироваться как на ключевые показатели нашего процесса, а также транслировать их заказчикам в качестве внутреннего SLA (Service Level Agreement). Чтобы понимать, как меняется динамика нашей системы и какие есть возможности принятия оперативных решений, данные показатели мы отслеживали 1-2 раза в месяц.

Анализ пропускной способности первого Upstream с момента поступления инцидентов в бэклог до момента, когда рабочие элементы (Work Item) готовы к работе, показал интересную картину. 

В парах столбцов: левый ― количество пришедших запросов в Upstream, правый ― количество прошедших запросов дальше в Delivery
В парах столбцов: левый ― количество пришедших запросов в Upstream, правый ― количество прошедших запросов дальше в Delivery

Оказалось, что из всех инцидентов, поступающих в Upstream, в реальности до разработки должно доходить меньше половины, а часть из них вполне может решаться силами менеджмента и служб поддержки. 

В среднем из общего количества входящих инцидентов: 

  • около 26% отбрасывалось сразу, не дойдя до Upstream, из-за неактуальности, 

  • около 30% отбрасывалось по той же причине, но уже на этапе Upstream, 

  • около 13% инцидентов решались силами менеджеров и служб поддержки на Upstream, 

  • около 16% отправлялись на Delivery как более приоритетные, 

  • около 12% отправлялись на Delivery как менее приоритетные, 

  • оставшееся небольшое количество распределялось по другим командам компании. 

То есть из числа всех инцидентов за месяц больше 50% были неактуальными. Напомню, что раньше все эти запросы распределялись по внутренним командам разработки, которые тратили время на анализ и исследования по устранению.

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

4. Введение WIP-лимитов ― ограничений по количеству одновременно выполняемых задач

На этом этапе я решил настроить распределение емкости (Capacity allocation) при помощи WIP-лимитов. Причем не только по вертикали, но и по горизонтали. 

Мы изначально понимали, что сделать абсолютно все задачи не получится. А если делать только приоритетные, мы не доберемся до остальных. Именно поэтому мы и организовали классы обслуживания. А чтобы работа шла управляемо и без перекосов, мы установили WIP-лимиты на дорожки (классы обслуживания).

Capacity Allocation. Обновленная визуализация доски на тот момент
Capacity Allocation. Обновленная визуализация доски на тот момент

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

Лимит доски по горизонтали позволил наладить вытягивающую систему, которая сама подсказывала разработчикам, на какую дорожку можно вытягивать задачи в случае освобождения. Меня как менеджера это избавило от ежедневных коммуникаций по вопросам «что взять в работу», «что дальше» и т. д. Свободная емкость системы сама показывала, куда вытягивать следующий рабочий элемент, если в плане пусто. 

5. Кластеризация блокеров и задержек (Blocker Clustering)

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

Пример

У нас было много задач, которые блокировались сразу на входе, потому что по ним не хватало какой-то информации. Разработчик берет работу из плана, знакомится с вводными данными и понимает, что не может приступить из-за нехватки данных или явной зависимости. Поскольку работа блокируется, а система обвешана лимитами, встает вопрос о том, что делать дальше. Лимит ― это не просто ограничение, а важный инструмент в создании сигналов о проблемах в нашей системе, поэтому мы достаточно быстро распознали данный источник задержек и приняли меры. 

Мы внедрили простую договоренность, по которой каждый день после дейли-митинга (10-15 минут) стали тратить несколько минут на просмотр самых близких к плану рабочих элементов на предмет явных источников задержки. Если рабочие элементы вызывают подозрения, то это сигнал на Upstream о том, что элемент нужно дополнительно доработать до взятия в работу. 

В итоге мы на 100% сократили количество задач, которые блокируются сразу на входе, за счет чего время производства по двум классам обслуживания сократилось примерно на один день. 

Как мы проводим анализ блокировок задач в Кайтене

Пошагово про наш сбор данных по блокировкам.

  1. Нужно явное правило, при котором в карточке ставится блокировка.

  2. При блокировке прописывается её контекст. Контекст должен быть понятен всей команде. Если кого-то ждем, то не просто «Ждем», а указываем конкретную причину. Это очень важно.

  3. Периодически собираем данные по блокировкам. Например, раз в месяц. Это делается в «Отчете по блокировкам». Я пользовался Excel-версией отчета для кластеризации. 

  4. Смотрим типы блокировок, их соотношение и на каком этапе они возникали. Например, это можно сделать по тегам в Excel. Так появится понимание, почему задачи блокируются чаще всего. А с этим знанием уже можно придумать решение.

  5. После внесения изменений очень важно в следующем месяце снова собрать данные конкретно по этому кластеру блокировок, чтобы понять, работают ли изменения или нет.

Пример кластеризации в Excel 
Пример кластеризации в Excel 
Пример графика блокировок, на котором видно сокращение кластеров
Пример графика блокировок, на котором видно сокращение кластеров

Я очень рекомендую проводить такую работу. В Кайтене удобно собирать отчеты по блокировкам. Этот хороший инструмент для понимания и управления источниками вариабельности (изменчивости) вашей системы.

О результатах

Нам удалось создать прозрачную, управляемую и предсказуемую систему. Когда мы только создали команду и поработали первый квартал, мы сняли данные по распределению времени производства по приоритетному классу обслуживания. Взяли 85% как наиболее подходящее значение и посчитали, что 85% рабочих элементов завершается за 12 дней. При этом на контрольной диаграмме в Кайтен наблюдались неоднородные кластеры, что, предположительно, говорило о тех самых источниках вариабельности. Мы понимали, что у нас достаточно большой потенциал для снижения времени производства. 

Основные шаги и практики, которые мы применили: 

  • гибкая фильтрация и сортировка задач на Upstream по понятным правилам, 

  • Capacity allocation и WIP-лимиты в Delivery,

  • анализ блокировок и устранение выявленных проблем,

  • постоянные Service Delivery Review с применением информации, полученной по его результатам, 

  • постоянное взаимодействие менеджеров из Upstream и Delivery.

За 3-4 месяца нам удалось сократить время обработки входящих задач с 12 до 7 дней. В настоящее время мы удерживаем его на уровне 6-7 календарных дней. 

При этом основной фокус направлен на решение болей клиентов, что в большинстве случаев происходит в течение нескольких часов с момента попадания запроса. 

Кружки на графике ― задачи. По оси Y ― количество дней, за которое задача закрывалась
Кружки на графике ― задачи. По оси Y ― количество дней, за которое задача закрывалась
На графике по оси X расположены дни, за которые реализовывались запросы, по оси Y количество реализованных запросов. Таким образом, по распределению времени производства понятно, насколько система предсказуема
На графике по оси X расположены дни, за которые реализовывались запросы, по оси Y количество реализованных запросов. Таким образом, по распределению времени производства понятно, насколько система предсказуема

Общие выводы

С помощью применения инструментов канбан-метода и грамотного использования возможностей Kaiten нам удалось разгрузить профильные команды разработки и решить вопрос с непрозрачностью процесса для служб поддержки. За счет такого перераспределения удалось сэкономить на ФОТ значительную сумму ежемесячно. 

Кроме того, мы значительно сократили время на коммуникации ― при такой организации не нужно постоянно задавать друг другу вопросы и узнавать, что вообще происходит с проектом. Нам видна вся система целиком. А автоматическая отчетность и графики значительно экономят время менеджеров. 

К слову, менеджеру при планировании работы с новой командой, обычно требуется плюс-минус три месяца на то, чтобы понять, как там все устроено, собрать данные и проанализировать их. Если же команда использует инструменты, подобные Kaiten, и все корректно настроено, то порог вхождения сильно ниже. В течение пары дней можно получить данные о том, что происходит и составить предположения о проблемах. 

В завершение хочу сказать, что такие инструменты, как Kaiten, действительно экономят много времени при организации потоковых систем. Причем большая часть экономии происходит от применения практик, которые позволяют предотвратить системные проблемы, а не просто их выявить. 

Время экономит не сам инструмент, а умение им пользоваться.

Комментарии (12)


  1. stroitskiy
    31.10.2022 20:49
    +2

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

    Тоже самое касательно работы с бизнес требованием и консультациями.


    1. AndyJack Автор
      01.11.2022 08:25
      +1

      Попробую прокомментировать, чтобы не нарушить nda.
      Изначальной задачей выделения сервиса и внедрения и организации работы с потоком были:
      -создание управляемой системы
      -создание прозрачности в том, как работа движется.
      С целью снизить количество проблем и негатива клиентов и внутренних заказчиков, участвующих в процессе.
      Различные бонусы в виде того, что нам стало понятно, сколько времени на каком этапе работа залипает, где какие зависимости и задержки появились в том числе благодаря этому.
      Выкатка - да, тут имеется ввиду деплой. Дело в том, что так массово статистику по деплою особо не собирали до того, как мы начали собирать статистику именно в этом сервисе. Если масштабировать всю ситуацию на компанию, то там может быть приличная экономия. В разрезе данного сервиса мы в итоге прилично сэкономили благодаря оптимизациям в деплое.
      Система управления инцидентами позволила сделать практически безпроблемное взаимодействие между службами поддержки и разработкой. То есть временные затраты на взаимодействие свелись к ревью 1 раз в месяц по 1 часу, где мы собирали обратную связь и вносили изменения в систему.
      Где именно удалось сэкономить больше, а где меньше мы считать не стали, так как не было в этом нужды. Обратная связь от внутренних заказчиков и других команд, участвующих в процессах показала, что количество неудовлетворенностей друг к другу снизилось практически до нуля. В этом плане цель была полностью достигнута.
      В целом гипотезу того, что оптимизациями можно сэкономить больше денег и времени, чем внедрением систем управления я понимаю. Оспорить или, наоборот подтвердить именно в данном случае, не могу. Спасибо за комментарий.


  1. progchip666
    31.10.2022 21:27
    +1

    В Райфайзине "оптимизировали" работу чата, правда отзывы клиентов скатились с 5 до 1.5 баллов по пятибальной шкале от внедрения виртуальной ИИ женщины, которая не способна ни на один вопрос ответить, но судя по всему айтишники довольны они уже полтора года за её обучение получают деньги и видимо не малые и похоже эта работа постоянная, как у психотеропевта - пока банк не лопнет.


    1. AndyJack Автор
      01.11.2022 08:33
      +2

      Хороший коммент. Вот прям понимаю о чем вы))) Мы следили за NPS и контекстом отзывов от реальных клиентов по нашей части. Из общей массы обращений ежемесячно их было не так много, но мы трепетно относились к тому, чтобы не просадить показатели. Наша система отсева показала себя хорошо и падения пользовательских оценок не было. В общем мы даже заметили положительную динамику в росте оценок касательно обращений в поддержку.


      1. progchip666
        01.11.2022 09:08

        Профессиональный новояз силён! Деньги вам платят не зря.

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

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

        Личные кабинеты, платежи, отчёты о потраченных средствах... Всё на высшем уровне. Чаты с банковским работником...

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

        Отрицательные отзывы недовольных клиентов напрочь игнорируются и ситуация не меняется уже скоро как третий год... Ожидание в течение получаса когда железяка наконец перестанет выдавать тебе абсурдные ответы и подключит к чату сотрудника банка доводит до белого каления, особенно с учётом того, что чат нельзя оставлять без присмотра в период ожидания - через пару минут коннект разрывается, необходимо снова набирать пароль, входить в систему и начитать новый этап общения с шелезякой.


        1. AndyJack Автор
          01.11.2022 10:06

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

          Могу сказать, как на тот момент своей деятельности мы это делали. Сейчас я давно перешел на другие проекты.
          Напомню - контекст в данном случае касается только решения инцидентов. Вопросами учета мнений о доработках и прочих изменениях в продуктах - занимаются отдельные владельцы продуктов.
          Когда только мы запустили сервис, мы задались вопросом о том, как мы проверим, что конечным клиентом стало лучше/хуже/все равно.
          Мы поработали по трём основным направлениям:
          1.Стали внимательно следить за ежемесячными отчетами NPS - внимательно читая контекст в поисках отзывов людей, которые относились именно к нашей работе. Как я уже писал - таких отзывов было очень много.
          По этой части были видны незначительные изменения, которые косвенно можно связать с нашими нововведениями. Отзывов о долгих ожиданиях решений проблем стало меньше (незначительно)
          2.Далее я применял инструменты из f4p, а именно fitness box score (специальные опросники) на разной выборке людей для того, чтобы снять более контекстные данные. Специфика такого опроса подразумевала меньше эмоций и больше конкретики.
          Здесь ничего значительного накопать не удалось, в основном были достаточно высокие оценки работы служб поддержки (быстрое решение вопросов и т.д.) что-то порядка 80%. По итогу fbs бросили, потому что трудозатратно.
          3.Пробовали так же копать в оценки работы служб поддержки, которые оставляли клиенты, чтобы посмотреть, что они пишут.
          Там были видны улучшения. которые в основном касались того, что теперь инцидент, который явно должен быть взят в одну из первых очередей (много ожидающих клиентов, сложно достичь своей цели в процессе) - действительно брался и решался в одну из первых очередей.

          На самом деле, пробовали много всякого, но в сухом остатке я могу сказать следующее. Офигенно сложно в чистом виде получить мнения клиентов, напрямую связанные с теми изменениями которые мы сделали. Честно говоря, практически нигде я такого прям в живую не видел. Поэтому, в основном это косвенные признаки.
          P.S. По поводу "профессионального новояза" не до конца понял, что вы имели ввиду. С вашего позволения спрошу в личке.


          1. progchip666
            01.11.2022 10:31

            Спасибо за пояснения. Было интересно пообщаться с человеком "по ту сторону барьера". Получить "обратную связь" c репрезентативной выборкой в короткое время думаю действительно очень сложно.

            В моём случае в конце общения в чате можно было нажать на кнопку доволен/ недоволен, но проблема заключалась в том, что когда через пол часа удавалось таки достучаться сквозь эту мерзкую ИИ барышню до реального оператора - человека, проблема решалась быстро и хорошо. Отдельно оценки барышне ИИ и человеку поставить невозможно. Ставить плохую оценку оператору рука не поднимается, он то свою работу выполнил на отлично. В результате естественно никакого толку от подобных оценок нет. Люди крайне раздражены идиотизмом нововведений, но ставят плюсик за работу оператора...


            1. AndyJack Автор
              01.11.2022 10:46

              Оххх, так это реально печально. По сути мы выдаем желаемое за действительное, при этом еще и клиента в неловкое положение ставим. Я такое встречал в компаниях. Как правило это из-за фокуса только на задачи/проекты/работу. Без взгляда на ценность. Я эту тему здесь разводить не буду, пожалуй) Об этом готов в личке общаться с теми, кому интересно)


  1. ozzyBLR
    01.11.2022 09:30

    Интересный пример из жизни, спасибо, хотя подача немного тенденциозная.
    такие инструменты, как Kaiten, действительно экономят много времени
    Основной момент, который помог ускорить решение запросов, это сортировка задач, поиск и отброс неактуального.
    больше 50% были неактуальными
    И уже дальше начинается приоритезация, классы сервисов, WIPы и т.п. Это как сказать, что у меня дома стало чище благодаря роботу-пылесосу, когда одновременно с эти я перестал ходить по квартире в уличной обуви.
    Подчеркну, что это не умаляет того факта, что внедрённые практики принесли пользу и вообще являются шагами в правильном направлении. Вопрос в акцентах.
    Ну и вот эти 56% неактуальных запросов - это же очевидно пользовательская боль. Может, где-то пользователи натыкаются на "не баг, а фичу", где-то просто путаются в UI, но тем не менее. На запросы в поддержку нужно смотреть не только с т.з. траты ресурсов саппорта на их разрешение, но и на потерянное время для пользователей. В общем, было бы здорово "в следующей серии" почитать про решение этой проблемы.


    1. AndyJack Автор
      01.11.2022 10:32

      Спасибо за комментарий. По поводу инструментов я написал честный дисклеймер. Да и когда писал статью предполагая, что это так может быть воспринято.

      Я тут по факту вижу два основных вопроса:
      1. Инструмент или практики помогли сделать изменения и добиться результата?
      2. 56% неактуальных запросов - вдруг там действительно что-то важное и не было ли такого, что важное для клиента мы считали неактуальным.

      На первый вопрос отвечу однозначно так: именно практики, такие ,как приоритизация, классы обслуживания, изменения договоренностей с командами и службами поддержки помогли сделать хорошие изменения. Инструмент в данном случае - это удобство реализации этих практик. Я старался акцентировать внимание на кайтен специально в разрезах его фишек и удобстве. Например, в других инструментах невозможно нормально реализовать такие вещи, как кластеризщция блокировок, сквозные классы обслуживания, удобные лимиты, несколько досок под разные нужды. Несколько графиков, которые можно выгрузить достаточно быстро и посмотреть, не колдуя с ексель. В общем, мой акцент был в этом.

      По второму вопросу: мы взяли для себя матрицу ZeroBugPolicy, основанную, на количестве клиентов, которых затронул инцидент и работоспособности бизнес процесса. То есть, если один клиент столкнулся с косметической проблемой и оповестил нас, то это будет считаться неактуальным. Так же в неактуальные попадают запросы, которые на момент создания были действительными, но в момент проверки стали уже неактуальными (починилось, показалось и т.д.). Там много различных кейсов. Все описывать не буду. Такая система не идеальна и действительно может в каких-то случаях упустить из вида важные нгеобходимые доработки типа путаницы с UI и т.д.. Для этого по ходу мы внедряли несколько решений, таких как кластеризация таких одиноких запросов при взаимодействии с самими службами поддержки. Ретроспективный анализ всего входящего потока для выявления кластеров таких запросов. Передавали часть в продуктовые команды. Кое-где даже зарядили большой рефакторинг одной из систем, которая вызывала по паре десятков инцидентов в месяц.

      В общем, тут действительно можно отдельную статью писать. Спасибо вам за комментарий, всегда интересен взгляд на написанное со стороны.


  1. KornevUcoz
    02.11.2022 10:05

    Коллеги, я вот на какую фразу обратил внимание :"мы отказываемся от работы над ним из-за его неактуальности или незначительности". А как вы это регламентировали? Ведь для того, кто этот тикет создал (часто внутренний заказчик) для него это важно. Да лично для него или его блока. Вы, может и понимаете что в масштабах всей системы этот тикет незначительный и его отработка встанет в несоразмерную сумму или затраты времени. Как тут поступаете?


    1. AndyJack Автор
      02.11.2022 11:01

      Как это делали мы: концептуально - мы создали совместную гибкую и эволюционирующую система договоренностей (набор правил), собственно это одна из практик Канбан метода. Она выглядит как матрица классов обслуживания и приоритетов, на которой видно, что и по каким критериям занимает большую емкость команды, что меньшую, что берется в первый приоритет, что во второй, что не берется. Так же она включала в себя правила, какой тикет у куда создавать ,что в нем писать. Она прозрачная и понятная. Лежит на виду у любого сотрудника. Тут важно, что это не регламент. На специальной встрече мы отработали возражение, внесли корректировки и согласовали эту матрицу между всеми участниками процесса: службы поддержки, менеджеры, другие команды. Сделали специальную систему тегирования, по которой сразу видно, как приоритет поступил к ни на входящую доску. То есть внутри нашей компании любой прилетающий инцидент из Upstream доски уже с тегом и понятно, куда его пихать. Далее мы эту систему корректировали в зависимости от возникающих кейсов в системе. Целью было автоматизировать большую часть потока, чтобы менеджер принимал решение действительно по важным кейсам, а не по основной массе задач.
      Конечно, там множество различных кейсов. Когда система считает ,что это незначительно, а на самом деле кто-то очень громко говорит, что это очень важно. Мы просто шли и разбирались ,в чем суть кейса, почему это важно или неважно и по необходимости вносили корректировки в систему. Примерно 99% всех случаев наша система договоренностей автоматизировала. В среднем осталось меньше 1 случая в месяц в среднем, когда было непонятно, куда положить ту или иную задачу.
      Тут вопрос именно гибкости. Мы , как менеджмент были полностью открыты к диалогу, явно и прозрачно оповещали всех участников об изменениях, пропагандировали это в команды разработки.
      В дальнейшем было желание выйти с подобной системой на диалог с клиентами и попробовать откорректировать нашу матрицу на основании обратной связи от них. Но я ушел оттуда раньше.
      P.S. Я понимаю, что это общие слова. Если где-то есть уточнения - спрашивайте. Можете зайти в личку, я прокомментирую.