Bugs and Progrems need to be managed separately

08/12/2017

 

Bugs and problems are different from what you need to deal with

Bugs and problems are very similar, so they are often confused, but in order to improve the quality of software, it is easier to understand if you think about how to deal with them clearly. The important thing at the time corresponding to the bug, how to reproduce and issue a pull to the mechanism and on the source code problem areas of the effect of and proposed measures confirmation method is like. On the other hand, when dealing with a problem, what is important is the range and conditions of occurrence, the range of influence, and the recovery method and workaround from the problem . In this classification, I will introduce what kind of things should be considered and what measures should be taken regarding bug management and problem management, and what my Gutara father in Kobe has practiced so far.

Bugs and problems

Whenever we are developing software, we always have bugs and problems . No matter how much you try to avoid it, there is no way to completely avoid encountering bugs and problems in software development. Well, if you make perfect software from the beginning, you can be free from problems and bugs, but ordinary software engineers like us who are neither gods nor super engineers are red threads that are inseparable from problms and bugs. It is tied with.

By the way, what is the difference between a bug and a problm ? Have you ever thought about a bug and a problem clearly? There are various definitions of bugs and problems in general, but Gutara Father thought as follows.

  • Bug  : A source code error that causes the software to not work as specified
  • Problem : Any issue that occurs when the product is used in the market

The problem is that the user is in trouble when the software is actually used . For example, it is a problem that the software malfunctions due to a bug, but it is also a problem of the product that the reaction is very slow and it is not usable, or it is too difficult to use and you do not want to use it. On the other hand, to a specification that the processing of the B and press the button of A begins, so that the processing of C begins source code has Mistaknde  , it it is a bug. In short, bugs are one of the causes of problem.

Also, based on when they are found, problems are found in production environments where users use the software, but many bugs are found in internal testing . Well, bugs that have passed internal testing are often found in production and result in problems, which is the biggest issue. .. ..

So, if you roughly separate bugs and problems, it looks like this. And since software engineers are tied to this bug or problem with a red thread, it is also important to manage this bug and problem properly so that they do not run away. So what do you do with bug tracking and problem tracking?

What is bug tracking?

Let’s look at the simpler bug tracking first , by the way, what should we do with bug tracking? It summarizes a bug management and word, but the reality is management of the bug information and management of the work to use the bug information is easy to understand and be divided into two.

What is the management of bug information?  (1) What kind of bug information is there, (2) Who / when / what fineness to record each item , (3) Where to record the information , (4) How to record the recorded information It refers to managing items such as whether to see or modify . In other words, it can be said to be the operation management of the database that records bugs .

In order to manage bug information correctly, a) necessary information, b) necessary accuracy, c) easy retrieval when necessary, d) always information, according to the purpose of using bug information. Decide on various work methods and procedures to keep the freshness and e) record it in the database. Only when those methods and procedures are operated correctly will it become bug information that can be used as correct bug information. It is the management of bug information that creates such a state.

On the other hand, the management of work that uses bug information is the work management when performing the work necessary for software development using the recorded bug information. Speaking of work to be done using bug information, first of all, debugging work . According to the bug information, (1) reproduce the bug, (2) find the mistake in the source code that causes the reproduced bug, (3) correct the mistake, (4) check if the correction is correct, and (5) fix the other part of the source code. It is a series of debugging work to confirm that it does not adversely affect the part of (6) and reflect the modified contents of the source code in the actual source code.

However, debugging is not the only thing you can do with bug information. At the time of software release judgment, a reliability growth curve (so-called bug curve) is created from the test status and bug detection status, and it is judged whether the bugs have been exhausted by thorough testing . .. The original information used at this time is bug detection information , such as when and how many bugs were found . Also, when the software development work was completed, what kind of process there were many bugs in this development, whether there were many bugs entered due to design mistakes, many bugs entered in the implementation, etc. We also analyze the cause of bugs , such as whether there were many secondary bugs or whether the bugs that had been latent for a long time were just revealed by new usage . If this analysis shows what kind of bugs our development team often makes, and if we pay attention to it from the next development, we will be able to make software with few bugs as easily as possible. 

Use the bug information, work what purpose , and of software development projects carried out in any time or to, the plan make a, of the implementation was the performance was, it if there is a deviation from the plan to modify , Is the management of work that uses bug information.

In this way, bug tracking has two aspects: bug information management and work management that uses bug information, but both are slightly different from the main practice of software development design, implementation, and testing. It can also be said to be a behind-the-scenes management work that supports the main business behind the scenes . Since it is a behind-the-scenes work, it often happens that sufficient man-hours cannot be allocated if you are not careful, but if this bug tracking is not done properly, good quality software will not be completed. Therefore, bug tracking is a very important management task for software development .

What is problem management?

Many of the problems are caused by software bugs, but there are various other problems such as performance problems and usability problems. What all the problems have in common is that they are the problems that are occurring for the users who are actually using the software . If a major problem is left untreated , the software will be overwhelmed by the user and, in the worst case, the business will be lost . Problem management is to take appropriate measures to prevent such a situation.

Therefore, it is important to check and take the following items for problem management.

  • Contents affected by the problem (what is the user having trouble with)
  • Conditions that cause problems (when and what should be done to cause problems )
  • Scope of influence of problem (whether this problem occurs in all products or only some products)
  • Workaround for problem (If you do something, can you prevent this problem from happening?)
  • Timing of countermeasures for problem ( when will this problem not occur)

If the problem is a serious problem  with a wide range of influence and content, in order to reduce the number of users who encounter the problem as much as possible, the user as soon as the content of the defect, the conditions to cause it, and the workaround are known. Publishing to is also one of the options for how to deal with it. If the problem is caused by a software bug, we will urgently release a version of the software that fixes the bug, or wait until the next version of the software to release the fix and put the fix there . 

In this way, problem management is to manage what measures to take, including disclosure of information, with the aim of reducing the impact of problem on users as much as possible.

Did you get an overview of bug tracking and problem tracking?

I have introduced an overview of bug tracking and problem tracking that my Gutara father thinks about. There may be some differences from the general idea, but I hope you can read it with such an idea. 

If I have a little more time, I’ll add more specific content about bug tracking and bug tracking that my Gutara father thinks in another article. Once you have written an article, you will see a list of specific articles below, so please refer to it if you are interested.

Posted by グータラ親父