Ship Concepts

This document introduces and defines the conceptual components that make up the Ship issue tracking system.

Problems

The core of the Ship system is the Problem, also referred to as an Issue. A problem can range from a simple bug report (e.g. “The cursor jumps when I paste from Slack”) to a high level feature (e.g. “Search”).

A problem is comprised of the following data:

Title

A concise yet specific single sentence description of the problem.

Component

The area of responsibility of your product (or products) the problem is currently believed to lie within.

Classification

The type of problem this is. The default Classifications are:

  • Feature
    • A new customer visible feature in your product is being proposed.
  • Enhancement
    • An improvement to an existing feature in your product is being proposed.
  • Incorrect Behavior
    • An existing feature is believed to be behaving incorrectly in some manner or aspect.
  • Task
    • A to-do item

Milestone

See Milestones.

Assignee

The person currently in charge of resolving this problem.

State

Possibly as simple as Open or Closed, or possibly more complex, this is the status of the problem in a nutshell.

Comments

Any free (formatted) text or media that any users of the system wish to add.

Comments typically provide additional descriptive detail to the problem, such as reproduction steps, screenshots, crash logs, design documents, or they provide diagnosis or fix information, requests for clarification, or status updates.

Keywords

Any user defined key/value attributes may be attached to the problem.

For example, for any feature I add that I think should be documented, I attach the keyword “Document Me”. Or, for any feature requested by an important customer, I attach the keyword “User Request”, and I set the customer name to the value of the keyword.

Schedule

A problem may have an effort associated with it. The units of effort are positive numbers, but their units or interpretation is up to you. Work days is a good interpretation unless you have a compelling reason to use something different.

There are two effort fields, total and remaining. Total effort is the total amount of effort you estimate that it will take to resolve the problem. Remaining is how much effort you estimate remains given how much work you have done so far. You can revise your estimates for both total and remaining effort at any time.

If the effort fields are left blank on a problem, Ship treats these values as simply not being set everywhere except for in the chart view. In chart view, when aggregating on effort, problems with no effort set are treated as having a total effort of 1, and remaining effort as either 1 or 0 depending on the state of the problem.

Milestones

Typically associated with a release and or point in time, a milestone is a named deliverable that you are working towards.

Queries

A query provides a user defined filter on the set of problems in the database. Query results can be displayed either as a list or as a chart.