Краткий ответ
Технический долг измеряется не качеством кода, а стоимостью, которую он налагает на каждое будущее изменение. Поэтому приоритет отдается не «самому неприглядному», а тому, что делает следующую работу наиболее дорогостоящей.
Простое правило быстрого отбора: элемент, из-за которого любое изменение в его области требует обширного регрессионного тестирования, поднимается на первое место. Он удваивает стоимость любой другой действия в плане.
Оценка по четырем параметрам
| Параметр | Вопрос | Вес |
|---|---|---|
| Бизнес-риск | Что произойдет, если это откажет при пиковой нагрузке? | Высокий |
| Частота использования | Как часто в день к этому обращаются? | Высокий |
| Зависимость | Сколько других областей заблокировано из-за этого? | Средний |
| Трудоемкость | Сколько стоит исправить это в контролируемой среде? | Обратный |
Оценка не является точной наукой. Ее истинная ценность в том, что она инициирует открытый диалог между теми, кто понимает технический риск, и теми, кто осознает деловую проблему, создавая порядок, который можно защитить перед руководством.
Три типа долга, которые обходят очередь
Независимо от оценки, три типа долга выходят на первое место:
- Долг, блокирующий тестирование — отсутствие адекватной среды Sandbox или тестовых данных. Любое другое исправление, сделанное без этого, выполняется вслепую.
- Долг в разрешениях — модель видимости, потерявшая логику, является активным регуляторным риском, а не неудобством.
- Долг, сосредоточенный в одном человеке — когда только один человек понимает компонент, риск является не техническим, а организационным.
Как представить долг для получения бюджета
Руководство не финансирует «чистку автоматизаций». Оно финансирует сокращение времени и стоимости. Перевод делается в трех строках для каждого элемента: сколько часов поддержки он потребляет в квартал, сколько дней он добавляет к каждому изменению в своей области и какова угроза, если он откажет.
Тот, кто представляет «три запроса на изменение в квартал, каждый из которых продлевается на две недели из-за одного и того же компонента», получает одобрение. Тот, кто представляет диаграмму зависимостей, — нет.
Постоянная квота, а не разовая акция
Неудачный шаблон: крупный проект по очистке раз в два года. Работающий шаблон: постоянная квота в 15-20% от каждой волны, выделяемая на технический долг, устанавливаемая заранее и не подлежащая обсуждению в каждом спринте.
Наряду с квотой требуется как минимум одно правило предотвращения — например, запрет на добавление новой автоматизации к объекту, который уже содержит несколько, до их объединения. Без предотвращения, скорость образования долга превышает скорость очистки. Взаимосвязь с инфраструктурой разработки подробно описана в стратегии Sandbox и DevOps.
Резюме
Приоритизация технического долга — это упражнение по экономике, а не по эстетике: исправлять то, что удорожает следующее изменение, уделять первоочередное внимание тому, что блокирует тестирование и создает риски, и закреплять квоту, которая предотвращает повторение. Список из десяти ранжированных элементов ценнее ста картографированных элементов.
