An experimental Jupyter notebook to analyse our development process based on Github pull requests and releases to laa-ccms-pui.
We want short lead times, high deployment frequency, low MTTR and low change fail percentage.
These metrics were popularised by the "Accelerate" book and are measured industry wide in the State of DevOps Report.
Not all of these can be measured from Github data. Lead time should cover the time it takes from requesting something to delivering it, and mean time to recovery isn't visible from this data at all. However, the github data can show us how quickly work progresses through the code review process, and how frequently we are releasing stuff.
We could potentially supplement this with data from Jira and Service Now.
This notebook assumes python 3.7.4 or later.
Install dependencies using pipenv:
pip install pipenv && pipenv install
Create a personal access token in github. Choose repo scope. You also need to click "Enable SSO". Then run:
echo "GITHUB_ACCESS_TOKEN=YOUR_TOKEN_HERE" > .env
Run pipenv shell
and then run:
ipython kernel install --user --name=devops-metrics
jupyter notebook
In the notebook, change the kernel to devops-metrics
.
MIT Licence.