by Carlos Resurreccion, System Administrator
The only thing that is constant is change they say. So software systems likewise will require change over time due to changes in user needs, change in technology, or just because it’s not working right (i.e. buggy), among other things.
The changes to the software need to be recorded or tracked in order to know who did what on which part of the system and how it was done. These recorded information can then be used to coordinate work among developers to avoid overlapping of work assignments, identification of finished and unfinished tasks, and provide a ready-reference for future tasks of similar nature, etc. But even a one-man team can benefit from recording such information to better organize the development effort, especially when the system being developed has a level of complexity.
Bug Tracking is the activity of recording these changes to the system being developed. But it does not solely track bugs and their fixes. Rather, it may include tracking tasks that may not even be programming activities but are related to the overall software development effort.
In bug tracking, work activities are called issues. Issues can be categorized as bugs, features, or tasks.
Bugs are defects in the software that need to be fixed. Features are new capabilities desired for the software system. Tasks are activities that support bug fixes and feature development. An example of a task can be subscribing to a website hosting service where to deploy the software system, or gathering information about a problem encountered by users.
Each issue or work activity must then have the following basic attributes:
- Issue description, which describes the problem and what needs to be done
- Assignee(s), or the person(s) who will work on it
- Start and End Dates, or deadline
- Priority, which can be low, medium and high, to identify if it is urgent
- Dependencies, if any, to identify if another work item depends on another one
- Status, which can be New, In Progress, and Done.
This bug and task tracking can be implemented by putting up a corkboard with three columns; namely, New (will do), In progress (doing), and Done.
Then small pieces of paper with the the issue description, assignee, start and end dates, priority and dependencies written on it are pinned or taped on the appropriate status column, moving each paper to the next status column as it is worked on to completion.
But such a setup would be hard to maintain if there are more than a few dozen issues to keep track of or when the development team is more than a few people.
This is where Bug Tracking software comes into the picture. With bug tracking software, issues can be created or submitted using a web browser as long as there is an Internet connection and changes to the issue status, and team members are automatically notified of the changes in the issue by way of email messages, or instant messaging among others.
Here at Akubo, we have been brewing Clearbugs, a bug tracking software for small and solo member teams with emphasis on simplicity and clarity, so developers can focus on fixing bugs and doing tasks rather than getting stuck organising the bug tracking effort. Clearbugs is free even for single users. Visit http://www.clearbugs.com for more details.
Sir Carlos was one of the guest speakers at the Campus Code DevCon, held last February 28 at the University of Negros Occidental – Recoletos, Bacolod City, in partnership with Bnefit, Akubo, and TBIC.