June 3, 2025 5 min read

🧑‍🤝💻 Building with Intent II: Software Governance

Luke Curtis

Luke Curtis

Engineering Leader

Header image

Context

As engineering teams scale, so does the complexity of their systems, and with that complexity comes risk. Without clear software governance, it's easy for APIs to lose context or be misused, data contracts to break, and services to become black boxes.

Good governance doesn’t mean adding friction, it means creating visibility and accountability. Tools like software catalogs and schema registries help teams understand what they own, how it connects, and how to safely evolve it over time.

What

If this sounds like something your organization needs, you'll want sufficient infrastructure to both define and govern how software and data evolve, especially in regulated environments.

Start with clear definitions of bounded contexts and domain entities. If we don't understand what the system should represent, we can’t ensure our implementation reflects real-world constraints. These definitions don’t need to map 1:1 to your code, but a clear surface area or “anti-corruption layer” is key to prevent upstream/downstream coupling.

Next, establish ownership. For every product, entity, or service, someone must be accountable—not just for uptime, but for how the system handles, stores, and shares data. Without clear ownership, maintaining quality, security, and compliance becomes near-impossible.

How

Below are a couple examples of where I have had successes in the past. It's important to note here that the main goal you should be looking for here is a source of truth for the data and systems that maintain said data, your implementation may look a little different depending on the type of infrastructure you're maintaining.

Software catalogs Usually more applicable in a micro-services/mono-repo environment, a software catalog ensures there are checks and balances in place to ensure that services have clear owners of teams and specific documentation about the type of data they provide. Backstage is a perfect example of this.

Entity Catalogs / Schema Registries A schema registry enables cross-team alignment on data shapes. If your services are producing or consuming events (e.g., via Kafka), schema governance ensures compatibility and guards against accidental breakage.

I’ve used Conduktor with Avro in the past which has been great for managing this type of thing on the Schema Registry side and EventCatalog on the event side to ensure clear repositories for data.

Deletion Policies & Data Lifecycle Management In regulated environments, governance also means managing the lifecycle of data. It’s not enough to know where data is coming from—you must also know how it flows between systems, how long it's retained, and how deletion policies (e.g., right to be forgotten) are enforced.

This is especially critical for GDPR compliance: if your services pass personal data downstream, you need guarantees that all consumers will respect deletion requests. Your governance tooling should support visibility into these flows, and ideally, auditability as well.

Luke Curtis

Luke Curtis

Engineering Leader with over 10 years of experience in building and leading high-performing teams. Passionate about transforming organizations through technical excellence and empowered engineering cultures.

Stay Updated

Subscribe to receive the latest insights and articles directly in your inbox.