The evolution of a Bug
The term bug in software development claims to come from the time when the computers was huge electronic monsters that consisted of a lot of hardware and you actually could get a moth stuck in a relay that made it impossible to open och close it. Today, it would have to be an incredibly small bug to get stuck in a 22 nm processor.
Another change is that with the introduction of Issue Management systems (such as Atlassian Jira, Clubhouse, Trello and you name it), we are now have an good opportunity to file a bug and give it to another developer, another development team or just "someone else". This makes it hard to measure how many bugs there actually is in a software system. Do we only count those that are found in production, do we count everything, do we file a bug if I find that the newly developed service is not working as I would like it to?? Difficult questions.
I therefore think that we should have a more fin grained way of talking about "bugs", or actually "unwanted behaviours" in our code. This is my proposal.
Eggs
An egg in a software system is something that a developer has put into the code intentionally. They may, unintentionally, forget to take it out of the code... Often you find an egg accompanied by a // TODO: in the code.
Larvas
A larva is an egg that has been, with or without intention, put into production. We know that it is there and if we are lucky, it is behind a feature flag or returns a HTTP 501 when we try to call it.
Bugs
A bug is when you find something in production that is not functioning as it used to function, only functions sometimes or doesn't function the way it is expected to according to the specification or the requirements. It is not a bug if you don't understand it, the data you sent in is wrong, you don't want it to behave like that or if the font is ugly. All those are change requests.
Butterflies
Sometimes bugs are left in the system for different reasons. The users learn how to avoid triggering it but it is not solved. "In a future release" and "when we come around to re-write that function" is commonly heard when we talk about this bugs that now have gone through a metamorphosis and become this beautiful creatures that are not really requirements and deserves a proper User Story. And they are still so full of colors and promise of a better system that the Backlog Owner and the team doesn't really want to get rid of it.
Dragons
"Oh, that is the 3901-bug again."
I can still remember the first time I heard a reference to a bug with its number and everybody in the room instantly knew what it was about. I remember when a fellow developer stated in a retrospective that "We haven't seen the 501 (aka The Levi's-bug) in a while now."
Those bugs that are so mythical that they have become dragons. No-one dare to slay them because everybody that has tried has come out of the code smelling of creosote or missing a limb. You build wall around it, you hide it in a cave, you give it a princess or two (aka Testers) from time to time.