Bug Tracking: Traditional Approach vs Agile
Defect management is one of the key issues when it comes to the working on a project. Many teams of developers have their own approaches to bug tracking. Generally, they can be sub-divided in two main strategies. The first one (the traditional approach) is focused on using bug trackers during the whole process. The second strategy (the Agile approach) is based on the assumption that the use of bug trackers is not always necessary.
Let’s look at these two strategies in greater detail.
The traditional approach is based on using bug trackers on all stages of project realization. Its main idea is to detect all the bugs and to create a special bug list to fix them during the final stage of the work on a project. Such an approach, just like any other, has a number of advantages and disadvantages.
The ability to fix all the bugs at once during the final stage of the project realization is its main advantage. It’s quite improbable that bugs will emerge during the final stages of the project realization. However, such an approach may be time-consuming.
- First of all the bugs have to be detected with a bug tracker. This operation should be repeated after the completion of each stage of work. Such time costs may be a problem if your team works on an urgent project.
- Bug fixing during the final stage of work is the second disadvantage of the traditional defect management model. In some cases, it may lead to a situation when the developers are unable to hand over the project in time.
- The practice of creating a special bug list is also not always acceptable. In some cases certain bugs can be lost in the process of work, or fall off this list, so they will not be fixed in time.
- Traditional approach to bug tracking may also lead to problems with your clients. Usually, the Product Owner formulates his vision of the future product based on the developer’s backlog. The backlog contains information from many sources, including client’s requirements, team’s ideas on the future product, and the needs of real users.
While using the traditional approach to defect management some bugs can be included in the backlog along with other ideas. As a result, you will get a number of bugs in the final product, or you will have to fix them urgently. The Product Owner may not notice the bugs in the backlog, and so, they will be included in the final product. It is not the best approach to defect management. Of course, it has a number of advantages, but the disadvantages outweigh them totally.
The way of bug tracking in Agile depends on the certain company and team of developers. Some of them use certain strategies of defect management, others prefer alternative ways of Agile bug tracking. Generally, all these approaches are focused on avoiding bugs instead of tracking them with the help of bug trackers.
Specialists like Lisa Crispin say that bug tracking in Agile does not require bug trackers at all. This conclusion is the result of several years’ worth of research. It was finally completed in 2010. The main idea is to avoid bugs and find them directly during the team work on a project. This concept is based on the main Agile principles. As we know, flexibility is one of them.
The supporters of Agile bug tracking system have conducted research that has shown the feedback from the customers. The result came as a surprise for developers who preferred the traditional way of bug tracking. Most of the respondents said that they prefer to have new functionality in their software and do not care about the low priority bugs.
That is why some companies that are acting in an Agile manner may not track the low priority bugs while focusing on general quality of the final product. It is one of the main principles of the Agile issue tracking system. However, the bug trackers are sometimes used in it, but only after all work on the project is completed. They help to uncover significant bugs during the final stages of work.
- Cooperation with the consumers is one more specific feature of the Agile bug tracking process. The customer may always be right, but only the direct users can say what they need exactly. Most of the significant bugs can be found during the product testing among the users.
- Agile bug tracking process has one more specific feature. It is focused (like all the Agile styled work) on cooperation with the customer. Some companies that use Agile methods create special lists that include all the probable bugs and other necessary information on the project and provide them to the Product Owner. Such cooperation helps to reveal all the significant bugs on the early stages of work and to fix them after the consultation.
Actually, bug tracking in Agile is a complex process that involves many different aspects and means. All the agile defect tracking tools are quite simple, but they require a higher level of cooperation within the team of developers than the traditional methods of bug tracking. Constant communication with the customer and the final users is also required.
In the Agile bug tracking process samples you can find both traditional and innovative methods of defect management. Unlike those teams of developers that prefer traditional models of software creating, Agile-styled developers are not bound by strict instructions and obligations. They can choose the optimal means of bug tracing for each project. In most cases this strategy leads to success.