Разработване на нови функции срещу решаване на технически дълг

Въпреки че не съм софтуерен инженер, през по-голямата част от професионалния си живот работя с инженерни екипи. Имам удоволствието да работя с хора страхотно в това, което правят. Така че, ще се опитам да отговоря на въпроса относно заглавието от гледна точка на управлението на продукта на неинженерно произход.

Факт е, че винаги ще има натиск, идващ от изоставането, бизнес екипите, ръководството или пазара и ще се изисква да изгради нови функции. Работата е там, че ако сте твърде невежи за техническия си дълг, достатъчно скоро ще разберете, че е твърде късно да започнете да се занимавате с него.

Марти Каган го описва много добре в книгата си „Вдъхновено“. В тази книга можете да научите как технически дълг почти унищожава еднорозите като e-Bay.

Усетих го и с продукти, върху които работя. По време на моята работа по Avocarrot Exchange имахме огромен проект, целящ да обедини два продукта в един. Нашата SSP (Supply Side Platform) с продукта Медиация. След 10-месечно планиране, срещи, разработка за това как тези два продукта да се слеят в един, най-накрая го направихме. И тогава реалността започна.

Проблемите със стабилността възникваха в различни услуги, главно произтичащи от техническия дълг, който винаги беше „твърде малък, за да се справим с него сега“. Целият екип започна да усеща натиска, тъй като тези услуги не се използваха само от нашите клиенти, но и от вътрешни потребители. В този момент екипът трябваше да вземе твърди решения, тъй като на практика страдахме. Нови функции и изоставане на продукти от една страна, технически дълг от друга. Очевидно техническият дълг се превърна в нашия основен фокус, в който инвестирахме по-голямата част от ресурсите си. За щастие не беше късно за нас, но това може да е чист късмет. В повечето случаи продуктите с голям потенциал рядко успяват да се върнат от това.

Този опит ме научи на трудния начин, по който винаги трябва да бъдете активни, що се отнася до техническия дълг. Колкото и малък да е въпросът или колко маловажно вярвате в конкретен момент. Справете се с него възможно най-рано. Това, което се опитвам да постигна сега, е, че винаги имаме хора от продуктовия екип, които работят изключително върху техническото решаване на дълга във всеки спринт, така че няма да се налага да отделяме повече ресурси за това по-късно.

Например, ако екип от 10 души работи върху даден продукт, добре е винаги двама от тях да работят по проекти за технически дълг. Осъзнавам, че може да изглежда странно за висшето ръководство и особено за хората, отговорни за сроковете за пускане на продукти или функции. Въпреки това, според мен е по-добре да пожертвам 2 или 4 седмици от освобождаването на функция, отколкото да няма продукт за 4 месеца. Първоначално ръководството може да настоява срещу това. От съществено значение е да се обяснят ползите от компромиси с това и тук идва силното доверие, което трябва да съществува между екипа на продуктите и ръководството.

Ако вашият продукт е наистина страхотен, пазарът все още ще има за него. Въпросът е дали вашият продукт все още ще присъства на пазара?

И последно, от голяма полза е да работите със супер силен екип, който да ви подкрепи, без дори да е необходимо да го искате. Спомням си един понеделник, когато човек от екипа идва в ежедневната ни стойка, казвайки „знаете ли, момчета, имах малко свободно време през уикенда и реших да пренапиша борсата в Python“ (този човек е гуру на Python). Е, резултатът беше, че новата версия на продукта се представяше 9 пъти по-добре в сравнение с предишната, като намали цената наполовина. Без планиране, без спекулации за проекта. Просто много талантлив човек с воля да предприема инициативи. Такива поведения не само трябва да бъдат приети, но да станат част от ДНК и работния процес на екипа на продуктите.

В заключение, бъдете активни по отношение на техническия дълг, винаги поддържайте някакъв баланс между решаването на техническия дълг и изграждането на нови функции и винаги трябва да можете да разчитате на силен екип по отношение на уменията и културата. В края на краищата, Lannisters все още управляват 7-те кралства, а домашното им мото е „Lannister винаги плаща дълговете си“.