Колко отворени бъгове имате в беклога? 100? 1000?
И колко време стоят там? Седмица? Месец? Години?
А защо се случва така? Нямате време? Трябва да се занимавате с по-приоритетни задачи? «Сега реализираме всички спешни функционалности, а след това определено ще имаме време да разгребем бъговете»?
... Някои използват политика на нулеви бъгове, при други културата на работа с бъгове е добре развита (актуализират беклога навреме, преразглеждат грешките при промяна на функционалността и т.н.), а някой отглежда магьосници, които пишат изобщо без бъгове (малко вероятно, но може да се случи).
Днес ще ви разкажа за нашето решение за чистка на беклога с бъгове — проектът „Багоделня“.

От какво всичко започна?
Пореден път, преглеждайки все по-нарастващия беклог с отворени бъгове, достигнахме до точка на кипене. Не можеше да продължаваме така, решихме да го съкратим на всяка цена. Идеята е очевидна, но как да го направим? Съгласихме се, че най-ефективният начин ще бъде мероприятие, подобно на хакатон: да отделим екипите от ежедневните задачи и да отделим 1 работен ден за обработка само на бъгове.
Направихме регламент, обявихме набиране на желаещи и започнахме да чакаме. Имаше опасения, че желаещите ще бъдат малко, но резултатът надхвърли очакванията ни — записаха се цели 8 екипа (въпреки че в последния момент 3 се отказаха). За мероприятието беше отделен цял работен ден в петък, резервирахме голяма заседателна зала. Обяда организирахме на база офисната столова, а за закуски добавихме сладки.
Реализация
Сутринта в деня Х събрахме всички желаещи в заседателната зала и проведохме кратък брифинг.

Основни правила:
- в един екип се състезават от 2 до 5 души, минимум един от тях — QA;
- бъговете трябва да бъдат затворени от член на екипа по всички вътрешни производствени стандарти;
- всеки екип трябва да има поне един затворен бъг, изискващ корекции в кода;
- може да се коригират само стари бъгове (датата на създаване на бъга < датата на започване на Багоделнята — 1 месец);
- за поправените бъгове се начисляват точки (от 3 до 10) в зависимост от критичността (за да няма измами, не може да се променя критичността след обявяване на датата на провеждане на Багоделнята);
- за закриване на неактуални, невъзпроизведими бъгове се начислява по 1 точка;
- за спазването на всички правила следи екипът по одит, който анулира точките за повторно отворени бъгове.

Други детайли
- Не сме ограничавме никого в избора на локация: можеше да останете на работното място или да седите с всички в заседателната стая, където никой не ви разсейваше и се усещаше напрежението.

- За да се поддържа състезателният дух, на голям екран беше изведен рейтинг, а в slack канала постоянно вървеше текстова транслация на боя. За броенето на точки използвахме лидерборд, който се обновяваше чрез уебхукове.

Лидерборд
- Спазването на всички правила бе наблюдавано от екипа по одит (по опит, за това е достатъчно 1-2 човека).
- Час след края на Багодельни бяха обявени проверените резултати.
Добитите победители получиха подаръчни сертификати за бар, а всички участници - сувенири (ключодържатели с 'баги').

Резултати
В последните шест месеца провеждахме вече три Багодельни. Както и да е, какво получихме в крайна сметка?
- Среден брой на отборите - 5.
- Среден брой на обработените багове - 103.
- Среден процент на неактуални/невъзпроизведими багове - 57% (а нали именно този боклук постоянно ни дразнеше и плаше с количеството си).

Моментът на обявяването на резултатите
А сега отговор на най-интригуващия въпрос, който всички обичат да задават: 'А колко нови бага посадихте?'.
Отговор: не повече от 2% от всичките обработени.
Отзиви
След провеждането на Багоделен събирахме обратна връзка от участниците. Ето отговорите на въпроса 'Какво най-много ви хареса в процеса на участие?':
- Много яко е да се изчисти беклог с такава мотивация! Обикновено е много скучен процес, трябва да правим това периодично).
- Адреналин, сладкиши.
- Това е дългоочаквана възможност да поправим онези малки неща, които не са критични, но искаме да поправим.
- Хареса ми, че най-накрая мога да поправя стари, неприятни багове извън спринта, защото за такива никога няма да има време, тъй като винаги ще има задачи с по-висок приоритет. Успяхме да съберем на едно място всички нужни хора (в нашия екип имаше и DBA, например), колективно обсъдихме актуалността на поставените багове и техническата възможност да ги поправим.
Заключение
Багодельнята не е панацея, но е напълно жизнеспособен вариант за намаляване на беклога от багове (в различни екипи от 10 до 50%) само за един ден. При нас това мероприятие се утвърди само благодарение на мотивираните хора, които се вълнуват за продукта и се грижат за щастието на нашите потребители.

На всички добро и по-малко багове!
Източник: habr.com
