Communicating Technical Debt to Stakeholders: Vocabulary and Phrases for IT Professionals
Як пояснити технічний борг нетехнічним зацікавленим сторонам, використовуючи чіткі метафори, оцінку впливу бізнесу і професійний англійський словник.
Технічний борг є одним з найважливіших розмов, які розробник має з менеджером продукту або бізнес-зацікавленими сторонами, і це також один з найскладніших для правильного вирішення. Проблема не тільки лингвістична, а й перекладальна. Вам потрібно перейти від мови якості коду до мови бізнес-ризиків, не втрачаючи при цьому сенсу. Цей посібник надає вам словниковий запас, метафори і точні фрази, які зроблять вашу розмову ефективною.
Метафора кредитної картки
Найбільш широко прийнятий спосіб введення технічного боргу для нетехнічної аудиторії є через ** кредитну карту аналогію **, спочатку сформулюваний Вардом Каннінгемом. Це працює, тому що це перетворює технічну концепцію на щось універсально зрозуміле.
Ось як використовувати цей параметр у розмові:
“Технічний борг трохи схожий на те, як щось вкладати в кредитну картку. Тепер ми можемо скористатися скороченням — ми отримуємо функцію — але кожен наступний спринт, ми платимо відсотки. Чим довше ми будемо нести цей борг, тим дорожче буде його сплатити»
Цей підхід досягає трьох цілей: він визнає, що початкове рішення було розумним, він пояснює постійні витрати, і він створює невідкладність навколо погашення.
Розширення метафори
Після того, як ви введете метафору кредитної картки, ви можете розширити її за допомогою природного способу:
- “Ми платимо відсотки за кожен спринт.” — Ця фраза повідомляє про постійні приховані витрати.
- ** “Головна сума зростає.” ** — Використовуйте це, коли борг стає гіршим, а не залишається статичним.
- ** « Нам потрібно зробити мінімальну плату. » ** — Використовуйте цей варіант, щоб описати невелику роботу з переробки, яка запобігає погіршенню ситуації.
- ** « Ми ризикуємо не виконати зобов’ язання » ** — Використовуйте цей параметр обережно, коли борг досяг такої точки, що він блокує основні функції.
Вплив на бізнес-процеси
Метафори відкривають двері; дані про вплив на бізнес закривають угоду. Коли ви пояснюєте технічний борг тільки з точки зору якості коду, зацікавлені сторони можуть ввічливо кивнути головою і йти далі. Коли ви ставитеся до цього з точки зору швидкості доставки, кількості дефектів і вартості інженера, це стає бізнес-розмовою.
Фрази для повільнішої доставки
- «Ця частина кодової бази займає у нас втричі більше часу на модифікацію, ніж порівнянні області.»
- «Кожна функція, яка торкається цього модуля, вимагає додаткових **двох-трьох днів роботи по усуненню **»
- «Наша поточна швидкість в цій області обмежена базовою архітектурою — ми не рухаємося повільно через зусилля, ми рухаємося повільно через рельєф.»
Фрази для вищого рівня помилок
- “З тих пір, як цей компонент був значно змінений, ми побачили ** 40% збільшення в зв’язаних з ним звітах про помилки **.”
- “Кожного разу, коли ми модифікуємо цю область, ми вводимо регресії. Це знак того, що код не має достатньо тестового покриття та ізоляції»
- Кількість незапланованих помилок в цьому модулі непропорційна його розміру — це hotspot
Фрази для інженера Cost and Morale
- «Досвідчені інженери витрачають значну частину свого спринту на **пожежну безпеку та обходження проблем **, а не на розробку функцій»
- «Введення нових інженерів в цю область займає значно більше часу, тому що код не збігається з іншою частиною системи»
Словник-довідник
| Term | Plain English Explanation |
|---|---|
| Technical debt | The long-term cost of taking shortcuts in the codebase |
| Accumulated interest | The ongoing slow-down caused by existing shortcuts |
| Refactoring | Improving the internal structure of code without changing its behaviour |
| Hotspot | An area of the codebase that changes frequently and has a high defect rate |
| Code smell | A symptom in the code that suggests a deeper design problem |
| Legacy code | Older code that is hard to modify, often without adequate tests |
| Regression | A bug introduced by a change, causing previously working behaviour to break |
| Technical debt sprint | A sprint (or part of a sprint) dedicated to reducing debt rather than adding features |
| Principal | In the debt metaphor, the original shortcut that was taken |
Приклад діалогового вікна: Розробник і менеджер продукту
Нижче наведено приклад того, як розробник може підняти технічний борг з менеджером продукту під час планування спринту або сеансу вдосконалення відставання.
** Менеджер продукту: ** Я хочу розширити обсяг нової можливості потоку платежу для наступного спринту. Сколько времени, как ты думаешь, это займет?
** Розробник: ** Залежно від того, що вимагає ця функція, сама робота над розробкою, ймовірно, триватиме тиждень. Але платіжний модуль не був значно оновлений за два роки. Він накопичив достатню кількість технічного боргу - подібного відсотка, який ми тихо платили за кожен спринт. Нам нужно добавить примерно три дополнительных дня, чтобы безопасно обойти существующие ограничения.
Менеджер продукту: Чи можемо ми просто пропустити це і випустити функцію?
** Розробник: ** Ми можемо, але я б не радив. Кожного разу, коли ми додаємо до цього модуля без розв’язання основних проблем, ми збільшуємо ризик регресій і робимо майбутні зміни більш дорогими. По сути, мы кладем больше на кредитную карту. Якщо б ми могли виділити хоча б половину спринту на погашення частини цього боргу до того, як ми додамо нову функцію, ми б зберегли час в цілому протягом наступних двох спринтів.
Менеджер по продуктам: Як це виглядало б з точки зору плану?
** Розробник: ** Я пропоную розглядати першу половину наступного спринту як спринт часткової сплати боргу — зокрема, націлений на рівень інтеграції платіжного модуля. Це очищає стіни для нової можливості і зменшує навантаження на обслуговування. Я можу задокументувати конкретні елементи, щоб ви могли переглянути обсяг.
Підтримує опонентів
Не кожна розмова пройде гладко. Зацікавлені сторони часто стримують інвестування часу в погашення боргу, тому що переваги невидимі, коли це працює - ви тільки помічаєте відсутність проблем. Ось фрази для навігації в цьому опору:
- «Я розумію, що важко визначати пріоритети роботи, яка не має видимої функції. Як я б сказав: ця робота ** запобігає майбутнім відключенням і затримкам **, які були б набагато більш руйнівними, ніж час, який ми зараз інвестуємо”
- «Ми не просим припинити надання функцій — ми просим захистити нашу здатність надавати функції послідовно»
- “Якщо ми відкладемо це на неопределенное время, я хочу позначити це як відомий ризик на проекті. Таким чином ми приймаємо обґрунтоване рішення, а не випадкове.»
Остання фраза особливо ефективна: вона перетворює розмову з «розробників, які просять про час» на «менеджмент ризиків»
Ключеві моменти
- Використовуйте ** метафору кредитної картки **, щоб представити технічний борг нетехнічним аудиторіям.
- Дослідження з ** конкретними даними щодо впливу на бізнес **: швидкість доставки, кількість помилок, час інженера.
- Фрази на кшталт “ми платимо відсотки кожен спринт” і “головна сума зростає” розширюють метафору природно.
- Коли ви стикаєтеся з опором, запропонуйте документувати борг як відомий ризик - це робить відстрочку навмисним бізнес-рішенням, а не недоглядом.
- Метою є не виграти аргумент, а забезпечити, щоб зацікавлені сторони мали інформацію, яку вони потребують, щоб приймати правильні рішення.
Національні мови: підтримка ненаціональних мов
Передача складних технічних концепцій, таких як «технічний борг», може бути особливо складною при роботі з особами, для яких англійська мова не є рідною. Хоча зосередження на ясності для всіх зацікавлених сторін є ключовим, розпізнавання потенційних мовних бар’єрів і активне оснащення себе фразами і підходами для підтримки колег, які не є рідними, додає важливий шар професіоналізму і інклюзивності. Це не просто про використання точної технічної термінології; це про забезпечення розуміння через доступні пояснення.
По-перше, визнайте, що прямий переклад не завжди ефективний. Сам «технічний борг» є абстрактним — поняття боргу майбутньої роботи не вдало відображається на багатьох інших мовах. Замість того, щоб покладатися на буквальний переклад, зосередьтеся на передачі впливу. Формулювання технічного боргу як «коротких шляхів, які були зроблені для виконання терміну» або «інвестицій, зроблених з обмеженими ресурсами, які потребують уваги пізніше». Ці фрази легше зрозуміти і дозволяють вам представити основну концепцію без жаргону. Спаруйте це з візуальними засобами - діаграми, що ілюструють хвилеподібний ефект відкладеної роботи, можуть бути надзвичайно ефективними через мовні бар’єри.
По-друге, коли пояснюєш потенційні наслідки, використовуй аналогії. Наприклад, «Це схоже на те, як ми беремо кредит — ми позичуємо час зараз, щоб забезпечити цінність сьогодні, але нам потрібно планувати виплати пізніше». Або «Уявіть собі будівництво будинку з трохи нестандартних матеріалів — це може бути дешевше спочатку, але з часом, ви зіткнетеся з більш дорогим ремонтом». Ці приклади перетворюють абстрактну концепцію на матеріальні речі. Активно запитуйте зворотній зв’ язок, щоб підтвердити розуміння — запитання з відкритим кінцем, наприклад, « Чи можете ви описати те, що я пояснив вашими словами? », є безцінним для виявлення прогалин і коригування вашого стилю спілкування. Заохочуйте колег переформулювати поняття, щоб ви змогли продемонструвати їх розуміння.
Нарешті, не недооцінюйте цінність простіших структур речень і уникайте надмірно складного словникового запасу. Свідомо вибирайте ясну, пряму мову. Замість того, щоб сказати « Ми накопичуємо значну кількість технічного боргу », спробуйте сказати « Ми прийняли деякі рішення, які потребують додаткової роботи у майбутньому ». Будьте терплячими і готовими повторювати ключові моменти за допомогою різних фраз. Пам’ятайте, будівництво довіри і забезпечення справжнього розуміння є найважливішим - невелика зміна у вашому стилі спілкування може зробити величезну різницю для колег, які не є рідною мовою, що пересуваються по складностях професійної англійської. Заохочуйте їх використовувати вас як джерело для пояснень, не даючи їм відчувати себе виокремленими.