Технически дълг (technical debt)
Какво е технически дълг (technical debt)?
Техническият дълг (technical debt) е отложената работа, която бързите решения оставят след себе си и която трябва да се свърши, преди сайтът отново да се променя нормално. Личи по календара: всяка нова промяна отнема повече от предишната и никой не иска да пипа определени части. Да го поемете може да е съзнателен избор заради срок; скъпо излиза, когато не го връщате.
Пример
Магазин пуска промоция за три дни. Отстъпката се прави набързо: цените се вписват направо в кода на две страници, вместо да минат през правилата за отстъпки. Промоцията свършва, кодът остава. Следващата промоция минава по същия път, защото така е по-бързо, и след година правилата за цени живеят на пет места.
Лихвата се вижда в часове. Промяна в цените, която е отнемала два часа, вече отнема пет, защото всяко от местата трябва да се провери. Четири такива промени месечно са дванадесет допълнителни часа, а веднъж годишно някой пропуска едно място и магазинът продава на грешна цена.
Изплащането обикновено е по-малко, отколкото звучи: два дни, в които правилата се събират на едно място и се покриват с проверки. След това промяната пак отнема два часа. Числата са примерни, но съотношението е познато на всеки, поддържал стар сайт.
Защо има значение за бизнеса
Техническият дълг не се вижда в сайта, а в офертите. Когато малка промяна се остойностява като голяма, обяснението почти винаги е тук. Той обяснява и защо някои сайтове не се обновяват: екипът знае, че обновлението ще счупи нещо, което държи сайта изправен.
Натрупва се и без нито една грешка — стара версия на PHP, изоставена добавка, дизайн, правен преди повечето трафик да идва от телефони. Затова при заварен проект първо оценяваме колко от него може да се променя спокойно и колко трябва да се пренапише, независимо дали работата продължава върху съществуващия сайт, или върху собствената ни платформа.
Какво да попитате
- Кои промени вече отнемат повече време, отколкото би трябвало?
- Има ли части, които екипът избягва да пипа, и защо?
- На какви версии работят PHP, системата и добавките и кои са към края на поддръжката?
- Има ли тестова среда и проверки, които хващат счупеното преди клиентите?
- Колко време месечно отива в изчистване, а не в нови функции?
- Колко би струвало пренаписването на частта, която се чупи най-често?