We use 10 swim lanes on the Jira board.
1. Sprint Backlog/Ready for development
- meets definition of ready
2. Development
- active local development
- push to remote; the branch name must start with a ticket number, for example
ER-xxx
- mark PR as
draft
and summarise deliverable - associate to release candidate milestone
3. Blocked
- stalled or parked
- label PR as
blocked
4. Developer Peer Review
ER-###
branch- feature deployments
- meets definition of done
- mark PR as
ready
and request review - once approved move ticket to
#5
5. Ready for QA
6. In Test QA (Quality Assurance)
We do not have review applications in HfEYP, so QA can either take place after merged in development or in staging. If you'd like to see the PR on the development instance before merging, you can deploy from that branch.
- seek business analyst sign-off
- confirm the acceptance criteria
- label PR as
pass
orfail
- once passed merge to
main
branch and move ticket to#6
7. Integration testing
development
deploymentmain
branch- https://hfeyp-dev.azurewebsites.net
- update accessibility and quality checks as required
8. Approval PO (Product owner)
staging
deploymentrcx.x.x
release candidate tag- https://staging.help-for-early-years-providers.education.gov.uk
- open milestones (release candidates)
- seek product owner sign-off
9. Release
production
deploymentvx.x.x
version tag- https://help-for-early-years-providers.education.gov.uk
- close milestone and rename from
rc
tov
- periodically publish a release CHANGELOG
9. Done - Live
- post release tasks
- description is clear and unambiguous
- acceptance criteria are present and understood
- ticket is estimated to be deliverable within a single sprint
- meets acceptance criteria
- includes appropriate documentation
- includes unit and feature tests
- maintains minimum coverage
- review app deployed
- deployment tested by the author
Github PRs use descriptive labels, most of which are applied automatically.
- adr, Architectural Design Record.
- dependencies, Pull requests that update a dependency file.
- documentation, Improvements or additions to documentation.
- frontend, Changes to assets detected.
- pipeline, Github workflow changes.
- ruby, Pull requests that update Ruby code.
- terraform, Changes to Terraform detected..
Manual labels:
- blocked, Currently blocked.
- review, Review app deployed for testing.
- bug, Squashes a bug.
- pass, Acceptance criteria met.
- fail, Acceptance criteria NOT met.
Rails.application.live?
returnstrue
if deployed as a final release to our public facing workspace.Rails.application.staging?
returnstrue
if running in stagingRails.application.development?
returnstrue
if running in development
Application libraries and workflow actions are monitored by Dependabot.