Other Posts

Bugshido: Classify Warrior Bugs

coverimage

“Warriors are born to die. Warriors live to be remembered.”

The methods to classify a bug are various, depend on its impact, visibility, related component, related testing phase[1] … I wonder: if bugs are warriors whom we’ve to fight against, what are their classifications? In this post, I’m gonna try to explain an interesting bug classification idea, called Bugshido.

As we all know, Bushido: 武士道 the way (Dō or Tao) of the warrior (Bushi), is used symbolically in its sense of way, as the right way of existence of warriors. Inspired by Bushido, Bugshido is the way symbolically to determine the existence of different bugs. The idea of Bugshido is based on the way which combines priority and severity[2] by

  • Priority: High, Medium, Low…

  • Severity: Critical, Major, Minor, Trivial…

Besides the name Bugshido, technically, it’s just a metaphor and there is nothing really new about it. Well, maybe itself is funny.

Now, imagine you are the emperor (developer/PO) rules a country (code base/product). Due to some changes here or there, the evil forces will raise against you. They are gathering warriors to break your country. As your Emperor’s adviser (tester), I’d like to explain to you how to identify your enemies and the tactic to handle them.

Geisha

geisha

Priority: Low
Severity: Minor

Geisha barely knows how to fight. All Geisha’s skills related to performing arts like music, dance… Therefore, Geisha is not harmful and sometimes very entertaining. But in some edge cases, when the art a Geisha trained is the martial art, she could become a dangerous assassin.

Advice: Go to visit them time to time when you’re bored.

Sōhei

sohei

Priority: Low
Severity: Major

Sōhei is known as the warrior monk. Although warrior monk is the master of martial arts, his initial purpose to fight is to protect people, temple, Buddha… Monk warriors are usually humble and peaceful. They won’t attack unless they’re attacked. Even they gonna fight, they will fight defensively. In general, warrior monks stay in their territory quietly. They appear because of the broke environment, which is caused by some small or big changes.

Advice: Find out the trigger is important. Normally they’re tough but there is no need for a long battle. A promise of reform should pacify them. If you choose to collect information and do nothing first, just don’t forget to add improvement later by refactoring.

Rōnin

Ronin

Priority: High
Severity: Minor

Rōnin was a samurai who becomes masterless. Their skills were highly developed but without the purpose of life, their mind could become weak. They are wandering everywhere in the country and looking for a way to make a living with their sword, no matter good or evil.

Advice: Seize the opportunity When they’re still weak and eliminate them as soon as possible before they are caught by the evil force.

Samurai

samurai

Priority: High
Severity: Major

Samurai is the highest rank of warriors. The mastery of the sword is one of Samurai’s traits. Another one is the loyalty: they believe that the death to serve their Lord is a great honor. They will fight to die in the battle, without blinking an eye. Send shivers down spine, right?

Advice: Brace yourself, you know a tough fight is impossible to avoid. If you’re not sure Samurai’s capability, better to ask team members for support.

Ninja

ninja

Priority: High
Severity: Critical

Ninja exists as a mystery, rather than a warrior. A typical Ninja will hide in the shadow, waiting for a moment to kill the target with one fatal hit. The danger begins when the negligence of Ninja’s existence. Even sometimes there is a feeling to tell you that Ninja might be hidden in certain areas, but Ninja performs ninjutsu to keep them unpredictable in the first place.

Advice: Unfortunately, most of time Ninja is only found after serious damages are made. The key point is fast-react in order to minimize the losses. Once a Ninja is defeated, take a lesson and learn not to be fooled by the same ninjutsu next time.

Warrior Triage

After warrior-showoff is over, let’s take a closer look to the triage process. This part describes the battle tactic, it might be a bit boring.

Ninja definitely triggers a hotfix

A Ninja bug needs an urgent fix because it’s destructing the core functionality of the product. Everyone in the team, who can contribute efforts, should focus on the fix immediately. Seriously it’s the last step before a final checkmate.

Samurai blocks new product release

A Samurai bug or Ronin bug are considered as high potential dangers. No matter a huge effort is taken to fix Samurai bug or a small effort taken to fix Ronin bug, they have to be fixed before release. In brief, Samurai bug is the release blocker.

Sohei & Geisha are about time

A Sohei bug or a Geisha bug could exist in product for a long time. Some of them never bother customers once. Their existence proves that nothing is perfect. Rather than keeping them in tracking tools, it’s justified to give them a Euthanasia after a specific time by closing them in tracking tool. It’s a decision made to balance allocated effort and added value.

Summary

I hope you had a fun of reading. Besides that, now you know Bugshidao to identify a warrior, like Ninja, Samurai, Ronin, Sohei and Geisha. You’ve also the basic tactic to deal with them. Last advice I have to give you, my friend, as I always keep it in my mind to warn myself:

“Wake up! Evil warriors are killing your customers!”


[1] Defect Classification
[2] Dan Ashby: What about Priority and Severity