<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Ticket_procedure</title><link>https://sourceforge.net/p/hpg-projects/wiki/Ticket_procedure/</link><description>Recent changes to Ticket_procedure</description><atom:link href="https://sourceforge.net/p/hpg-projects/wiki/Ticket_procedure/feed" rel="self"/><language>en</language><lastBuildDate>Fri, 20 Jan 2023 12:23:58 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/hpg-projects/wiki/Ticket_procedure/feed" rel="self" type="application/rss+xml"/><item><title>Ticket_procedure modified by Hugh Greene</title><link>https://sourceforge.net/p/hpg-projects/wiki/Ticket_procedure/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;A formal procedure for the life of a bug ticket is as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reporting phase&lt;ol&gt;
&lt;li&gt;A concerned person ("reporter") discovers a bug.&lt;/li&gt;
&lt;li&gt;Reporter attempts to reproduce the bug. In the case of Errors,&lt;br/&gt;
    if it doesn't reproduce, continue anyways.&lt;/li&gt;
&lt;li&gt;Reporter files a ticket with as much information as possible. An&lt;br/&gt;
    outline of reporting tickets is documented at &lt;a class="" href="/p/hpg-projects/wiki/Bug_reporting/" title="wikilink"&gt;Bug&lt;br/&gt;
    reporting&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Tech phase&lt;ol&gt;
&lt;li&gt;A tech lead receives the ticket.&lt;/li&gt;
&lt;li&gt;Tech lead attempts to reproduce the bug and fills out the ticket&lt;br/&gt;
    with any additional information and tags as appropriate. Note&lt;br/&gt;
    that at this point, there may be insufficient information, at&lt;br/&gt;
    which point the tech lead will attempt to collect more&lt;br/&gt;
    information from the reporter. Tickets like this should to be&lt;br/&gt;
    tagged as "Needs Information" or "Needs Feedback". If the tech&lt;br/&gt;
    lead is familiar with the problem/solution, he may give a rough&lt;br/&gt;
    outline of what work needs done.&lt;/li&gt;
&lt;li&gt;Generally the tech lead should also include a test case for QA.&lt;br/&gt;
    Usually this is just the steps to reproduce.&lt;/li&gt;
&lt;li&gt;Ticket is assigned a priority, which may fast-track it into&lt;br/&gt;
    development or may put it into the backlog, at which point it&lt;br/&gt;
    can be pulled into development whenever a new dev phase starts&lt;br/&gt;
    (in Agile, this is at the beginning of a "sprint", which is&lt;br/&gt;
    usually 2 weeks).&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Sprint phase&lt;ol&gt;
&lt;li&gt;Team lead reviews the ticket with the devs, gives an estimate,&lt;br/&gt;
    assigns the ticket, and effectively pulls it into the sprint&lt;br/&gt;
    (meaning it will be worked on this sprint).&lt;/li&gt;
&lt;li&gt;At this time, the ticket may be cleaned up a little to more&lt;br/&gt;
    accurately reflect the issue.&lt;/li&gt;
&lt;li&gt;Developer documents work and issues until the problem is fixed.&lt;/li&gt;
&lt;li&gt;Developer refactors code so that it's clean and in line with the&lt;br/&gt;
    philosophy of the product.&lt;/li&gt;
&lt;li&gt;Developer attempts to confirm that the issue is fixed. Updates&lt;br/&gt;
    the test case as necessary (including any exclusions for things&lt;br/&gt;
    that QA should not fail the ticket for - usually due to it being&lt;br/&gt;
    addressed in a separate ticket). Pushes code into review (this&lt;br/&gt;
    effectively closes the ticket as In Review and pushes the code&lt;br/&gt;
    into a team repository).&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;QA phase&lt;ol&gt;
&lt;li&gt;Team lead and/or tech lead reviews the fix. Pushes the code into&lt;br/&gt;
    the global repository. Pushes it into QA (this effectively&lt;br/&gt;
    re-opens the ticket as Begin QA).&lt;/li&gt;
&lt;li&gt;QA tests the parts of the product relating to the ticket on&lt;br/&gt;
    their own, clean environment. This is outlined in the test case.&lt;br/&gt;
    Ultimately, the test case needs to pass for the ticket to pass.&lt;br/&gt;
    If the test case fails, the fix fails. If the test case passes,&lt;br/&gt;
    QA should also do a basic regression test, or a more thorough&lt;br/&gt;
    regression test for fixes that affect many aspects of the&lt;br/&gt;
    product - for fixes that it is unclear what they affect, it&lt;br/&gt;
    would generally warrant a Full regression test. If anything&lt;br/&gt;
    seems wonky, especially if any of the steps leading up to the&lt;br/&gt;
    test case cannot be followed, QA will fail the ticket. Failed&lt;br/&gt;
    tickets go back to dev (who may decide to exclude the reason of&lt;br/&gt;
    failure and/or clarify the test case, and push it back into QA.&lt;br/&gt;
    Alternatively, they may fix the regression and push it back into&lt;br/&gt;
    review).&lt;/li&gt;
&lt;li&gt;QA phase 2 repeats the QA process in a production environment.&lt;br/&gt;
    This step may be skipped if a "production environment" is the&lt;br/&gt;
    same as a development environment.&lt;/li&gt;
&lt;li&gt;QA passes the fix, formally closes the ticket as resolved.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Note that, as a small team, we do not have the resources to follow this&lt;br/&gt;
formal procedure. We do not have nearly enough people to fill all the&lt;br/&gt;
roles, and even if we did, the people we have are all volunteers,&lt;br/&gt;
meaning they are under no obligation to fulfill their role, let alone to&lt;br/&gt;
fulfill it in a reasonable time frame. Because of this, much of this&lt;br/&gt;
process is expidited as much as possible, compressing several steps, and&lt;br/&gt;
creating informal processes for these. Whatever the case, this formal&lt;br/&gt;
procedure forms a guideline in what the procedure for a ticket&lt;br/&gt;
*should* be, so that our informal processes may reflect this as best&lt;br/&gt;
is possible with the resources we have.&lt;/p&gt;
&lt;p&gt;Do realize that tickets and bugs do still fall through the cracks. To&lt;br/&gt;
best expedite a ticket, we ask that reporters stick around and check up&lt;br/&gt;
on the ticket throughout the life of the ticket, helping in whatever way&lt;br/&gt;
they can. The reporter is also capable of closing their own tickets,&lt;br/&gt;
should they feel they are invalid or resolved before the usual ticket&lt;br/&gt;
process completes - that's perfectly fine. However, you are not required&lt;br/&gt;
to close your tickets - they will follow their usual lifecycle and get&lt;br/&gt;
closed off eventually anyways (hopefully by QA).&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hugh Greene</dc:creator><pubDate>Fri, 20 Jan 2023 12:23:58 -0000</pubDate><guid>https://sourceforge.net865dc2d5b69cee51f8742ced8f7fe10021a6424b</guid></item></channel></rss>