What is Software Triage?

Triage? What is that?

Satrio Wibowo
4 min readFeb 24, 2022

By definition, triage is the process of determining the most important people or things from amongst a large number that requires attention. Originally, the triage system was based on sorting surgical patients on the battlefield. It is later become apparent how important triaging is in the medical system, so in the early 1900s, the triage concept becomes popular in the emergency departments in the US, UK, and Europe.

Triage card in hospital. Red is immediate, yellow is urgent, green is delayed, white or black is dead.
Triage cards that commonly used in hospitals. https://commons.wikimedia.org/wiki/File:Cruciform_Triage_card.jpg

So what is the connection between medical triaging and software? Due to the rise of the tech world, the users and their software become more and more connected. As they become connected, any issue where a user may encounter bugs may make the user’s job halted or just simply annoy the user. Which later causes the user to report the bug to the developers.

Nowadays, reporting a bug is almost as easy as writing a message to the developers. The developer then works on the issue based on the reports with First Come First Served method. This may not be a problem for software that has a small user base. However, as more and more bugs get reported, a new issue is rising. How do we differentiate which bug we need to solve first?

Flutter Issues Page in Github. 5K+ active issues! Source

This is where triaging concept becomes useful. In software engineering, triaging is a process where each bug is prioritized on its severity, frequency, risk, impact on the team, etc. The goal of triage is to evaluate, prioritize, and assign the resolution of bugs or defects. The main task the team needs to do is validate the severity of the defect, assign the required resources to solve the defects, make changes as needed, and finalize the resolution of the defects. For now, triaging is mainly used in agile project management.

So how do we triage the bugs?

Steps to Defect Triaging

Mainly, there are three steps to do software triaging, that is defect review, defect assessment, and defect assignment.

Defect review is the step to check if the bug is still valid, examine the root cause, etc.

Defect Assessment is the step to check the severity of the bug, when to fix the bug, etc. Usually, the result of the assessment is a list of bugs that the team will fix right away, bugs that will be fixed later, and bugs that will not be fixed due to various reasons (tech limitation, etc.).

Defect Assignment is the step to assign the person (or team) that will fix the bug. This is usually done in a separate defect meeting.

How often do we need to do a defect meeting?

Usually, a defect meeting is not done in a fixed time. The frequency of defect meetings will depend on the project schedule, the number of defects in the system, the impact on schedules of team members’ availability, and overall project health.

Photo by fauxels from Pexels

Who is responsible for triaging the bugs/defects?

Software triaging is usually not a person's but a few person’s responsibilities. The one that will partake in the defect triage meeting is the Project Manager (the are the one that knows the scope of the project), Test Team Leader (the one that will confirm the bug), Technical Lead (the one that will look for a solution and whether it is possible to fix or not), and Development Team Leader (the one that will manage the assignment to implement the fix). The meeting may also be attended by the developers, testers, and business analysts. Although, their attendance is optional.

Is triaging only can be implemented for bugs?

It is not. Software triaging is not limited only to bugs but can also be adopted for task planning. That way, the developer who will work on the project will know which tasks need to be prioritized and which are not. However, triaging in task planning is merely a guide and must not be forced since that may put pressure on the developers who work on the tasks.

You may not need software triage for now. But maybe, in the future, once your software is used by a lot of people, triaging may become required. So, while your application is not yet that big, it is still a good idea to practice triaging even though you will be the one that fixes the issue. Practice won’t hurt anybody and triaging is simple once you understand the hang of it. For additional reference to read, you can check how Google triage their issues here. Happy coding and triaging everyone!

--

--

Satrio Wibowo

Just a programmer that loves coding and learning new tech