How to work effectively with issues on issues on GitHub

Tickets on GitHub are different: requests for the implementation of some features, error reports, complaints from customers, alerts from security systems, retrospectives for the team, etc. Here we look at how the team can use and discuss them.

Content:



What is a ticket?


For many teams, “ticket” is a generic term that can mean:

  • Request for the implementation of features.
  • Error report.
  • Customer complaint.
  • Security Alert.
  • Retrospective for the team.

Public or private?


For projects, you can create public and private tickets. Public, as a rule, are intended for users, customers, agents, etc. Private - for developers, contractors, partners, etc.

For public tickets


  • Focus on the bottom line.
  • Emphasize what can be done.
  • Do not post confidential information.

For private tickets


  • Focus on the details.
  • Highlight research information, because it helps to identify possible patterns between different tickets.
  • Add confidential information as needed.

Rating


All tickets must be evaluated in such a way as to be able to compare them with each other and understand what exactly needs to be worked on. There are different ways to evaluate, and in practice, the following work well.

Priority Rating


  • Example : Priority 1 (do first), Priority 2 (do second), Priority 3 (do third), etc.
  • Analogy : a to-do list in which Priority 1 is the top priority.
  • : , . , .
  • : 0 (P0), , .


  • : 1 ( ) 5 ( ).
  • : - 1 (), 2 (), 3 (), 4 (), 5 ().
  • : . . , .
  • : 0 () 5 (). , .


  • : 1 ( ) 10 ( ).
  • : 1 ( ) 10 ( ).
  • : . . . , .


  • : — «», «», «».
  • : .
  • : , .

MoSCoW


  • : MoSCoW — «must», «should», «could», «won't». « », «», « », « ».
  • : , , - : « » « ».
  • : . .

    : «would» «won't», , , «would» , , - : « , ...».


  • : « 1 %» , 1 % , « 100 %» — .
  • Analogy : the frequency of occurrence of something or repetition during a given period or in the sample in question.
  • Advantages : allows you to evaluate how often the problem occurs. Can be converted to grades like “20 times a day.” You can summarize in the form of “always”, “often”, “sometimes”, “rarely”, “never”. It can be expressed as a percentage: “80% of cases are affected.”

Cumulative rating


Example : ticket evaluation by a combination of priority, influence, damage, size, MoSCoW and frequency.

Suppose an important client came to the office to sign an agreement within an hour, and the sales team found a typo in the name of the client’s company on the site.

  1. Sellers first set the ticket Priority 1.
  2. 1 ( ), .
  3. 3 (), .
  4. «» , .
  5. MoSCoW « », .
  6. 2 %, 2 % .


Here are examples of discussion of ticket ratings.

- Usually, apart from danger, the frequency is also independently evaluated. If the bug is unlikely to occur during normal use, then even with high risk, priority can be reduced. This is usually how risks are managed.

- A developer or tester can well assess the danger of a bug, but he does not know if all users or only some of them will face this problem. Frequency is another dimension. Priority can be calculated by multiplying the hazard by frequency.

- The form should be as follows: danger * frequency - ease of workaround = priority. If any of the members of the equation changes (for example, a new workaround is found, or it turns out that almost no one goes to the falling web page), then the priority will be adjusted. There is only one danger without “estimating the number of people it will affect” and “how much will it affect them?” It looks only part of the picture.

- The QA engineer during the initial research identified the danger based on technical criteria. This is only one of the factors that the product specialist uses in determining priority, which from this point on becomes a key parameter.

- For some users, the program sometimes crashes, they lose all the work done and are very angry. They assign the highest danger to the ticket. But if only one person faces the problem, and this happens periodically, and the user has already adapted to save more often, then the product technologist should give the ticket a lower priority.

- Danger characterizes the perception of a problem by a person: if he encounters it in a certain case, then he will assess the danger as maximum. Priority describes how the project management team perceives a bug: bugs that are reported by the most valuable complainers — customers who bring a lot of money, a director who has difficulties, etc. receive a higher value. Do not use the danger of bugs to evaluate priority, because they are interconnected indirectly .

- The experience of using priority and danger suggests that in theory there may be a difference between them, but in reality most do not see it. These terms are so often confused that they become inseparable.

- Google’s internal bug tracking system handles both priority and danger. P0 S0 is the most urgent task, P2 S2 is the standard, P4 S4 is the least urgent. This is a bit of an on-duty joke that danger does not make sense (because in fact it does not differ from priority).

- We use only priority. The tester assigns an initial value based on heuristics (for example, falls - P1, cosmetic improvements - P5). The developer focuses on this value to select the bugs that you need to start working with first. And then the priority is adjusted according to user experience and application behavior. If we really need to see what values ​​the tester set, then we use the "history" or "revision" function in our application to track errors.

Ticket Template


The template will help your team effectively and comprehensively cover important topics.

It may use:

  • The main complainer: a general description of the problem given by the person who has encountered it.
  • Participants: who is involved in the situation - users, employees, partners, specific people, etc.
  • Symptoms: obvious signs of a problem - user opinions, triggers, alerts, etc.
  • History: secondary information relevant to the situation - similar cases, reports, links, etc.
  • Diagnosis: what happens under the hood - the underlying causes or chain of causes, etc.
  • Forecast: assessment of potential consequences, changes, etc.
  • Fractures: lost information, crashing application, blocked process, etc.
  • Treatment: what we do to improve the situation - procedures, to-do lists, restrictions, etc.

Author template file: TEMPLATE.md

Postmortem launch


The launch of post-mortem messages will tell the team when to deal with the situation.

You can run the analysis:

  • With any problems noticeable to the user, such as unexpected crashes or errors.
  • In the event of any interventions upon request, for example, by engineers or management.
  • In any incident investigation, as this reflects the need for monitoring.
  • In the case of requests from interested parties to conduct reviews, audits or reduce the consequences of incidents.

Innocent post-mortem


With innocent post-mortem, it’s worth focusing on the symptoms, causes and treatment, rather than blaming someone. Such reviews begin with confirmation that everyone has good intentions, that everything possible was done using the information available at that time.

All Articles