Background
- Most Fedora events should be self-hosting and capable of being led by non-subject matter experts. This SOP sets forth how to arrange and lead a Blocker Bug Meeting.
- These meetings are a part of the QA:SOP_blocker_bug_process and the QA:SOP_freeze_exception_bug_process, and their purpose is to review proposed blocker and freeze exception bugs and decide whether to accept them, and to monitor the progress of fixing existing accepted blocker and freeze exception bugs.
- Proactive review and handling of blocker bug lists is the one of the best ways to make sure our releases ship as closely on time as possible.
- Blocker Bug Meetings are not owned by any one team in Fedora. They are a collaborative effort between Release Engineering, Quality Assurance, Development, and Project Management.
Meeting Setup
Announcement
Announce the Blocker Bug Meeting. Include the following important information in the announcement:
- Meeting time in the format: 16:00 UTC (12:00 EDT, 17:00 CET). To help participants convert UTC to their local time, the following text can be used.
To convert UTC to your local time, take a look at http://fedoraproject.org/wiki/Infrastructure/UTCHowto or run: date -d '2010-03-19 16:00 UTC'
- Place: #fedora-bugzappers on irc.freenode.net
- Link to list of bugs to be reviewed from the blocker bug tracking webapp
- Link to the appropriate Fedora Release Criteria (e.g. Alpha, Beta or Final) to guide decision making during the meeting
- Link to the QA:SOP_blocker_bug_process and QA:SOP_freeze_exception_bug_process
- Link to this page
Reminders
- Two days before the meeting, send reminder to test-announce@lists.fedoraproject.org. Both the devel and test mailing lists are subscribed to test-announce, so no additional announcements are needed.
Requesting Status Before The Meeting
The meeting is most productive when we have the latest information to work with. Often this requires specifically requesting more information in the bug. Review each of the open blocker bugs and review the comments to see if the bug is progressing.
If the bug does not appear to be making progress, request more information. Here are some examples text that might help solicit information:
- Set the bug to needinfo-assignee ...
Please help us save time at this week's {{FedoraVersion|long|next}} Alpha Blocker Bug review meeting by adding your comments on the assessment of this bug. If this bug is still unresolved by Friday, July 23, 2010, we would appreciate your attendance at the {{FedoraVersion|long|next}} Alpha blocker meeting on freenode in the #fedora-bugzappers channel at 16:00 UTC. The following information would be very helpful to have prior to Friday: a) whether you believe it is truly a blocker bug, and if so, which of the https://fedoraproject.org/wiki/Fedora_Release_Criteria it infringes b) what additional information you need to troubleshoot or fix this bug c) When you estimate having a fix ready Thank you, your name
- Set the bug to needinfo-reporter
Dear Bug Reporter, This blocker bug has been marked as fixed. If possible could you verify that this problem is in fact fixed in the latest build? Your help in completing this task and adding a comment to this bug prior to the next {{FedoraVersion|long|next}} Alpha Blocker meeting on Friday, July 23, 2010, would be most appreciated. Thank you, your name
In Action
Quorum
Minimum active attendance for a meeting is three people, ideally one representing each of the stakeholder groups. If active attendance at the meeting drops below three people at any point, it must be ended or suspended until more people join.
Three hour time limit
Blocker meeting should usually run for a maximum of three hours. Experience indicates that beyond this amount of time, participation and attention levels drop significantly. If a meeting has run for three hours and all bugs have not yet been covered, the meeting leader should wind up the meeting and organize a follow-up meeting to complete the work, usually to take place the following day.
Introduction
The meeting leader should open the blocker bug webapp's IRC page in a text editor. This link will give you a template for running the meeting: introduction text and text for each bug which you can copy and paste straight into the meeting channel. It will be up to date as of the time you access the page.
The meeting leader should join #fedora-bugzappers on irc.freenode.net and get the meeting started. Use the meetbot commands below to help capture minutes and direct the flow of the meeting.
- The meeting leader should start the meeting using the following lines:
#startmeeting FXX-blocker-review
#meetingname FXX-blocker-review
#topic Introduction
Why are we here?
#info Our purpose in this meeting is to review proposed blocker and nice-to-have bugs and decide whether to accept them, and to monitor the progress of fixing existing accepted blocker and nice-to-have bugs.
#info We'll be following the process outlined at:
#link https://fedoraproject.org/wiki/QA:SOP_Blocker_Bug_Meeting
#info The bugs up for review today are available at:
#link http://qa.fedoraproject.org/blockerbugs/current
#info The criteria for release blocking bugs can be found at:
#link https://fedoraproject.org/wiki/Fedora_18_Alpha_Release_Criteria
#link https://fedoraproject.org/wiki/Fedora_18_Beta_Release_Criteria
#link https://fedoraproject.org/wiki/Fedora_18_Final_Release_Criteria
- The meeting leader should then paste the counts of proposed and accepted blocker and freeze exception bugs from the top of the IRC template.
- The meeting leader should find someone who is willing to act as a bug secretary, making changes to bugs in Bugzilla as necessary. This role can be shared around during the meeting if desired.
Review Proposed Blocker Bugs
Next, proceed through the list of bugs. First, review the proposed blocker bugs. For each bug, this is the process:
- The meeting leader pastes the #topic, #link and #info lines from the IRC template
- The group then agrees whether the bug is still accepted as a blocker; if not, whether it is downgraded to target or dropped from the list entirely. This decision should be based on the Release Criteria for the release in question
- All meeting attendees can vote +1 or -1 to blocker status during discussion, and change their vote at any time
- The meeting leader should use every effort to try and reach strong consensus on the bug's status
- If all such efforts fail, the meeting leader should tally the votes and propose an action based on the majority opinion. The meeting leader should consider only votes from members of the stakeholder groups (development, release engineering, QA and project management) in such a tally
- Use plenty of
#info ...
tags to record additional notes on the bug - After discussion, the leader will seek feedback on a proposed action
proposed #agreed 123456 - accepted|rejected as a release blocker
- Attendees can 'ack', 'nack' or 'patch' the proposed action, as a mechanism for catching typos or suggesting refinements. The meeting leader can adjust the proposed action at their discretion
- The group should also consider the status of work on fixing the bug. It should be clear who currently has responsibility for each blocker bug and what the next required action is on each bug
#action tester - Will attempt to reproduce the issue reported in 123456
#action developer - Expects to have a patch available for testing later today
- The meeting leader should summarize the discussion with
#agreed
and#info
before moving on to the next bug. If specific action beyond the immediate update of the bug report is needed, it should be noted with a#action
item before moving on.#agreed 123456 - accepted|rejected as a release blocker
- In some cases it may be impossible to make a definite decision until more information is available. In this case, use
#agreed 123456 - unable to determine status with currently available information
, and ensure there is an action item for someone to make sure the necessary information is available for the next meeting
- Lastly, as directed in the QA:SOP_blocker_bug_process, the bug secretary should update the bug report Comments, Blocks: and Whiteboard fields as appropriate
- Summarize the meeting discussion in a new comment (see suggested stock responses for removing blocker status and downgrading to Target).
- If the bug is agreed to be a blocker, add the text
AcceptedBlocker
(with that exact spelling and case) to the Whiteboard field - If the bug is agreed to not be a blocker, add the text
RejectedBlocker
(with that exact spelling and case) to the Whiteboard field, and remove the blocker tracker bug from the Blocks: field - If the decision could not be made, do not add any text to the Whiteboard field
Review Accepted Blocker Bugs
The meeting should also review all existing accepted blocker bugs to ensure work is progressing on fixing them. Blocker status can be re-discussed and re-voted on if there is a reason to do so, otherwise the meeting should focus on ensuring the next steps in fixing the bug are clarified and the meeting leader should ensure appropriate #info and #action tags are added.
Review Proposed Freeze Exception Bugs
Using the same procedure outlined above, review the freeze exception bugs. It is not necessary to review previously accepted freeze exception bugs, in most cases. The Whiteboard fields for freeze exception bugs are AcceptedFreezeException and RejectedFreezeException.
Review CLOSED
, but not VERIFIED
Blocker Bugs
If time and energy remain, the meeting leader may quickly review the list of previously AcceptedBlocker
bugs that have been CLOSED
, but were not VERIFIED
. This is intended as a quick review to highlight any critical bugs where additional testing is desired. Use the queries below to find applicable bugs.
- List of all F42 Tracking bugs. Use this query to update the following queries with any new Tracking bugs.
- List of
CLOSED
, but notVERIFIED
, Blocker bugs: - List of
CLOSED
, but notVERIFIED
, freeze exception bugs:
Open discussion
While the meeting can run long, if time remains, it is nice to open up the meeting for any feedback or bugs not already discussed.
#topic Open Discussion <your bugs here>
Tear Down
Finally, after the list of bugs has been reviewed, identify who is responsible for the #Tear_Down process. Typically, this is the meeting leader's responsibility, but it doesn't hurt to clearly identify who will be
- Confirm the next meeting time and date
#info Next meeting time - XX:XX UTC on $date
- Thank participants, and close the meeting
#endmeeting
- Send a summary of the meeting's findings and action items to test-announce@lists.fedoraproject.org. As part of the email include information about the date and time of the next meeting.=