19 авг. 2024 г.·7 мин чтения

Инвентаризация сервисов для команд с слишком большим количеством софта

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

Инвентаризация сервисов для команд с слишком большим количеством софта

Почему унаследованный софт превращается в хаос

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

Чаще всего софт появляется случайно. Менеджер приносит с прошлой работы приложение для отчётов. Агентство настраивает дашборд и уходит. Разработчик добавляет инструмент мониторинга во время сбоя и потом его не убирает. По отдельности каждое решение выглядит разумным. Хаос проявляется позже, когда таких решений накапливается слишком много и их никто не записывает.

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

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

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

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

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

Что записывать по каждому инструменту

Если в таблице будет 20 колонок, никто не будет её поддерживать. Инвентаризация сервисов лучше всего работает, когда она остаётся небольшой и понятной.

Сначала укажите точное название инструмента, а потом добавьте имя, которое команда действительно использует внутри. Это кажется мелочью, но экономит много времени. Одна компания может платить за «Google Workspace», а команда называть это просто «почта» или «Drive». Другой инструмент в бюджете может идти как «Figma», а дизайнеры будут говорить про него как про «приложение для прототипов».

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

Потом коротко опишите основной сценарий использования. Пишите просто: «Хранит макеты продукта». «Отправляет счета». «Отслеживает обращения в поддержку». Если для объяснения нужно три предложения, возможно, команда уже использует инструмент для слишком разных задач.

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

  • Низкий: публичный контент или работа без данных клиентов
  • Средний: внутренние документы, сообщения команды или базовые данные клиентов
  • Высокий: платёжные данные, юридические записи, данные о здоровье, исходный код или полные аккаунты клиентов

На этом этапе не нужен полноценный security review. Нужен только быстрый способ понять, какие инструменты заслуживают более внимательной проверки до объединения, замены или удаления.

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

Хорошая строка может выглядеть так: «Loom», в команде называется «видео-обновления», владелец Nina, используется для записи внутренних демо продукта, риск средний, ежегодное продление в октябре, $1,200 в год. Этого достаточно, чтобы понять, что оставить, что дублируется и что нужно проверить внимательнее.

Как собрать первую инвентаризацию

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

Сведите эти записи в одну таблицу и сначала используйте простые названия поставщиков. Не ждите идеальных ярлыков. «Slack», «Slack Technologies» и «slack.com» могут вести к одному и тому же инструменту. Это можно привести в порядок на следующем проходе.

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

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

Первый проход обычно собирается из пяти источников:

  • выписки по картам
  • счета от поставщиков
  • списки приложений в системе идентификации
  • закладки команды или сохранённые логины
  • короткие ответы от руководителей команд

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

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

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

Как оценивать риск данных без лишних сложностей

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

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

Примерной схемы достаточно:

  • Низкий: публичный контент, базовые заметки или инструменты, которые не хранят чувствительные данные
  • Средний: внутренние рабочие данные, которые создадут путаницу или задержку, если их увидят посторонние
  • Высокий: данные клиентов, финансовые, юридические, данные сотрудников или информация, связанная с безопасностью

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

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

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

Простой пример делает шкалу понятнее. HR-система с файлами по зарплате — высокий риск. Внутренняя вики с заметками о процессах — средний риск. Опросник для публичной обратной связи с мероприятия — низкий риск.

Если два человека не согласны с меткой, выбирайте более высокую и идите дальше. Скорость важнее ложной точности.

Простой пример из реальной команды

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

В компании на 27 человек софт рос очень быстро. Приходили новые сотрудники, старые инструменты оставались, и никто не останавливался, чтобы спросить, у каких приложений вообще ещё есть понятная задача.

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

Простая таблица быстро изменила разговор. В ней были владелец, основное использование, риск данных и дата продления. Уже через час первый черновик выглядел так:

ИнструментВладелецОсновное использованиеРиск данныхПродление
HubSpotруководитель продажCRM и письма по продажамВысокий18 ноя
Intercomруководитель поддержкиЧат с клиентами и help deskВысокий2 дек
Slackруководитель инженерной командыВнутренний чатСредний10 янв
Crispбез владельцаЧат на сайтеВысокий14 окт
Typeformруководитель маркетингаФормы для запросов демоСредний1 фев
Jotformпонятного владельца нетФормы для контактов и мероприятийСредний21 окт
Figmaруководитель дизайнаДизайн продукта и маркетингаСредний9 мар
Amplitudeменеджер продуктаАналитика продуктаВысокий28 янв
GA4руководитель маркетингаАналитика сайтаСреднийПродления нет

Когда всё оказалось в одной таблице, бесполезные расходы стали очевидны. И Intercom, и Crisp занимались чатом. И Typeform, и Jotform собирали входящие формы. Компания платила за две системы в каждом случае, но сотрудники каждый день пользовались только одной из них.

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

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

Как быстро заметить пересечения и сократить лишнее

Пересечения обычно прячутся внутри обычной работы. Команды редко покупают пять случайных приложений. Они покупают два чат-инструмента, три места для документов, пару конструкторов форм и больше одной доски для проектов. Сначала сгруппируйте все инструменты по задаче. Когда вы выстроите их таким образом, дубликаты перестанут выглядеть безобидно.

