Development Guides

Best practices and guidelines for developing, publishing, managing, and reusing software in digital public services.

A Shared Approach Within the Software Development Lifecycle

The guidelines presented in this section do not pertain to a single phase of development, but accompany the software throughout its entire lifecycle as it navigates an ecosystem of shared relationships, tools, and constraints.

In the public sector, software is an iterative tool that evolves and improves over time, adapting to new requirements and needs. Viewing it as something that evolves, rather than as a final product, helps lead to more sustainable decisions and reduces long-term vulnerabilities.

Compare Software Solutions

Evaluating available software solutions is a necessary and effective step in the decision-making process for adopting software.

IT HELPS YOU

  • determine whether a solution that meets your organization’s needs already exists;
  • avoid developing from scratch what is already available.

Adopt reusable software

In this section, you’ll find guidance on evaluating various reusable software solutions, understanding how to implement them, and how to document their reuse, thereby fostering collaboration and long-term maintenance.

USES FOR

  • building on an established foundation that can be improved over time;
  • reducing project time and costs.

Developing and Managing Open-Source Software

Everything you need to make your software readable, reusable, and maintainable over time: from the repository structure to documentation, all the way to managing contributions and issue reports.

IT IS USED TO

  • make the software ready to be shared and reused;
  • ensure its quality and continuity over time.

Publishing Software for the Public Sector

Operational guidelines for making the software officially available and discoverable within the public administration ecosystem: from choosing a license to metadata, and publication channels.

PURPOSE

  • to make the project officially available within the public administration ecosystem;
  • to enable other government agencies to find and reuse it.

Designing and Integrating Interoperable Services

The steps and resources needed to enable communication between public services and design integrations via APIs in a secure and compliant manner.

USED FOR

  • enabling communication between different services and systems;
  • facilitating the exchange of data and functionality between government agencies.

Implement DevOps Practices

By combining software development and operations management, DevOps practices help manage the software and project lifecycle.

PURPOSE

  • to improve the management of releases and updates;
  • to ensure stability and control over time.
Last update: