Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

Beginning with the Frankfurt release, we will document requirements in JIRA.

Process

  1. Navigate to 
    Jira
    showSummaryfalse
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyREQ-1
  2. Select More==>Clone++
  3. Follow the steps in the dialog to clone the issue in the same project (i.e., REQ).  Make sure that the checkbox, "copy issues in epic" is selected.
  4. Modify the "epic name" and "description" fields for your requirement.
  5. Set the "Fix Version" field to the release name for which the use case is intended (e.g., "Frankfurt")
  6. Set the "Assignee" field to the requirement owner.
  7. If the requirement has other requirements or tasks as dependencies, add the requirements in the "Issues in Epic" field.
  8. Add a link to the JIRA issue in the appropriate column of the table on the release requirements page.
  9. Once the TSC has determined the priority for the requirement (0 - 4), set the value in the "TSC Priority" field.
  10. The template includes three sub-tasks for the TSC approvals at MS1, MS3, and MS4.  As these approvals are achieved, add a comment to the sub-task with a link to the approval documentation and mark the task as done.

Structure and Organization of Related Issues

The purpose of the Release Requirements (REQ) JIRA project is to create a single point from which all issues related to a particular release requirement may be found.  This association is nicely accomplished using the JIRA linking capability.  We will use two links, in particular:  1) "is blocked by"; and 2) "is related to".  Notice that we do not use "blocks".  This is because we want the REQ issue to be at the root of a network of related issues.  The REQ issue served an administrative function by creating a single connecting point for the network, while all of the other issues fill in the user story, features, tasks, and bugs.  

The diagram below shows an example of what this might look like.  It shows a release requirement (red box) with a chain of dependent issues.  The dependent issues are where the technical content is located.  However, notice that it also shows some "relates to" relationships (dotted lines).  These may include relationships to technical issues in other projects, such as a user story, but they may also include relationships to other release requirements. In any case, we are able to see all of the detail of the release requirement by beginning with the issue in the red box and following the links.

For a real example of how the issues should be organized relative to a release requirements JIRA issue, see 

Jira
showSummaryfalse
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyREQ-13
.

Gliffy Diagram
size600
nameissue organization
pagePin2

Frequently Asked Questions (FAQ)

Q: Is the Release Requirements (REQ) JIRA issue intended to replace issues documented in other JIRA projects?

A: No!  REQ served an administrative purpose by linking all of the technical issues (user story, features, tasks, etc.) that may be spread out over multiple JIRA projects to one location.  So, REQ does not replace your technical JIRA issues, but instead provides a single link to all of those issues (see diagram). 

Q: Should I use REQ to document technical content?

A:  No.  As mentioned above, REQ serves an administrative function, not a technical function.  It links all of the technical issues for a requirement to a single location.  Therefore, do not use REQ for technical content, but instead link the issues with technical content to REQ.

Q: May I have more than one release requirement JIRA associated with a requirement in the release requirements table in the wiki?

A: No – there should be a 1:1 relationship between the requirements in the release requirements wiki table and the release requirements JIRA. If you have more than one JIRA per requirement that probably means that your requirement is too vague, or too broadly stated.

Q: May I have the same technical issue, such as a user story, associated with more than one requirements JIRA issues?

Yes.  This is especially true if the issue is a user story, because a user story will likely have multiple requirements associated with it

Q:  May I have a release requirement that is not associated with a user story.

Yes.

Q: Should I make a requirements JIRA issue a dependency of another issue?

No.  As mentioned above, requirements JIRA issues should be at the root of the network.  If you want to associate another issue with a requirements issue, that is not a dependency, try using the "is related to" link.

Questions

For More Information

Please contact David McBride


Table of Contents