Software engineering best practice
Software engineering best practice guidance, including technical service requirements, APIs, security, testing, licensing and branching.
Technical service requirements
Services should be built to meet our technical service requirements, and should also be built as 12 factor apps.
APIs
API best practice should be followed.
Security
Services must be secure by design.
Testing
Comprehensive automated tests must exist.
Licensing
Our default licence for open source projects is the MIT licence.
Branching strategy
You should:
- protect your master branch
- not force push to master
- require reviews on PRs before they can be merged
- develop each story on a new branch
- merge to master regularly to avoid merge hell
Email CentreOfExcellenceCentral@digital.homeoffice.gov.uk if you need help, or want to talk about adding new best practices.