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.typetozenhub_sprint_issues(seeconfig.example.json) - Provide
ZENHUB_API_TOKEN - Export
.scarf/pert-hours.jsonfrom the PERT Hours Tracker (or disableworkload_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 codeexamples/– runnable exampletests/– unit tests (python -m unittest)
Notes
- The implementation targets Python 3.11+.
- Randomness is handled via NumPy's
Generator.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4ece3e31d6bcb53cb51ad8eda9386e8a03c3c0c33d146562e758c278088cf3f
|
|
| MD5 |
1da6736c88d876b7733409055944c2cb
|
|
| BLAKE2b-256 |
fc8d7a85ae2867f994ee375d507cc19796b28a0510d05cf28ffb2f3a4be77256
|
File details
Details for the file sprint_forecast-0.1.0-py3-none-any.whl.
File metadata
- Download URL: sprint_forecast-0.1.0-py3-none-any.whl
- Upload date:
- Size: 45.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5525a24b68b0af398fd4a39f3a2d9edb7c1047138c3ccb69de029dcc79ca4e7f
|
|
| MD5 |
ea4c39b6de53879879f4666b1b48575b
|
|
| BLAKE2b-256 |
41d726310f2a57302b6f3570724a75866dac8cbdc9c59ca4d918805f2758eabf
|