Skip to content

Introduction

These pages are automatically generated from content hosted in this GitHub repository

About

This is the home for standards and guidance relating to software development in Defra.

These form part of the software development standards policy for Defra and apply to all software development undertaken on behalf of the Defra group whether by staff, contingent workers or suppliers.

All developers working on behalf of Defra need to be aware of their obligation to follow these standards.

Any deviation must be managed as an exception under Defra's architectural governance processes.

We maintain these standards on GitHub to ensure they have the greatest visibility to all developers and are readily available in a familiar environment. To aid readability, you can refer to the GitHub documentation on managing accessibility settings.

Principles

The standards and guidance provided here a based on an agreed set of principles.

Standards

These are the standards that must be followed for all software development undertaken on behalf of the Defra group.

Coding standards

Packaging and deployment standards

Database standards

Documentation standards

Standards for non-strategic technologies

Processes and guides

These guides provide additional support for meeting and working with the standards.

Processes

Guides

Contributing to this project

We encourage everyone to contribute to these standards!

They have been produced as a series of markdown files to make the process of adding and maintaining the documentation as simple as possible.

It is maintained under source control to cater for this, allowing anyone to make suggestions for improvement via the standard pull request process. They can then be discussed and approved by the DEFRA/sds-group.

Please ensure you have read our principles first, and then contribution guidelines for details on how to get started.

Viewing the guide

The guide is best viewed in GitHub pages at https://defra.github.io/software-development-standards

Updating the guide

This documentation is written in markdown and is built using MkDocs and the Material for MkDocs theme.

Please follow the below installation instructions prior to working with this repository:

Running mkdocs serve will build the site locally and run it on an available localhost port.

There is no need to manually publish page updates to GitHub pages. This is automated following a merge into the main branch.

License

THIS INFORMATION IS LICENSED UNDER THE CONDITIONS OF THE OPEN GOVERNMENT LICENCE found at:

http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3

The following attribution statement MUST be cited in your products and applications when using this information.

Contains public sector information licensed under the Open Government license v3

About the license

The Open Government Licence (OGL) was developed by the Controller of Her Majesty's Stationery Office (HMSO) to enable information providers in the public sector to license the use and re-use of their information under a common open licence.

It is designed to encourage use and re-use of information freely and flexibly, with only a few conditions.