Bug Tracking vs Traditional Software Development
Inexperienced software developers often try to compare bug tracking with the traditional model of software development. However, such comparison is formulated improperly and has no sense because it is impossible to compare a bug tracking process with a software development methodology. To answer the question: “Why is it impossible?” we should give the proper definitions for bug tracking process and traditional Waterfall software development methodology.
Bug tracking is a complex process aimed at detecting bugs, reporting on them, fixing them, and creating bug lists. Bugs, or defects, as they are also called, are errors in the initial code of the product. Each software development project has lots of bugs. These defects should be fixed as soon as they are detected, because they can ruin the functionality of the future software product completely. That is why every software development project requires a bug tracking procedure, regardless of the methodology you use.
Most software development experts agree that the process of bug tracking has four stages.
First of all, the bugs should be detected. The process of their detection usually takes place at the stage of product testing. In traditional software development methodology it is conducted before the software product is delivered to the customer. Modern bug tracking systems are capable of detecting defects automatically.
After the bugs are detected, they should be reported properly. A bug report is a document that contains all information about the defect including the time of its detection and the data of the employee, who has detected it.
At the next stage of the bug tracking process the bugs are fixed. After that the software product is tested one more time to make sure that it works properly.
The last stage of the bug tracking process is the stage of bug list formulation. Bug lists are documents that contain the full information on all bugs detected during certain projects.
As you can see, the bug tracking process is common for all software development methodologies including Waterfall. However, it is necessary to say a few words about the traditional software development method and bug tracking in its projects.
Waterfall is a methodology that came to software engineering from hardware development industry. That is why its projects have three main principles: low customer involvement, strong documentation, and sequential structure of project realization. The last principle is the most important for all Waterfall projects. It means that each of them has five or seven stages that should be performed one after another without changing their order. A Waterfall team cannot return to previous stages of work even if it has detected a bug in it. That is the reason why many Waterfall teams have to run their projects from the very beginning. The bug tracking process in Waterfall is usually conducted at the final stage of project realization. It is a big disadvantage, because if the team cannot fix some defects immediately, it should start its work on the project from the very beginning.