При написании даже самой небольшой программы, порой разработчик может допускать ошибки. Подобные ошибки принято называть багами (bugs - что переводится как жучок). 

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

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

К примеру, когда пользователь не понял как именно должен работать тот или иной функционал и он посчитал, что это какой-то баг. В этом случае, разработчикам необходимо более правильно продумывать функционал и взаимодействие интерфейса с пользователем. Если же баг действительно есть, то это уже вторая стадия жизненного цикла бага. Первая стадия - когда разработчику сообщили о баге, а вторая стадия - когда этот баг подтвердился разработчиком и перешел в статус "открытый". Если не подтвердился, тогда жизненный цикл бага заканчивается. Когда баг точно обнаружен, и находится в статусе открытого, то разработчик принимает решение о том, необходимо ли исправлять этот баг немедленно (горячая правка бага, называется хотфикс), либо возможно отложить баг и заняться им чуть позже. Когда разработчик исправил (пофиксил баг), то жизненный цикл бага переходит в следующую, третью стадию, а именно в "исправлен". Если ошибка исправлена и больше не воспроизводится во время тестирования, то окончательная стадия бага "закрыт". Если же, по какой-либо причине, баг еще остался, то осуществляется переход на стадию "переоткрыт". 

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