Потом сравнивайте инструменты внутри каждой группы, а не весь стек целиком. Сосредоточьтесь на тех, что обслуживают одних и тех же людей в одном и том же процессе. Если support, sales и product собирают запросы в разных приложениях, но запросы всё равно попадают в одну очередь, вероятно, вам не нужны все эти инструменты.

Хорошо работают такие вопросы:

  • Каким инструментом люди пользуются каждую неделю?
  • Где работа действительно заканчивается?
  • Какой инструмент хранит данные клиентов, сотрудников или финансов?
  • Когда у каждого контракта срок продления?

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

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

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

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

Ошибки, которые тормозят уборку

Сделать каждый инструмент закреплённым
Назначьте одного владельца каждому приложению и закройте пробелы в биллинге и администрировании.

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

Самый простой способ устроить новый хаос — сначала отменить, а потом проверять. Прежде чем кто-то отключит инструмент, убедитесь, что команда всё ещё может войти как администратор, выгрузить данные и понять, не зависит ли от него другая система. Старые конструкторы форм, инструменты для отчётов и менеджеры паролей часто остаются незаметными, пока в тот день не перестают работать.

Короткой проверки на отключение обычно достаточно:

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

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

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

Маленькие подписки заслуживают большего внимания, чем им обычно дают. Дополнение к дизайну за $29 или приложение для отчётов за $49 по отдельности не выглядят срочными. Десять таких подписок — уже да.

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

Прежде чем что-то отключать или продлевать

Связать уборку стека с архитектурой
Когда стек уже затрагивает продукт или инфраструктуру, подключите совет CTO.

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

Финальный проход должен ответить на несколько базовых вопросов. Есть ли у каждого оплаченного инструмента один назначенный владелец? Достаточно ли конкретен сценарий использования, чтобы его можно было оценить? Чётко ли отмечены высокорисковые инструменты и есть ли у них администратор? Видит ли команда все продления в ближайшие 90 дней? Помечены ли дублирующиеся инструменты как оставить, заменить или отменить?

Если ответ «нет», потратьте на таблицу ещё час. Это время не пропадёт зря.

Допустим, у команды три инструмента для форм. Один собирает лиды на сайте, второй обрабатывает внутренние запросы, а третий простаивает, но всё равно продлевается в следующем месяце. Если у каждого инструмента есть владелец, понятный сценарий и метка решения, ответ становится очевидным быстро. Живые инструменты можно оставить, если они решают разные задачи. Неактивный — отменить до даты продления.

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

Что делать после первой уборки

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

20-минутный ежемесячный обзор работает лучше, чем большой аудит раз в год. Поставьте его в календарь и каждый раз используйте одни и те же проверки: новые инструменты с прошлого обзора, продления в ближайшие 60 дней, инструменты без понятного владельца и приложения, которые обрабатывают данные клиентов, платежей или сотрудников.

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

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

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

Инвентаризация должна участвовать и в бюджетных обсуждениях. Когда finance спрашивает, зачем нужен новый инструмент, ответ должен начинаться с текущего списка. Это делает решения о поставщиках спокойнее и фактологичнее. Можно сравнить пересечения, проверить сроки продления и задать простой вопрос: не платим ли мы уже за что-то, что закрывает большую часть этой задачи?

Иногда уборка лицензий перерастает в более широкий технический разбор. Если стек запутан в архитектуре продукта, инфраструктуре или изменениях, связанных с AI-driven development, внешняя помощь может ускорить процесс. Oleg Sotnikov на oleg.is работает со стартапами и небольшими компаниями над такой CTO-level уборкой и принятием решений.

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

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

Часто задаваемые вопросы

Что такое инвентаризация сервисов?

Инвентаризация сервисов — это простой список всех инструментов, которыми пользуется команда. Для каждого указывают, кто за него отвечает, зачем он нужен, какие данные хранит, сколько стоит и когда продлевается. Так проще увидеть лишние расходы и риски в одном месте.

Что нужно отслеживать по каждому инструменту?

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

Кто должен быть владельцем каждого инструмента?

Назначайте одного человека, а не отдел. Именно он должен отвечать на вопросы про оплату, доступы, продление и отключение. Формулировка «владельцы — все» выглядит справедливо, но обычно означает, что не отвечает никто.

Как быстро найти все инструменты?

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

Как оценивать риск данных без лишней сложности?

Используйте три метки: низкий, средний и высокий. Любой инструмент, который хранит данные клиентов, платежи, данные сотрудников, юридические документы или исходный код, отмечайте как высокий, пока кто-то не проверит это отдельно. Если мнения расходятся, выбирайте более высокий уровень и двигайтесь дальше.

Как часто нужно пересматривать инвентаризацию?

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

Что делать перед тем, как отменить инструмент?

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

Как понять, где инструменты дублируют друг друга?

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

Что делать, если у инструмента нет понятного владельца?

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

Может ли Fractional CTO помочь с разбором софта?

Да, помощь со стороны особенно полезна, когда хаос затрагивает архитектуру продукта, инфраструктуру, безопасность или изменения, связанные с AI, а команда продолжает буксовать. Fractional CTO может разложить инвентаризацию по полочкам, задать простые правила для новых инструментов и помочь убрать пересечения без поломки рабочих систем. Oleg Sotnikov делает такую CTO-level уборку для стартапов и небольших компаний.