Information for developers

Introduction

The open and collaborative development, along with being one of the key points of the new means of creating software in the Italian Public Administration, perfectly aligns with this initiative that aims to facilitate the relationship between citizens and the Public Administration (PA) through the creation of a platform comprised of reusable components that can render digital services more effective.

The components are public, hence any service provider can integrate them or suggest improvements. Each module can then be reused by administrations that provide digital services in order to guarantee a coherent user experience as well as to save on the expenditure required for the simple implementation of such across-the-board technologies.

The interface is created in accordance with the method proposed by the guidelines for the design of public services and using Designers Italia kits, so as to trial and test the prototyping tools in-field together with the other kits that the other Public Administration will be able to use in turn.

Reference implementation

The app and its back end are aimed to set an example for Public Administrations to follow in addressing similar problems and contexts.

The IO project is intended to be a point of reference in achieving integration with the platforms envisaged under the PA digital transformation plan:

Agile approach

Both in the design and implementation phases, an "agile" approach has been chosen, as it fits well with the dynamic context of the project. All of the requirements and characteristics cannot (and should not) be defined as being completely up-front.

Analysis and design are thus executed with the aid of tools now consolidated in the private sector, but that until recently have served little purpose in the Public Administration, such as weekly sprints, stand-up meetings, collaboration tools that facilitate communication amongst the members of the "widespread" team.

Workflow management tools

The entire process of designing and developing the application occurs in an open way. Anyone can monitor the development process. The tools that support the design and development of the application are:

  • Github
    All of the application's source code and documentation, as well as most of the code needed for the infrastructure on which the application is based, are available on GitHub, the largest code-sharing platform in existence.
  • Pivotal Tracker
    To plan activities and track their progress, the IO team uses Pivotal Tracker, defining the features of the application and the back end using the method of user stories grouped into epics. This technique means that service features can be easily designed without ever losing sight of the real impact of each activity on the overall user experience.
  • Google Documents
    Good documentation is the basis of any open project. The collaborative writing tool offered free of charge by Google permits working on the same document, simply updating it to track the evolution of the project and easily allowing new employees to be included.
  • Slack channel
    Slack is the most efficient and versatile tool currently available for working remotely. Every conversation concerning the digital citizenship project takes place within public Slack channels. This means that anyone wanting to participate in the conversation or understand how certain project decisions have been made can enter, even as an observer, and read past and present conversations and even participate in future ones at any time.

Infrastructure and Cloud

As far as possible, choices regarding infrastructure have been made based on open source technologies, which reduce blockages due to suppliers and facilitate the migration to PaaS services provided by different suppliers in Cloud or for which on-premise installation is possible. The entire infrastructure is "coded", documented and reproduced following a script by anyone with an Azure account. Activities are planned to generalize infrastructural choices, allowing the entire platform to be migrated to a fully open-source cloud provider.

Contributors

Every single person who participates in the project does so in first person, under his or her own name, guaranteed to receive recognition for their work, as is tradition in the open source world, be they a private citizen who works for a company or a public institution.

Active participation in the project provides the opportunity to benefit from a working methodology and culture of a common team, offering the chance to work with professionals in the sector, thus fostering personal and professional growth.

Contributing to public coding that is visible to all is often synonymous with a better quality of the code itself. Working in an "open" manner increases the transparency and solidity of the choices made, giving everyone the opportunity to share their skills and suggest improvements in the process and development.

Contributing to IO means having a concrete impact on the relationship with the PA of millions of citizens, thus simplifying the daily life of family and friends.

Find out more and take part

To follow the development of IO and to participate, you can read the documentation file that illustrates in detail how to participate. If you simply want to integrate with IO’s API, the address of the developer portal is: https://developer.cd.italia.it/.

How to participate

You can also join the #io-devel channel on Developers Italia's Slack!