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

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

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

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

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

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

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

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

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