Note: This document is still in work.
Overview
This guide is intended to document the process for generating requirements for the Common Metadata Repository (CMR).
CMR Requirements Hierarchy At Glance
Requirement Level | Example |
---|---|
Theme | Metrics |
Component | Search and Discovery |
Epic | Keyword Searching |
User Story | As a CMR user I want to be able to query datasets using keyword parameters so that I can find the data I want. |
Tools in Use
The CMR will utilize Jama to record, review, and approve system requirements and JIRA to record and track system issues.
References
- This document references definitions and borrows heavily from Agile 101, available here: http://agile101.wordpress.com/2009/08/10/the-difference-between-agile-themes-epics-and-user-stories/
- Jama resides within the Earthdata ecosystem at the following URL: https://rms.earthdata.nasa.gov/
- JIRA also resides within Earthdata at https://bugs.earthdata.nasa.gov/
- To gain access to either the Jama or JIRA tool, please request CMR Jama Access via support@earthdata.nasa.gov
Assumptions
It is assumed that all requirements will be developed and maintained in the Jama tool. If requirements have previously been maintained in Word or Excel, these requirements shall be imported into Jama.
Vocabulary
Themes
Components
The CMR will consist of several sub-system components. Requirements in Jama will be developed for each of these sub-systems and will have a corresponding component within the tool. These components can be created as needed and have a set of Epics and a set of User Stories underneath a component for organizational purposes.
Epics
User Stories
User stories represent a specific piece of functionality that is to be developed for the system. From Agile 101, it should be "…an Independent, Negotiable, Valuable, Estimatable, Small, Testable requirement ('INVEST Acronym')." Stories are written from the perspective of the actor (e.g. "As an authenticated user, I want to perform a spatial search with a 4 point Cartesian bounding box."). User stories are typically 1-3 days in implementation length. Exceptions can be made to 4 days, but in general stories longer than 3 days should be split into multiple stories. Stories are allocated to sprints (usually several stories are planned in a single sprint) and are generally the unit of discussion for sprint planning. User stories should be traced back to one or more Epics.
Agile projects are also assumed to need a JIRA connector that will allow User Stories from the Jama project to be synced to and from their corresponding JIRA project for development purposes.
Importing Existing Requirements
Review and Approval Process