In his excellent article "Jira and Jira Align Integration: Issue, Story, and Epic Management" my buddy @Tim Keyes provides a nice overview of the basics of integrating Jira stories and epics with Jira Align.
One area that, in my opinion, deserves additional discussion is how to integrate Jira defects with Jira Align.
First of all, some discussion is probably merited on a bug vs a defect, why we should care, and when to use or not use either type. Many organizations, due to such factors as distributed teams or silos between dev and QA, use Jira Bugs to track tests that failed during the normal development cycle prior to Product Owner (PO) acceptance of the completed story. They also use the same Jira Bug issue type to track defects that emerge after PO acceptance during integration testing or after deployment to production.
This is a case of mixing apples and oranges - two different artifact types, of of which needs to be tracked in QA metrics (post-PO acceptance defects) and one that shouldn't (pre-PO acceptance bugs). Why track post-PO acceptance defects but not pre-PO acceptance bugs? Because the defects are new work that needs to be pointed and prioritized like any other work; the bugs are already accounted for in the pointing and prioritization of the original story under which they are spawned during development.
Example: During development a 3-point story leads to QA logging five 1 point bugs (prior to PO acceptance) during testing. In this case, our metrics would show 6 issues worked by the team for a total of 8 points, when in fact only one 3-point story was actually developed. The five 1-point bugs inflate both the team velocity and issue count metrics, as they were accounted for in the team's original 3 point estimate for the story. (NOTE: The smallest meaningful work is 1 point, not fractional points. Yes, I know others argue for 0.5 point stories.) Any true defects in the original story that need correcting would only be determined during PO acceptance, when the PO might accept a story with a defect that needs fixing later. That defect would then be added to the team backlog and pointed/prioritized like any other story.
Now back to Jira Align and how to integrate true defects. If an organization is using Jira to track normal development testing generated bugs, then the Jira Bug type would be used for those and NOT integrated with Jira Align. Create a separate Jira Defect issue type to integrate with Jira Align. If your organization is properly using the Jira Bug issue type for true defects (as described above) then you have two options for integrating them with Jira Align, as follows:
DEFAULT BEHAVIOR (NOT RECOMMENDED IN MY EXPERIENCE):
The default behavior for mapping Jira defects to Jira Align causes the Jira defects to be accumulated in the Defects area of the Team level. This is effectively a triage area for the defects to be assessed prior to being converted to stories to be worked by an agile team. As they come over to Jira Align, when configured this way, the defects are stripped of their epic link, team, story point estimate, and other data.
While this approach makes sense from a pure agile perspective, it is not the behavior most organizations expect or desire when integrating with Jira. In four years implementing AgileCraft/Jira Align with Jira I've implemented defects this way once.
When to chose this option: The organization that chose this method had minimal production defects due to proven high quality code coming out of their agile teams. If your organization has minimal production defects that don't impact team velocity, then this is the option to chose, as your agile discipline will probably include triaging defects before working them.
To integrate Jira with Jira Align for this configuration do the following:
- Navigate to Administration -> Jira Settings -> Jira Setup tab
- Scroll down to Issue Types
- Next to Issue Type Defect enter the Jira Issue ID and Name.
- Scroll to the bottom of the section and click Save.
STORY OF TYPE DEFECT (RECOMMENDED IN MY EXPERIENCE):
The preferred way, in my experience, most organizations chose to implement defect tracking in Jira Align, once they understand the behaviors of the two options, is to map defects as Stories of Type Defect. This option maintains the epic link, the story points, the team, and the other data that is stripped from the defect in the default behavior.
This option provides such benefits as:
- Visibility of the defects on the Program Board under their respective features (Jira Epics)
- Defects are properly included in team sprint velocity, as well as program level velocity
- ARTs/programs can determine what percentage of their overall velocity needs to be reserved for emergent production defects.
- NOTE: In one organization with monolithic legacy code, 40% of each sprint's velocity was reserved for EMERGENT production defects.
- Teams familiar with Jira will be more comfortable with this approach.
When to chose this option: The majority or organizations that have been using Jira for years or who have high volumes of production defects will want to use this approach for a variety of reasons. I personally believe this should become the default behavior when integrating Jira and Jira Align.
To integrate Jira with Jira Align for this configuration do the following:
- Navigate to Administration -> Jira Settings -> Custom Issue tab
- Click the Add button to add a new row to the list.
- Enter the name of the issue type used in Jira (ex: Bug or Defect) in the Issue Type column
- Select Defect from the Story Type drop-down list
- NOTE: This list can be edited under Administration -> Platform -> Dropdowns tab -> Story Types
- The Connector column will default to Jira, unless you have multiple connectors.
- Click the blue Save button.
TRADE-OFFS (THERE ARE ALWAYS TRADE-OFFS):
Adding this because of @[deleted] observation in the comments.
The biggest trade-off between using the default defect mapping in Align vs using mapping defects as stories of type defect is the loss of the rich quality reporting available in Align. Please see my answer in the comments below to @[deleted] question/observation.
What are your thoughts? How have you integrated defects from Jira to Jira Align?
Regards,
Peter
PS: Of course, after I finished writing this, I discovered @Tim Keyes had already published a related article! Oh well. Here's Tim's article, for completeness.