Skip to main content

Exact-state sprint success forecasting for small agile teams

Project description

Sprint forecast (exact-state, simulation-first)

This repository contains a reference implementation of the amended model:

  • Supply / capacity: daily capacity is a product of planned hours, Bernoulli availability, an enumerated blocked/disruption state, and an unbounded lognormal productivity multiplier.
  • Demand / workload: remaining work is modelled from three-point estimates with global + per-engineer bias correction on the log scale, then mapped to unbounded lognormal item-effort distributions.
  • AI attribution: AI usage can be introduced as a covariate in both the demand-side (bias model / workload) and the supply-side (focus multipliers). The implementation computes counterfactual success probabilities with AI turned off.
  • Bayesian pooling: conjugate pooling utilities (Beta--Binomial, Dirichlet--Multinomial) and linear-Gaussian shrinkage estimators for bias and focus parameters.

The core API is SprintSuccessForecaster.

Quickstart

Install:

python -m pip install sprint-forecast

Run the demo:

python -m sprint_forecast.demo

Zenhub sprint forecast

run_forecast.py supports pulling per-issue three-point estimates for the current open Zenhub sprint:

  • Set workload_source.type to zenhub_sprint_issues (see config.example.json)
  • Provide ZENHUB_API_TOKEN
  • Export .scarf/pert-hours.json from the PERT Hours Tracker (or disable workload_source.pert.require_*)

Sprint process

See docs/sprint-process.md for the recommended workflow (assignments, PERT in effective hours, actual tracking, required fields, and AI assumptions).

Structure

  • sprint_forecast/ – library code
  • examples/ – runnable example
  • tests/ – unit tests (python -m unittest)

Notes

  • The implementation targets Python 3.11+.
  • Randomness is handled via NumPy's Generator.

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

sprint_forecast-0.1.0.tar.gz (44.7 kB view details)

Uploaded Source

Built Distribution

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

sprint_forecast-0.1.0-py3-none-any.whl (45.0 kB view details)

Uploaded Python 3

File details

Details for the file sprint_forecast-0.1.0.tar.gz.

File metadata

  • Download URL: sprint_forecast-0.1.0.tar.gz
  • Upload date:
  • Size: 44.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.8

File hashes

Hashes for sprint_forecast-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a4ece3e31d6bcb53cb51ad8eda9386e8a03c3c0c33d146562e758c278088cf3f
MD5 1da6736c88d876b7733409055944c2cb
BLAKE2b-256 fc8d7a85ae2867f994ee375d507cc19796b28a0510d05cf28ffb2f3a4be77256

See more details on using hashes here.

File details

Details for the file sprint_forecast-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sprint_forecast-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5525a24b68b0af398fd4a39f3a2d9edb7c1047138c3ccb69de029dcc79ca4e7f
MD5 ea4c39b6de53879879f4666b1b48575b
BLAKE2b-256 41d726310f2a57302b6f3570724a75866dac8cbdc9c59ca4d918805f2758eabf

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