How Code for Romania Works
Code for Romania designs, builds and manages Romania's ecosystem of social change through technology. Our organization has managed to design and consolidate a functional mechanism through which to bring together and direct the huge capacity for IT development in Romania and abroad in order to deliver digital solutions for the problems we face.
As of late 2020, our community is approaching 2000 members who, together, form a very varied interdisciplinary group, composed of UX designers, developers, software architects, communicators, designers and researchers.
Code for Romania was born as a community and one of our main objectives is to keep it one, and we are constantly trying to bring our members into the decision-making process for three very important reasons.
- the community is the most important pillar of Code for Romania
- we believe that a community-driven organization is much more aware of the expectations and needs of society and
- we believe that keeping the community involved is the best mechanism for checking and controlling the decision-making team.
Every day we make every effort to ensure that our organization is a safe and welcoming space for its members, and we have, in organizational DNA a clear set of rules and values that we do not deviate from.
At the same time, our organizational model is based on meritocracy, efforts are rewarded proportionately with correct recognition. Membership and access to the organization’s decision-making structures is based on the degree of involvement and results of each individual, either as a volunteer in Code for Romania’s staff or as an active, constant, contributor in a project taken to completion.
The Code for Romania design mechanism is built as a red thread that unites four vital processes that must be followed in order to achieve our goals. The first of these refers to the solution design stage that takes place within the Civic Labs program.
The main targets of Civic Labs are
- to generate civic technology solutions in order to solve the main problems of Romania through a very detailed process of research, ideation, incubation, prototyping and testing,
- to transform the way civic technology solutions are funded and
- to create the necessary premises for the sustainable development of a civic technology infrastructure in the Romanian context.
Every year, we aim to achieve a goal in each of our five pillars: education, health, vulnerable groups, the environment and civic participation. At the beginning of each research cycle, we identify all relevant actors in the field (public institutions, experts, non-governmental organizations, companies or initiative groups). We conduct interviews and focus groups dedicated to understanding what the pain points in the sector are and how they manifest. We verify the information by analyzing studies, reports, research papers and relevant data sets. Where we have the opportunity, we initiate our own quantitative study.
Once the list of problems is clear, we go through a stage of legislative research in order to understand the normative context in which they manifest themselves and to be able to understand what are the constraints we face in developing potential solutions. A stage of technical research follows, which aims to analyze digital products developed in the sector, their course of development, their success or failure and the reasons for that success or failure, but also to find out how similar problems have been solved around the globe and learn from it.
Equipped with a complex understanding of the sector, we move on to the ideation and incubation stage in which we generate digital solution concepts to remedy, improve or solve identified problems. The concepts are proofed and tested with experts and then prototyped and documented, making them ready for development.
At the end of this cycle each solution proposal is de facto accompanied by (1) an interactive prototype, (2) a product sheet detailing its functionalities and (3) an estimated technical implementation budget. All solutions are accompanied by the research report for their respective field.
In plainer words, through Civic Labs we make half the effort needed to build a digital solution, before writing the first line of code in its technical implementation. At this point, an IT development team is needed to build the solution according to its "model", the prototype drawn and documented in Civic Labs.
The solutions designed and validated at the design stage will then either reach the skilled hands of the Tech for Social Good (Code for Romania's other key program) volunteer community where they are developed pro-bono by ourselves, or they can be adopted by a funder or an NGO can apply along with a funder in order to get grants from donors.
While the whole list of solutions is open to any potential partner, there is a set of preconditions that accompany their adoption.
- We have a clear set of software delivery conditions that must be observed throughout technical development, which any grant maker has to assume when adopting one or more solutions. These conditions refer to compliance with code quality standards, or other best practices regarding accessibility and security. This ensures that any solution remains functional and that its management is sustainable in the long run.
- Each solution is developed under the open source MPL 2.0 license. This precondition facilitates the easy administration of the product by any organization, avoiding the pitfall of that software solution becoming stuck in the hands of a single IT development service provider. Secondly, we want to expand Romania's open-source code library with reusable and up-to-date applications and projects to reduce long-term development costs.
- Code for Romania has a product owner role in all the adopted applications in order to provide support to partners in the process and to ensure compliance with the technical requirements of the solution.
This process is not a purely theoretical one, in the last four years we have demonstrated the feasibility of this mechanism by reusing the code developed in other open-source applications for new solutions which has led to reduced development time and related costs and which translates into higher budgets better spent on the impact that our partners can create, once equipped with these digital solutions.
Tech for Social Good, which was mentioned earlier, is the second Code for Romania key program, in which, at any time, you will discover at least six solutions under development. This program brings together community volunteers who write code pro-bono in order to bring to life the prototypes designed in Civic Labs.
The process is a simple but effective one. The Code for Romania tech team is responsible for the management of the 💻technical development process for each of the working solutions. Beyond direct contributions through written lines of code, the tech team takes care of breaking each project into tasks and microtasks, setting development milestones, coordinating the volunteers who can solve them and reviewing the written code. In this way we can encourage more and more developers, regardless of their total availability (from one hour a week to dozens sometimes), to help solve a task without forcing them to become a permanent part of one project or another.
In addition to this process, each month we organize a HackDay, a one-day event that takes place online and, context permitting, in four major cities in Romania: Bucharest, Cluj-Napoca, Iași and Timișoara.
Solutions developed in Tech for Social Good are chosen on the basis of three criteria: (1) those solutions that are unlikely to be adopted by a funder, but which are essential to solve the problems of a sector, (2) the opinions of local community leaders (3) the diversity of projects simultaneously under development.
Some of the solutions developed in the Tech for Social Good program we continue to manage. Apps like Vote Monitor or RoHelp are part of the digital infrastructure of different sectors and require either a very high technical maintenance capacity or need to be managed by an actor not directly involved in the sector in order to ensure the use of that solution by everybody in the field.
This administration component, clustered in the Critical Civic Infrastructure program, is in fact a constantly growing body of work for Code for Romania. From the elections ecosystem to apps that serve the entire spectrum of civil society, such as Redirectioneaza.ro or VotONG, key projects that increase the capacity of non-profit organizations require a constant maintenance effort, as well as hosting and communication.
We build capacity
Through the Civic Tech 911 and Update Romania programs, we aim to increase the management capacity of non-governmental organizations and public institutions to manage digital solutions.
Civic Tech 911
Civic Tech 911 is a tech department that is ready to intervene at any help request from NGOs faced with technical problems or in need of digital consulting. Until each NGO can have its own IT team, we offer them our know-how, in order to help them become more efficient, to automate complicated and time-consuming processes, send messages to as large an audience as possible and fulfill their mission better.
Any non-profit organization can request at least one free consulting session and will receive assistance as quickly as possible to the extent that we have the ability to address their needs.
Update Romania is a program dedicated to the assistance we offer to the public institutions in Romania. The program’s main goals are divided on two key levels:
- Public policy proposals. Code for Romania has formulated and continues to formulate policy proposals at a national and local level in the field of digitization and, upon request, can assist public institutions free of charge in drafting and transforming them into regulations or other normative acts. The last seven public policies proposed to the central administration can be read here.
- Technical assistance for local and central institutions. We are aware of the lack of senior IT specialists in the public service, especially in the area of needs analysis and solution design, so we offer, when we are able, key support in designing software products for administration.
Code for Romania works exclusively pro-bono with any institution, and our members have collectively decided to not accept public funds.
We intervene in emergency situations
Through the Code for Romania Taskforce, a program designed in 2019 and implemented for the first time in March 2020 in the fight against the effects of the Covid-19 pandemic in Romania, we aim to intervene whenever there is a need for a digital response to a major emergency. In the 21st century, any contact with disaster needs functional digital tools to support those on the front lines.
The Code for Romania Taskforce is a way of work and a rapid response mechanism that can quickly generate tech solutions designed to help intervention teams or mass communication between authorities and citizens, effectively contributing to the restoration of normalcy.