Skip to main content

Graphical user interface for backlog operations.

Project description

backlogops-gui

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).

  • Reorder the backlog in release order, optionally taking dependencies into account.

  • 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.

  • Convert a backlog and releases between table file formats.

  • Order the releases by their planned or estimated date.

  • Rename columns when reading a file and when writing a file.

  • Map custom status names in input files to backlog item statuses.

  • Choose how backlog item levels are written: by number, by name, or both, and configure custom level names.

  • Create stand-alone input or output preset configuration files.

  • Migrate an older configuration or preset file to the current file format.

  • A wizard to create a backlog-ops configuration file with the workforce, named input and output presets, level names, and status name mapping.

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-gui

On macOS and Linux

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

pip3 install --upgrade backlogops-gui

On Microsoft Windows

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

pip install --upgrade backlogops-gui

API documentation

For more detailed code documentation, see the API documentation:

Graphical user interface for backlog manipulation

Most of the functionality in the backlogops backlog operations library is made available for GUI users in this GUI application.

Tkinter

The Graphical user interface is based on Tkinter. Tkinter is based on Tcl/Tk.

For full functionality you need Tk version 9.0.2 or newer.

First startup

Start the application on Linux or mac with command

python3 -m backlogops_gui
python3 -m backlogops_gui -c config_file.cfg

or on Microsoft Windows with command

python -m backlogops_gui
python -m backlogops_gui -c config_file.cfg

At first startup you do not have any configuration file yet, so when you start the application it will start the configuration wizard.

Main window

The main window has some informative text, but the functionality is in the menus.

  • File

    • Read backlog...: Read in a file with a backlog and list of releases. A new backlog window will be opened with the read in backlog.

    • New demo backlog: Create a demo backlog with some backlog items and releases. A new backlog window will be opened with the demo backlog.

    • Exit: Close the application.

  • Configuration

    • Run configuration wizard...: this lets you configure the teams that work on the backlog and also other aspects like the dates the company is closed for vacation, and preset configuration for the inputs or outputs you want to use.

    • Create IO preset file...: Create a stand-alone input or output preset configuration file via a wizard.

    • Migrate IO preset file...: Migrate an older input or output preset file to the current file format.

    • Write configuration...: This lets you write the configuration you have in application to a file.

  • Help

    • Report version information: Show version information for the application and its dependencies.

Backlog window

The backlog window shows 2 read-only tables: one with the backlog and one with the list of releases. You will want to use the menus.

  • Backlog

    • Order by keys...

    • Order by dependencies...

    • Order by release order...

    • Estimate ready date...

    • Set planned date from estimated

    • Adjust release content...

    • Adjust planned release dates...

    • Order releases by date...

    • Extract keys...

    • Save to file...

    • Close

Test summary

  • Test result: 1545 passed in 32s
  • No flake8 warnings.
  • No mypy errors found.
  • No python layout warnings.
  • Built version(s): 0.2
  • 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_gui-0.2.tar.gz (33.6 kB view details)

Uploaded Source

Built Distribution

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

backlogops_gui-0.2-py3-none-any.whl (39.9 kB view details)

Uploaded Python 3

File details

Details for the file backlogops_gui-0.2.tar.gz.

File metadata

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

File hashes

Hashes for backlogops_gui-0.2.tar.gz
Algorithm Hash digest
SHA256 42020979abc89c6b561605bad44d6248b5beccd7819ef6f4a412ddc22c18a48d
MD5 bdd5e93f642e8d99480354cbb87b361e
BLAKE2b-256 6860ca34d63589f1bac097663cde9b2db4d5f98b1cf3e4694b46551a68377750

See more details on using hashes here.

File details

Details for the file backlogops_gui-0.2-py3-none-any.whl.

File metadata

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

File hashes

Hashes for backlogops_gui-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1b3cebd05abfa9225b2f3acb7fb6bb4589a74fadd3e7ee112e8406be1993b12a
MD5 23c72d3faa3db9bf2a0770ab3629aa28
BLAKE2b-256 f26d7eb0328099f6efdbe82eff15482e080f093c32142d36987fc2f760c2057f

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