This is the story of how Headspring partnered with Ed-Fi Alliance on an overhaul of their Admin App, in order to support district-level database management of the Ed-Fi ODS and ODS API. This high-risk project touched every feature of the Admin App. As you’re about to see, successful delivery depended on precise planning and methodical implementation.
In Spring 2020, the Ed-Fi Platform team released a new feature for their Operational Data Store (ODS) and ODS API called multi-instance mode. This enabled a state to deploy one API with several district-specific database instances behind it. The feature was designed to support the “Collaboratives” use case in which a state education agency deploys one API that can be used by all of the school districts within the state, each with their own dedicated database behind the API. This avoids each district having to install and manage an API and ODS independently in their own environment and allows the state to share the cost and effort of deploying and maintaining the system across a multi-district team. It also provides the state the opportunity to more easily standardize the use of the Ed-Fi platform across its districts.
You may already be familiar with Ed-Fi’s Admin App—it’s the accessory tool to the ODS/API that allows for user-friendly setup and management of the platform. When the new feature was released, the Admin App was only single-instance aware, meaning it could only recognize and administer one database behind the API, not the several district-specific databases that would exist for a Collaborative. This meant that, although the platform could support multiple instances (districts), they could not be managed using the Admin App, making the feature inaccessible to users. For the multi-instance feature to be beneficial to users, we would have to make it manageable through the Admin App. So how was this done?
How the Admin App functions in single-instance vs. multi-instance mode
First, it is helpful to understand how the Admin App functioned in single-instance mode prior to the release of the multi-instance feature. When a user conducted the initial installation and configuration of the ODS/API platform in single-instance mode, they completed two groups of setup tasks: one group to connect the Admin App to the ODS and ODS API, and the other to configure elements of the ODS like vendors, applications, and reports using the Admin App. In single-instance mode, users only conducted these configuration tasks with one database per API. However, with the introduction of multi-instance mode, things became more complicated. A user now had to conduct the initial configuration tasks for each district and needed the ability to distinguish which district’s instance they were working with. This necessitated significant and subsequently risky changes to the Admin App’s backend and UI.
Separating out setup tasks
This is where the Ed-Fi Tools team, which is responsible for the Admin App, entered the picture, augmented by Headspring consultants. To make the value of multi-instance mode available to Collaboratives, the Tools team conducted a thorough analysis of the Admin App’s initial setup tasks, This determined which tasks should be done only once, prior to creating multiple instances, and which should be done for each instance individually. Once those tasks were identified and grouped appropriately, we made changes to the Admin App’s “First Time Setup” flow, keeping the true one-time tasks intact while separating out the district-specific steps so they could be deferred to the moment of district setup and repeated for each district.
Enhancing the user interface
We then worked with the Tools team to create a new screen in the Admin App UI, where, after completing the one-time setup tasks, the user could then add and select district instances, and move on to configure each of those instances individually. The team realized that, during the setup and operation of the platform, users might lose track of which instance they are working with (remember, there could be as many instances as there are school districts in a state). This prompted the Tools team to build in clear indicators to help users track which instance they are working with at any given time.
Maintaining compatibility with both modes
To add to the risk and complexity of this project, all of the changes to enable multi-instance mode within the Admin App had to be done while maintaining compatibility with single-instance mode, which would remain available to users after multi-instance was launched.
Maintaining these two distinct but tightly coupled features in parallel required deep analysis. Headspring worked with Ed-Fi to develop a thorough understanding of the needs of our two very different user groups who operated on single and multi-instance modes: single districts using single-instance mode, and states managing multiple instances for their districts using multi-instance mode. We also assessed the technical dependencies between modes to ensure each feature precisely addressed all real-world use cases encountered by each group without introducing bugs or awkward experiences for the other user group. This is called “seeing the forest through the trees,” and is an example of the kind of holistic vision, foresight, and technical expertise Headspring strives to bring to our partnerships.
Managing team productivity
The Tools team also took special precautions to plan and manage the work in a way that enabled team members to maximize their productivity so the project could be delivered on time and on budget. This meant a) constantly defining tasks ahead of developers so there was always work to be done, b) understanding team member’s strengths so tasks could be delegated to the best-suited person, and c) sequencing work in a way that allowed for parallelism across the team—i.e., seeing and avoiding bottlenecks before they damaged the team’s momentum. In our experience, many technical teams can get complex work done, but few can do it so effectively.
This carefully executed enhancement of the Admin App preserved the value of single-instance mode, unlocked the potential of multi-instance mode, and delivered Ed-Fi’s Collaborative users the economies of scale and reduced complexity of a more unified ecosystem.
If you are a state or district education agency interested in experiencing Ed-Fi’s amazing platform first hand including the Admin App, ODS and ODS API, all of their software is free, open-source, and available by creating an account at ed-fi.org.
If you are interested in partnering with Headspring to develop a custom software solution of any risk and complexity you can visit their website at www.headspring.com, where you can chat with a team member or fill out a contact request, while learning more about their suite of transformational solutions.