Skip to main content

Command line interface for backlog operations.

Project description

backlogops-cli

There are 3 related packages for backlog operations:

  • backlogops: a collection of library functions to manipulate backlogs

  • backlogops-cli: command line interface to use the functions in the library. This is just a thin wrapper around the library functions. It serves a dual purpose as both an example of how to use the library and as a tool for the user to use the library.

  • backlogops-gui: graphical user interface to use the functions in the library. It is based on TkInter. The ambition is to keep it as a thin wrapper around the library.

Available functionality

The following functionality is available in all 3 packages:

  • Reading backlog and releases from file types that TableIO supports reading from (Currently CSV, Excel, and ODS).

  • Writing backlog and releases to file types that TableIO supports writing to (Currently CSV, Excel, ODS and 9 other file formats).

  • File format is detected from the file extension, but may be overridden.

  • Adjust release content to fit the planned release dates.

  • Create a demonstration backlog and releases (for exploring the features).

  • Estimate ready date for the backlog items based on available teams, team velocity, vacation dates, periods with half time work, etc.

  • Extract backlog keys at given backlog item levels.

  • Reorder the backlog so that the dependencies are satisfied.

  • Reorder the backlog so that items identified by keys in a list come first. If the key is at a higher level it will bring all items it is a parent of in front of it (recursively).

  • Set planned release dates from the estimated release dates.

  • Calculate the release dates from the backlog items estimated ready dates, with a configurable buffer time.

  • Validate the backlog and releases for consistency.

  • A wizard to create an available teams configuration.

The operating model

The operating model that most of the functionality is designed for is that the teams work off a single backlog in the order of the backlog. The backlog items are ordered by priority and dependencies to allow the teams to work in the backlog order. Each backlog item and each release may have a planned ready date, that records what has been communicated to the customer. Each backlog item and each release may have an estimated ready date, that is calculated from the current backlog state, the team velocity, and what we know about the availability of the team members.

The backlog item fields

Each backlog item has the following fields that are used by the algorithms in the library:

  • key: The key of the backlog item. Required. Must be unique. Must not be empty, must not contain whitespace and must not contain any of the characters , . ; : ( ) [ ] { }.

  • level: The level of the backlog item. Required. Must be an integer.

  • title: The title of the backlog item. Required.

  • story_points: The story points of the backlog item. Required.

  • status: The status of the backlog item. Required.

  • parent_key: The key of the parent backlog item. Optional. Must exist as a key in the backlog. Parent keys are used to build the hierarchy of the backlog. The parent key must be at a higher level than the current item. Parent keys introduce implicit dependencies between items: the current item cannot start before the parent item starts, and the parent item cannot finish before all its children have finished.

  • release: The release of the backlog item. Optional. Follows the same character rules as the key. Must not be empty string.

  • team: The team responsible for the backlog item. Optional. Must not be empty string. Must be a valid team name. If None the item can be done by any team. If not None. the item can only be done by the specified team.

  • depends_on_f2s: The list of keys of the backlog items that must have been finished before the current item can start. May be empty.

  • depends_on_f2f: The list of keys of the backlog items that must have been finished before the current item can finish. May be empty.

  • depends_on_s2s: The list of keys of the backlog items that must have been started before the current item can start. May be empty.

  • planned_ready_date: The planned ready date of the backlog item. The date that is communicated to the customer. Optional.

  • estimated_ready_date: The estimated ready date of the backlog item. Optional.

Additionally each backlog item can have any number of other fields.

Installing backlogops-cli

On macOS and Linux

To install backlogops-cli on macOS and Linux, run the following command:

pip3 install --upgrade backlogops-cli

On Microsoft Windows

To install backlogops-cli on Microsoft Windows, run the following command:

pip install --upgrade backlogops-cli

API documentation

For more detailed code documentation, see the API documentation:

Command line backlog operations

backlogops_cli serves 2 purposes:

  • as a command line utility collection for manipulating backlogs

  • as an example of how to write your own programs that use the backlogops library

Currently available commands

  python3 -m backlogops_cli.adjust_release_content
     Adjust release content to fit the planned release dates
  python3 -m backlogops_cli.convert
     Convert a backlog and releases between table file formats
  python3 -m backlogops_cli.demo_backlog
     Write a demonstration backlog and releases to a file
  python3 -m backlogops_cli.estimate_ready_date
     Estimate ready dates for the backlog items
  python3 -m backlogops_cli.extract_keys
     Extract backlog keys at the given levels to a key list
  python3 -m backlogops_cli.list
     List all commands available in backlogops_cli
  python3 -m backlogops_cli.order_by_deps
     Reorder a backlog so that dependencies are fulfilled
  python3 -m backlogops_cli.order_by_keys
     Reorder a backlog so that key-list items come first
  python3 -m backlogops_cli.plan_release_dates
     Set planned release dates from the estimated release dates
  python3 -m backlogops_cli.teams_wizard
     Create an AvailableTeams configuration file via a wizard

Test summary

  • Test result: 1066 passed in 16s
  • No flake8 warnings.
  • No mypy errors found.
  • No python layout warnings.
  • Built version(s): 0.1
  • Build and test using Python 3.14.6

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

backlogops_cli-0.1.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

backlogops_cli-0.1-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file backlogops_cli-0.1.tar.gz.

File metadata

  • Download URL: backlogops_cli-0.1.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for backlogops_cli-0.1.tar.gz
Algorithm Hash digest
SHA256 815ffbd87170cdcfdc502ec631b657d68aa591e0457f43bb267d0fae5d288183
MD5 b9577144818df6f1d3c58253a77a5680
BLAKE2b-256 311da4bc4633804f3a20b7a9e71c3d79d8f6b81bce9c1a467599fb0175a9e138

See more details on using hashes here.

File details

Details for the file backlogops_cli-0.1-py3-none-any.whl.

File metadata

  • Download URL: backlogops_cli-0.1-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for backlogops_cli-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b37bce20614e673b80f69a2505418b7670f5080b59669bb67416c42b917ac3c0
MD5 74406b9a32a7abc6f4e8fc0e446973e3
BLAKE2b-256 badcfbee9443d86e41c11ce0bd5a502fe07c0c2e910c333925ea742ece9ef346

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page