Requirement - techtalk/SpecLog-Resources GitHub Wiki

Requirements are represented as cards that can be mapped on workspaces.

Requirements Types and Cards

You can define different types of requirements (e.g. user stories, epics, features, themes, goals, ...) that are represented differently on cards (color, template text on the card). To customize different kinds of requirements in SpecLog, use Customize Card Templates.

Browsing Requirements

The Requirements widget lists all requirements in your repository.

Mapping requirements on workspaces

You can map requirements on workspaces to provide a better overview of your backlog.

A requirement can be mapped on multiple (or no) workspaces, and you can map the same requirement multiple times on the same workspace. To add a requirement to a a workspace:

  • Drag a requirement card from the New Requirement widget to the desired position on the workspace
  • Double-click on a card in the New Requirement widget
  • Dragging an existing requirement from the Requirements widget to the desired position on the workspace
  • Press Ctrl+N. If no requirement is currently in focus, a new requirement is added to the current workspace using the requirement type at the top of the New Requirement widget (the so-called "default" requirement). If a requirement is in focus, a new refinement is added to that requirement, i.e. the requirement selected in the Refinement drop-down list in the card template.

Requirements are automatically aligned to a fine grid on the workspace (snap to grid).

When a requirement is mapped on a workspace, it is displayed with a card:

The requirement card shows the basic properties of the requirement (ID, title, actor, goal, value, estimate) and the relation to other requirements (parent, refinement).

Selecting Requirements on a Workspace

You can select multiple requirements on a workspace. You can:

  • Hold down Shift or Ctrl and click on the requirement cards you want to select
  • Hold down Shift or Ctrl and drag a rectangle around the requirements you want to select. Note that the rectangle needs to fully enclose the requirement for it to be selected.

When selecting requirements, the total effort of all selected elements is displayed at the top of the workspace as well as the number of selected requirements.

Moving Requirements on a Workspace

To move a single requirement, click on the top of the card (where the ID and title are displayed) and drag the card to the desired position.

To move multiple requirements, select the requirements as described above, and then click on one of the selected cards and drag the cards to the desired position.

Removing Requirements from a Workspace

Removing a requirement from a workspace does not delete the requirement from the repository, nor is the requirement removed from other workspaces. To remove a requirement from a workspace:

  • Select Delete from the card's menu
  • Select the card(s) and press the Del key

Moving requirements between different workspaces (move, cut/copy/paste)

You can copy the selected group of requirements to the clipboard using Ctrl-C and paste them on the same or another workspace using Ctrl-V.
You can cut the selected group of requirements to the clipboard using Ctrl-X.

You can also drag a group of requirements from a workspace, and drop them on the tab of another opened workspace, to move the cards there. When you press Ctrl while dropping, the cards will be copied to the other workspace.

Copying Requirements to Excel

You can paste a group of requirements that have been copied from the workspace to the clipboard (using Ctrl-C or Ctrl-X), into an Excel sheet (without their acceptance criteria).

You can also export requirements to Excel and Word.

Further Requirement Actions: Copy, Delete, Change ID

Deleting requirements means that they are removed from the repository as well as from all workspaces where they have been mapped to.

You can delete a requirement through the card menu, or through the requirements tool widget.

You can change the ID of a requirement. IDs need to be unique within a given requirement type and the ID must start with a numerical character. You can use dots or dashes in the ID to build hierarchical ID schemes.

Creating a copy duplicates the requirement and opens the details of it, but does not create a card of it on the workspace.

Relationships between Requirements

You can assign or create refinements of a requirement, e.g. when you split a user story into smaller stories:

To establish a a refinement on a workspace, simple drag the refinement over the parent until the drop card here to link as refinement text of the parent card gets highlighted:

After dropping the card, the parent-refinement relationship is displayed on the workspace:

You can also assign multiple parents to a single requirement, e.g. when a user story contributes to multiple business goals:

You can turn off displaying relations on the workspace in the Navigator Tool Widget menu.

If you select one or more requirements on the workspace, all direct relations of the selected requirements will be highlighted:

Requirement Details

You can view the details of a requirement in a separate Tab by:

  • double-clicking on the requirement in the requirements tool widget
  • double-clicking on the requirement on the workspace
  • selecting "Details" on the requirement card
  • pressing Ctrl-Enter when editing the requirement card text
  • pressing Ctrl-Enter when one or more requirements are selected on the workspaces (in any zoom level, will open details of all selected requirements)

In the details, you can see:

  • defined acceptance criteria, attached files and attached Gherkin feature files for the requirement
  • on which workspaces the requirement is mapped (clicking on the workspace name navigates to the requirement on that workspace)
  • tags attached to the requirement
  • parents and refinements of the requirement
  • other requirements that are similar to this requirement
  • when the requirement has been last updated

Requirement Details Visible on Workspace

The following icons are displayed on requirement cards on workspaces to indicate what the requirement contains:

  • Displayed if acceptance criteria have been defined. Mouse over the icon to display the number of acceptance criteria. Click on the icon to display the card details where you can view and edit the acceptance criteria.
  • Displayed if parents/refinements have been defined. Mouse over the icon to display the number of parents and refinements.
  • Mouse over this icon to displays the workspaces the requirement is present on.
  • Displayed if tags have been assigned to the requirement. Mouse over the icon to display the tags. Click on the icon to switch to the card details where you can edit the tags.
  • Displayed if attachments/images have been added to the requirement. Mouse over the icon to display the number of files and images. Click on the icon to display the requirement details where you can also access the attachments.
  • Displayed if Gherkin feature files have been linked to the requirement. Mouse over the icon to display the number of feature files. Click on the icon to display the requirement details where you can also view the feature files.
  • Displayed if the requirement is linked to a work item in TFS. Click on the icon to open the corresponding work item in TFS.

Adding, Removing and Navigating between Parent-Refinement Relationships in the Details View

The requirement details also show a list of refinements and parents of the given requirement:

You can use this list to:

  • Remove the relationship between requirements by clicking on
  • Navigate to the linked requirement by clicking on it in the list
  • Set the requirement's default parent in cases where there are multiple parents. The default parent is indicated with a flag icon and is used as the parent in work item tracking systems that only permit a single parent (e.g. TFS)

You can add parents and refinements by clicking or , or by dragging a requirement from the requirements tool widget on this button.

⚠️ **GitHub.com Fallback** ⚠️