AFD: the position database of more than 80 offices moves out of an Excel file

Client
AFD, Agence Française de Développement, the French development agency
Timeline
May 2023 to 2026
Need
Move the network's position database out of an Excel file kept by one person
What we did
A Shiny application where offices declare their positions and the administrator approves
Result
Four budget rounds since 2023, about a hundred users.
Photo by Kyle Glenn on Unsplash

The client and the context

Agence Française de Développement (AFD), the French development agency, relies on a network of more than 80 offices around the world, grouped into regional directorates, with about 1,000 positions in total.

Each year, the department in charge of this network prepares its budget through a budget round. Office directors check their list of positions and report the changes expected by the end of the year. Regional directors state their needs for the following year, in positions to create, remove or convert. The department consolidates these requests, makes its decisions, then tells each region how many positions it will have.

On this project, we work with Moonday Consulting, the consulting firm that leads the engagement with AFD.

The problem

Until 2023, one person kept the network’s position database in an Excel file. That person entered the updates, provided the figures to anyone who asked and ran the budget round. Each summer, they sent Excel files to the offices to collect the data, then consolidated them by hand. Management saw this setup as a bottleneck and as a risk of losing information.

The file itself was a problem. It held one row per person, with no position identifier, and each update overwrote the previous value. The history of a position was therefore lost, and the headcount of each office was not reliably known.

AFD wanted each office to update its own positions and declare its needs in a shared tool, in time for the summer 2023 round.

What we did

We built a Shiny application, hosted on AFD’s infrastructure. The first version was delivered seven weeks after the order, ten days before the round opened.

Each user sees their own scope. An office director sees the office’s positions, with the person in the role, the contract type and the start and end dates, and can correct an error or declare a change, such as a departure or a new contract type. A regional director sees all the offices in the region and enters the needs for the following year. The administrator sees the whole network and approves or rejects requests.

Summary page of a regional directorate: for each office, the number of positions by contract type before the round, after the round and for the following year, with a request awaiting approval flagged in red

Page of an office: the list of positions with the person in the role, the contract type, the field of activity and the dates, and the buttons to correct a row or declare a change

Screenshots taken with fictitious data.

A database built around the position. The first version stored three states of the network, one per stage of the round. That model reached its limit the following year, when AFD asked for different access levels for offices, regional directorates, geographic departments and the administrator. We then rebuilt the application around a database where each position has an identifier and each change adds a row to its history. From it, the application derives three views of the same network: before the round, after the round and for the following year.

Approval only for changes to a position. Not every entry needs approval, and the application separates corrections from changes. A correction concerns the name, employee ID or dates of the person in the role: it edits the row and is saved immediately. A change adds a row to the history. When it affects the position itself, through its contract type, its location, its creation or its removal, it waits for the administrator’s decision. The administrator therefore only receives the requests that alter the structure of the network.

The results

Since the first round, offices have entered their positions in the application themselves and no longer exchange Excel files. Every position in the network has an identifier and a history.

The application has been used for four rounds, from 2023 to 2026, by about a hundred office directors, regional directors and geographic department directors.

The administrator has become more autonomous too. They open and close the round, create or remove a position, add a location and download Excel exports from the application. At first, these operations went through us.

Do you have a database kept by one person in an Excel file that several teams should be feeding? Get in touch.