Welcome back to the third part of our first serialized design document, "Government as a Service." In this post, we will be providing a high-level overview of our solution. If you haven't already, please read Part 1: Objective, Problem Statements and Part 2: Scope, Correctness Conditions first.
Solution overview
Introduction
Governments face unique challenges in delivering services to their citizens and delivering software solutions that support open societies. Our mission to address these challenges by partnering with governments to provide Government as a Service (GaaS).
At the core of GaaS lies our commitment to develop tailored products that cater to the specific needs of governments while being versatile enough to build a product offering that addresses common needs of various governments. We create, maintain, and extend a software platform that serves as a foundation for these products, leveraging shared infrastructure, standardized patterns, and reusable elements to improve quality, consistency, and value. This shared platform reduces delivery time and requirements for each product. In addition, we offer traditional consulting services for custom solutions to further extend our product offerings.
We have designed our business structure to provide and scale these services effectively, ensuring a consistent flow of work and value for our government partners.
Through this innovative approach, we aim to revolutionize the way governments operate, fostering a symbiotic, mutualistic relationship that drives efficiency, innovation, and growth. Let's cultivate a new ecosystem for government software.
Product strategy
At the heart of our approach is the development of software products in partnership with governments. These products not only provide solutions to specific government needs but are also generalizable and customizable, enabling their sale to other governments.
Our solution is built on the premise of aligning our incentives with those of our government partners. By making their lives easier, building better solutions, and helping them reduce costs or even generate revenue, we create an environment in which they want to collaborate with us in novel ways.
We offer a clear financial incentive to our government partners by transforming software costs into revenue streams, sharing initial product development costs, and minimizing risks through collaboration. We develop products with governments and then sell these to other government customers as reliable, turnkey solutions. When governments partner with us to build solutions, they can turn a cost center into a profit center, generating income by addressing similar problems faced by other governments. Initial product development costs can be further reduced and risks minimized through pooling resources and sharing costs between multiple governments or jurisdictions.
For each additional government customer, the logic is even more clear cut. Purchasing or subscribing to an existing product is more cost-effective than building from scratch, and governments benefit from the platform's reduced infrastructure and maintenance costs. The advantages are amplified across multiple products and features, as governments reap the rewards of economies of scale, network effects, and interoperability as the product, customer base, and platform all grow to provide additional value.
To build trust and ensure rapid returns on investment, we provide flexible engagements and maintain tight feedback loops with our government partners. Our engagement model begins with identifying product opportunities in their current and desired systems. We take a broad approach to defining these product opportunities collaborating with subject matter experts and users across governments in the relevant sector and analyzing existing data. We synthesize this information to provide value, effort, and uncertainty estimates to our partners.
We time-box an initial consultation-only phase, followed by product development, expansion, and iteration occurring in parallel in short, time-boxed increments. Our priority is to avoid delayed big bang releases and projects that fail to meet customers' needs. Instead, we focus on a data-driven, iterative workflow that incorporates user needs and feedback, providing iterative and achievable timelines which enhance estimation accuracy and increase reliability of delivery at each step while reducing uncertainty.
As symbiotic mutualists, there is no incentive to parasitize on either side. Our solutions foster transparency and prioritize value delivery, making them considerably more attractive than solutions that introduce middlemen who may deprive governments of the revenue our solutions provide.
Technical architecture
Our primary technical insight is that by offering common infrastructure and standards for building government solutions, we can reduce costs, boost efficiency, encourage standardization, and enhance communication between and within governments.
At a high level, existing government projects can be compared to houses built off the grid. These projects require their own generator, septic system, satellite network, etc., and cannot be communicated with using common protocols like mailing addresses or phone numbers.
We aim to provide as much common infrastructure and standards as possible, building modular homes, or products, on top of this infrastructure. Our grid, in this case, consists of common services, patterns, and reusable elements. Common services include items like localization, user demographics, logging and alerting, deployment pipelines, and infrastructure as code. Common patterns cover aspects like API structure, authentication, and authorization mechanisms. Reusable elements refer to UI controls, common APIs, shared services, and common infrastructure code and deployment pipelines. It is worth noting that within the core services, some may need to be instantiated per region or jurisdiction, while others will be truly global. Similar to how states or cities have their own power grids but also interconnect their grids via specialized transmission lines, forming unified national and international grids.
The common backbone of our architecture facilitates rapid development and deployment of new features and functionality. By providing a central mechanism for internationalizing content and using common UI components that prioritize usability, accessibility and localization in development, we ensure these features are present in every product with minimal additional work per product.
By using common authentication mechanisms and storing user demographics we ensure user identity is portable across all our products.
By centralizing logging and alerting we not only give ourselves greater visibility into bottlenecks and threats across products, services, and regions, we also minimize the work required to add these features into our products, allowing us to define reasonable Service Level Agreements (SLAs) and expose our service health to users, building trust with citizens in our services.
The modularity of our products allows us to place largely identical product instances in any geographic region the customer requests, with only minor configuration changes, and then scale out the number of units of a particular product based on demand in that area. Even our core infrastructure scales in this way. More technically, each product instance is deployed as a separate cell containing all the resources e.g., frontend, API, DB, necessary for that product to function. This approach promotes modularity and extensibility. Cells of the same or different products communicate with each other exclusively via the product APIs, while a separate set of internal APIs is used for communication with platform services.
From a security perspective, this modularity is also advantageous. Even though the structures may be identical, each government entity controls access to their buildings and can grant access to residents and guests on their terms. By providing standard APIs, authentication methods, and authorization models, we enable intra-, extra-, and inter-governmental access and sharing that is both secure and standardized.
This security posture also aids with security and regulatory compliance, as the common security models used across the platform do not need to be re-verified for each additional product. Additional security and compliance verification can focus on the APIs of each product and its authorization model.
By providing consistently structured and accessible APIs for all our products we encourage innovation by third-party developers and data scientists to build on top of our products and platforms. This data access enhances transparency within governments, encourages citizen participation, and promotes accountability. Where appropriate we seize the opportunity to to make pieces of our products and platform open source to expand the community for government software development and collaboration.
As a final note on portability, our customers own their homes, their product instances, and their data. We oppose vendor lock-in, and our customers are welcome to go off-grid and find alternate arrangements for their utility. For co-developed product code, though, we insist that the product code, but not platform code or customer data, be open-sourced in this situation.
Consulting and custom solutions
Premature optimization is the root of all evil
Donald Knuth
With our solution, we aim to avoid letting perfection be the enemy of the good. We understand that even if we solve 80% of government's problems with generalized product solutions, they will still need to address some of the remaining 20% of problems that are uniquely theirs.1
We acknowledge that not every solution a particular government wants to provide can be transformed into a product. Additionally, activities such as onboarding and migrating data and users to our platform are unique to each customer.
As traditional software consultants, we can offer a superior return on investment (ROI) and risk profile compared to the competition, given that we already deeply understand our customer's needs and can extend our existing products and leverage features of our platform, even if the result is not generalizable to a product offering. We also benefit from the structural factors discussed in the following section.
That said, there is no vendor lock-in, and other vendors can be brought in to extend open-source solutions or build on top of our product APIs, giving our customers flexibility.
Business structure
Our company differentiates itself by being engineering-led, lean, and modular, enabling us to provide a superior return on investment. We focus on high-quality resources, continuous delivery flow, and minimal communication layers and eschew traditional consulting overhead. We function as an optimized software consulting company while supplementing the product and platform core of our business with consulting and custom solutions.
We strive to minimize non-critical structural roles, fostering flexibility and modularity. Where these roles are essential, we assign specialist engineers to create repeatable processes and automate tasks. Our company consists primarily of experienced engineers. With our government partners and customers evangelizing our solutions, we can focus our energy on product and technical vision and implementation. Our customer intake and triage processes ensure efficient collaboration with the resources responsible for development and building.
Our core unit is the software product team, composed of a product experience and product engineer who engage with customers and develop products. These hybrid product leads ensure high-fidelity transfer of product goals to technical approaches and that outcomes align with customer expectations and product objectives. These resources differ from traditional “sales engineers” in that they lead the product development for the entirety of the solution and remain deeply embedded in the product evolution and technical development.
Product teams also include 2-4 senior engineers who focus on building the product and expanding core services. This dual focus ensures they maximize reuse opportunities and platform capabilities while developing products.
We aim to maintain a steady flow of work for our engineers, irrespective of the business cycle. When there is a lack of product work, engineers can seamlessly shift to working on platform systems and revert to product work when additional tasks arise. This core team can also tackle customized solutions when bandwidth allows.
When there is excess product work or demand for non-product work, such as custom solutions, data migrations, or onboarding, we activate our consulting arm. We engage a geographically diverse team of consultants to provide fixed-cost solutions for well-defined problems. This also allows us to offer flexibility in adhering to local content and national security concerns without compromising our platform model.
Our goal is to grow organically, investing in top talent to produce outsized results. We minimize hiring expenses and time by expanding organically through direct referrals from current staff. This approach allows us to maintain a lean managerial structure while hiring motivated, senior engineers who integrate well with our product teams. When we need to grow beyond our organic rate, specialist hiring and evaluation engineers are utilized to keep our core team members focused on product and platform development.
Flywheel
The flywheel that drives our business operates as follows.
Develop high-quality, modular, and reusable product solutions that provide value to procuring governments.
Gain additional product customers based on successful results and championing by current government partners and users.
Maintain a steady flow of work for engineers developing both the products and platforms, ensuring continuous improvement.
Grow the company organically by hiring top talent and focusing on referrals from existing staff, which further enhances the quality of the product ecosystem.
Expand the product and platform ecosystem, enhancing network effects, lowering costs, and adding features.
Attract additional government partners, which drives further product, platform, and consulting work.
Concluding metaphor
I couldn’t resist one more metaphor.
In the ecosystem of open societies, we see ourselves, governments, and citizens as vital components.
Our platform can be thought of as a mycorrhizal network, a symbiotic relationship between fungi and plant roots in a forest. Like a mycorrhizal network supplies essential nutrients to plants they cannot synthesize on their own, we provide services to governments they cannot build on their own. As a mycorrhizal network connects plants and allows them to share and amplify chemical signals, we enable, enhance and expand communications within and among governments. And, like mycorrhizae we also cannot grow and thrive without our symbiotic partners, governments.
Although we are a single germinating spore, we aspire to grow organically into a vast global network, enriching governments and citizens alike in this diverse forest. Each new partnership forms a new connection in our network, making it stronger, more effective and more resilient.
We made it into the solution! I know this was a long read, I appreciate your time and attention. As an engineer, I am keenly aware that there are areas where more concrete details and technical depth are needed. We will continue to eat the elephant2 in subsequent posts.
Our GaaS series will continue with deep dives into each of our major sections: product strategy, technical architecture, consulting, and business structure. We'll flesh out these ideas beyond their cursory treatment here, address challenges, and propose alternatives. Including a tangible example tying everything together will make the ideas more digestible. We will also revisit our correctness conditions to confirm that our solution satisfies the requisite conditions.
Your input is valued, so if you have questions or concerns about any aspects of the solution, or if you're particularly interested in more details on a specific topic, please let us know in the comments or chat. Your feedback will shape our upcoming content, ensuring we address the topics that matter most to you. Stay tuned, and thank you for reading, thinking, commenting, and contributing as we continue on this journey.
If you have thoughts on this post or any of our other posts, please leave a comment on the post or head on over to the subscriber chat. Each post has a dedicated discussion thread there. I look forward to hearing your feedback!
This post is part of the "Government as a Service" series.