Our goal is to see that the issues entered in Bugzilla (i.e. bugs, enhancements, feature requests, etc.) which are pertinent to the product which a Scrum team is working on are integrated from Bugzilla into ScrumWorks Pro with the proper priority and severity which may be manipulated through the Bugs Dashboard during a planning meeting with the Product Owner.
You must first log in to Bugzilla as a user with Administrator privileges. For the purpose of this article, we will be using Bugzilla 3.1.3 (yes, it is beta, but it has the cool new interface!). Click on the Administrative link and select Custom Fields. This will provide you with the window shown below.
Click the “Add a new custom field” link which will open the window shown below.
All custom fields begin with “cf_”. We want to key on which bugs will be resolved in a given sprint, but Bugzilla knows nothing of sprints. We are going to define a custom field that will do this for us.Name the field “cf_sprint”, give it a description and make it a dropdown as shown below. Click Create to save the new field.
Bugzilla will list your new field as shown below.
Because we specified a dropdown, we must define what appears in the dropdrown list. Click on the name of the field, cf_sprint. This will present the window shown below.
Change nothing in this window. Click the “Edit legal values for this field”. This will present you with the window shown below.
Click the word “Add”. This will present you with the window shown below.
We want to define sprints in Bugzilla that will match our Scrum sprints. Open ScrumWorks Pro and bring up the product. Our example appears below.
Note that our sprints are four weeks in duration and are labeled by the month and year along with a brief description of the sprint’s primary goal. For purposes of Bugzilla integration, we will use the month and year in the dropdown.In Bugzilla, enter the name of the first sprint you will be integrating bugs into. In our case, as shown below, this is “March 2008 Sprint”.
Click Add, then repeat the “Add” step as many times as necessary to add your sprints to Bugzilla’s dropdown values. When completed, your list will be displayed much like ours below.
Click “New” for a new bug entry. Your new custom field and dropdown will be added to the bug entry as shown below.
After entering a bug, you will see the custom field on the right as shown below.
ScrumWorks Pro Integration
Open ScrumWorks Pro and login as a user with the authority to access external applications. From the File menu, select “Access External Application” and then the “Download” menu item as shown below.
In the window that appears, enter the details of your Bugzilla installation.
After entering your password, click Connect. After ScrumWorks Pro connects to Bugzilla, it will list the Bugzilla fields you may retrieve as shown below. Scroll down and you will see the custom field. We recommend you select all fields as the team members need all the information while working in ScrumWorks Pro.
After you click OK, ScrumWorks Pro will allow you to specify which bugs to pull across as shown below. We recommend you select the custom field and then narrow the query to the current sprint. As agile project requirements tend to emerge as you proceed, selecting too far in advance may leave you with inappropriate entries at the time that sprint arrives. We recommend you take only what you believe will be addressed in this sprint as determined during a planning meeting. Click Search and ScrumWorks Pro will execute the appropriate select.
All rows matching your criteria will be listed. In our example, this involved two bugs as shown below. You may download all or choose the bugs from the list that you wish to import.
We chose to download one, which was added to our Uncommitted Backlog Items as shown below.
Double-clicking on the bug in the Uncommitted Backlow Items and selecting the Downloaded Data tab will list all the Bugzilla fields, as shown below. This is why we suggested bringing all the fields over.
You must complete the Estimates before you may add the bug to your sprint. Click the Estimates tab and provide a level of effort, benefit and penalty as shown below.
After completing the estimates and saving the bug, you may drag-and-drop the bug into your sprint as shown below.
Add the tasks that you feel are involved in resolving the bug along with their level of effort. When you have finished breaking down the tasks, double-click on the title of the sprint. You will be presented with a page similar to that below containing the details of your sprint.
This is why it is so important in our minds to integrate Bugzilla and ScrumWorks Pro – the level of effort required to correct bugs has an impact on the expectations and abilities of your team. The example we have used above is greatly simplified so you are not lost in a list of confusing entries. The salient points are that the “Hours Remaining” impacts the amount of work the team can expect to accomplish. The burn down graph in the top right will go UP as bugs are added giving a visual clue to their impact. There is no way a team can handle emerging bugs without it having an impact on their ability to perform during a sprint!
Where Bugs Dashboard Fits
Bugs Dashboard strives to help organizations visualize the impact of their current issues as recorded in Bugzilla. It is important that everyone understands the big picture and that more than just the person working on a bug is aware of it.
The pages to view and set priorities in the Bugs Dashboard are there to enable customers, Product Owners, and senior management in communicating their expectations within the context of the big picture. We have encountered several non-agile organizations where this is particularly challenging due to the extremely large number of bugs (i.e. thousands). Agile organizations with one or more teams using Scrum typically run a more focused effort with a similarly smaller set of issues. Bugs Dashboard can help those organizations by communicating the expectations of the Product Owner.
As issues arise and are noted in Bugzilla, the ScrumMaster can stay abreast of their impending impact through the Open Issues portlet. During a regular planning meeting, which I make use of throughout a sprint, the Product Owner provides their guidance on the urgency of emerging matters by setting the priorities and severities for the bugs. After the urgency is understood, the bugs can be assigned to a sprint using the Scrum Sprint Portlet shown below (and Bugzilla). Once you have the bugs classified according to urgency and sprint, you are ready to download them to ScrumWorks Pro. The Bugs Dashboard facilitates the ScrumMaster’s role and the sprint by helping communicate and visualize the issues to the Product Owner and the team before they impact the sprint.
ScrumWorks Pro has a great feature to refresh a bug after you have downloaded it, but it is on an individual bug basis. You want to get the bugs as well documented as possible first – including the appropriate priority of the product owner. Bugs Dashboard is the great intermediary tool for prioritizing and grouping bugs before they impact a sprint.