Measurement of the projected characteristics of your program may forewarn you of the scale of your task, but bugs are their inevitable manifestation. Code does not write itself peerlessly. Even the best programmers and managers are prone to error. There are three bug metrics to address:
♦ Length and density (number of bugs for the lines of code)
♦ Rate of bug growth/decline
When you set up any type of measurement, including measuring bugs, pay attention to the accuracy and consistency of measurement data. Try to start measuring all features simultaneously. You can't know where you are (or were) unless you have kept a record. If few bugs come to light while you're coding, they are easy enough to deal with as and when they surface. Once their numbers go over 20, you need a record and some kind of disciplined procedure. Some people manage their bug logs in word processors, others in spreadsheets, ad-hoc databases, or purpose written software. Keep the following key things in mind when logging bugs:
♦ Who is going to manage the bug list? (Remember to have an understudy should the designated person fall ill.)
♦ Is the list accessible to all the relevant people including beta testers?
♦ Are the bugs classified so that people can identify bugs reported already and not enter them again?
♦ What is the remedial status? (People must know the bug status; that is, how many are reported, confirmed, being fixed (by whom and ETA), and confirmed fixed.)
Before you proceed, you need to consider the following:
♦ Who should have access to the list?
♦ Do you want one person in charge or one and a deputy?
♦ Should the person who created the bug fix the bug, or should someone take over this specialist function?
♦ How will you ensure that bugs that pose the greatest risk are dealt with first?
♦ How will you record the time it takes to fix each class of bug?
♦ Where will programmers find the fixit schedule?
♦ If a sufficiently serious bug rears its head, who will give the order to down tools, regroup the team, and attack the problem collectively until the problem is no more?
Was this article helpful?