Розділ 2 — Проєктний менеджмент
Повний гайд з технічного боргу
Сьогодні хочу поговорити про достатньо абстрактне поняття, але яке буде постійно впливати на ваш бізнес і це — технічний борг.
Кожен раз, коли ви економите на якості рішення в угоду швидкості — ви накопичуєте технічний борг, який ви будете в майбутньому платити.
Чим?
- Зниження Time-To-Market.
- Збільшенням кількості багів.
- Зменшенням ROI ( return on investments )
- Зниження velocity в довгостроковій перспективі
- Збільшенням незадоволеності в команді, працювати над якимось частинами системи.
Всі вище описані речі будуть впливати на ваших користувачів. А як наслідок на:
- NPS ( Net Promoter Score )
- Customer Lifetime Value
- Churn Rate
Технічний борг — це не погано, це сутність яка є на будь-якому проєкті.
Але, наша задача нею управляти, й слідкувати, щоб вона не почала суттєво впливати на наш проєкт та бізнес показники.
То ж як його виявити?
- Слухати вашого Tech Lead / Architector.
Людина яка проводить Code Review, та проєктує цю систему, найкраще за інших буде знати її проблемні місця та обмеження.
- Близько працювати з QA.
Команда яка перевіряє якість продукту, зазвичай бачить значно більший взаємозв'язок між поліпшеннями — та новими, або старими багами які вони породжують.
- Статичний аналіз коду.
Такі інструменти як SonarQube, CodeClimate, Linters можуть допомогти зрозуміти загальну якість вашого коду. Дуже зручно використовувати як SLA.
Я бачив компанії — які повністю фокусувалися на "чистому" коді й зовсім забували про "business" value та їх користувачів. Не треба так.
Як уникати проблем із технічним боргом:
- Автоматичне тестування та CI/CD
- Регулярне виділення часу на рефакторінг коду у циклі.
- Гарна архітектура та дотримання стандартів написання коду.
