День качества

Для поддержания качества важно вовремя и хорошо исправлять ошибки. Но и к этому процессу нужно подходить ответственно. Например, у нас вот такой процесс работы с ошибками: 1. Ошибка зарегистрирована. Ошибку удалось воспроизвести 2. Ошибка признана. Разработчик признал такое поведение ошибкой 3. Ошибка исправлена. Разработчик внес исправления в код 4. Выполнено ревью кода. Другой разработчик посмотрел по ней код 5. Ошибка проверена. Выполнена проверка, что ошибка исправлена 6. Ошибка закрыта. Исправление встроено во все необходимые версии

То есть над каждой ошибкой работают как минимум 2 разработчика, иногда к ним подключается тестировщик для функциональной проверки. У всех участников есть еще и свои проекты, которые они ведут в данный момент. Поэтому если не прилагать специальных усилий, то велика вероятность, что ошибка может зависнуть на каком-нибудь из этапов.

При этом релизы у нас выпускаются каждые две недели. И если ошибка исправлена, но не проверена, то она может случайно попасть в релиз. А это очень плохо, ведь исправление может быть не качественным. Поэтому важно синхронизировать работу тех кто проверяет ошибку и тех кто исправляет.

Для этого мы ввели Дни качества. Это такие дни, в которые разработчики откладывают свои проекты и занимаются исключительно исправлением и проверкой ошибок. Причем проверка ошибок имеет приоритет перед исправлением, так как это важнее для выпуска релиза. Если есть ошибки на проверке, то разработчик не начинает исправлять свои ошибки пока не выполнил проверку.

Дни качества мы стараемся проводить раз в неделю. Но критические ошибки справляются сразу же, не дожидаясь дня качества. По критичным ошибкам еще и патчи выпускаем оперативно, чтобы у пользователя он установился автоматически. А вот с остальными ошибками уже работаем в Дни качества.

После каждого такого дня подводим результаты работы. Например, исправлено 100 ошибок, зарегистрировано 10. Кстати, ошибок, которые зарегистрировали разработчики гораздо больше тех, что приходят от пользователей и партнеров. Это логично, так как мы знаем где искать :)

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

Ну и еще мы любим побывать на дне качества :)