Standards in Software Engineering – Navigating the Maze

Standards are vital for building interoperable systems, yet managing them requires strategic enablement.

Standards in Software Engineering – Navigating the Maze
Photo by Marek Studzinski / Unsplash

Standards are the backbone of software engineering, providing the structure and consistency needed to build complex systems that work seamlessly together. They serve as a common language, enabling teams to collaborate effectively and ensuring interoperability across tools, platforms, and ecosystems. JSON Schema, OpenAPI, AsyncAPI, and OpenTelemetry are prime examples of how standards offer rulebooks for specific domains—defining data structures, API communication protocols, or observability methods for distributed systems.

Despite their promise of streamlining processes and reducing ambiguity, standards are often more challenging to handle than they initially appear. Choosing the right one for a specific problem is rarely straightforward, and managing multiple standards within an organisation can quickly become overwhelming. Teams must navigate questions like: Which standard aligns best with our goals? How can it integrate without creating unnecessary friction? And how do we ensure consistent implementation across projects?

This complexity extends beyond selection. Success with standards depends on an organisation’s ability to enable teams effectively. Without the right education, governance, and tooling, even the most robust standards can falter, leading to inefficiency and inconsistency. In this blog post, we’ll explore why standards, while indispensable, are far from simple. We’ll unpack the paradox of having too many options, examine why no single standard can universally solve all problems, and discuss how organisations can foster the capabilities needed to manage standards effectively.

Why Standards Matter

Standards are vital because they provide a shared foundation for building reliable, scalable, and interoperable software systems. By establishing clear guidelines, they eliminate ambiguity and enable teams to focus on solving real problems rather than reinventing the wheel for every project. JSON Schema, for instance, defines data structures with precision, while OpenAPI simplifies API design and documentation, allowing developers to understand and integrate services effortlessly.

The power of standards lies in their ability to ensure interoperability. In today’s interconnected world, systems must communicate seamlessly. OpenAPI’s standardisation of REST APIs enables developers from different teams or organisations to collaborate effectively without custom documentation or trial and error. Similarly, OpenTelemetry ensures observability data from diverse applications can be aggregated and analysed consistently.

Beyond technical benefits, standards accelerate development by enabling reusable patterns and tools. AsyncAPI, for example, offers libraries that generate documentation and server stubs directly from its definitions, reducing manual work and errors. Additionally, adhering to standards improves long-term maintainability by fostering consistency. When APIs across an organisation follow the same conventions, developers can onboard faster and extend systems more easily, avoiding technical debt.

The Challenge of "Too Many Standards"

Standards are designed to simplify, but their proliferation often creates a paradox: too many options can complicate decision-making. Consider the overlap between JSON Schema and OpenAPI. Both provide ways to define data structures, yet they serve slightly different purposes. Should teams use JSON Schema within OpenAPI definitions, or rely solely on OpenAPI’s built-in features? Such decisions, if left uncoordinated, can fragment an organisation’s ecosystem.

The issue becomes even more pronounced with asynchronous communication. OpenAPI, primarily designed for REST APIs, falls short for event-driven architectures. AsyncAPI fills this gap, but its adoption introduces additional complexity. Organisations juggling both synchronous and asynchronous APIs might find themselves maintaining separate standards, increasing cognitive load and integration challenges.

This abundance of standards reflects the diversity of the software industry. Each standard emerges from a specific context to address unique needs. JSON Schema focuses on lightweight data validation, while OpenAPI tackles API design comprehensively. AsyncAPI prioritises event-driven systems, and OpenTelemetry handles observability. Although these standards complement each other, their coexistence demands careful management.

Fragmentation within organisations can exacerbate this challenge. When teams adopt different standards without coordination, collaboration suffers. Developers may face steep learning curves when switching teams, and shared tooling may require extensive customisation to support multiple standards. Ironically, the very consistency that standards aim to provide becomes harder to achieve.

Why There’s (Almost) Never One Standard

The hope for a single, universal standard is alluring but unrealistic. Software engineering operates in a dynamic, diverse ecosystem where one-size-fits-all solutions rarely suffice. Standards evolve from specific contexts and priorities, shaped by the communities and organisations that create them. JSON Schema, for example, emerged to address data validation needs, while OpenAPI grew out of the desire to document REST APIs comprehensively. AsyncAPI was developed to fill gaps left by OpenAPI in event-driven systems.

Technological innovation drives the creation of new standards. Microservices, asynchronous messaging, and event-driven architectures exposed limitations in existing frameworks, prompting the rise of AsyncAPI and OpenTelemetry. Industry-specific needs further contribute to fragmentation. Healthcare, for instance, relies on FHIR for interoperability, which builds on foundational standards like JSON Schema but adds domain-specific requirements.

Competing interests among vendors, open-source communities, and standardisation bodies also fuel the proliferation of standards. Each group champions its preferred approach, often leading to overlapping solutions. Within organisations, aligning on a single standard can be equally challenging, especially when different teams have varying requirements. Without strong governance, this can result in a fragmented ecosystem that undermines consistency.

Organisational Enablement for Standards

Adopting standards is not just a technical challenge but an organisational one. Success depends on fostering understanding, consistency, and commitment across teams. This requires strategic enablement, encompassing education, governance, tooling, and collaboration.

Education is the foundation. Teams must understand both the technical aspects of standards and their strategic importance. This involves more than tutorials; it requires context. Developers should see how OpenAPI improves consumer communication, while operations teams must grasp OpenTelemetry’s impact on monitoring. Structured training, knowledge-sharing sessions, and accessible documentation are crucial.

Governance ensures consistency. Clear guidelines should define which standards to use, how to apply them, and who makes decisions. For instance, a centralised architecture team might oversee standard selection, while implementation is guided by shared principles. Regular reviews and feedback loops ensure standards evolve with organisational needs.

Tooling and automation streamline implementation. Tools like linters for JSON Schema validation or OpenAPI documentation generators reduce manual effort and enforce consistency. Integration into CI/CD pipelines makes compliance seamless. However, tools must fit existing workflows to avoid disruption.

Collaboration across teams is vital. Standards often span development, operations, product, and business units. Cross-functional workshops, regular reviews, and open communication channels foster alignment. A collaborative culture ensures standards are seen not as mandates but as enablers.

Striving for Simplicity

Navigating the maze of standards requires simplicity—not by eliminating complexity but by creating environments where standards are easy to adopt and maintain. Consolidating overlapping standards is one approach. For example, Swagger’s evolution into OpenAPI unified efforts, driving broader adoption.

Focusing on well-scoped standards also helps. JSON Schema excels in data validation, while OpenAPI addresses API design. Clear boundaries between standards simplify implementation. Incremental adoption, starting with pilot projects, allows organisations to refine their approach before scaling.

Education and automation further ease adoption. Training teams, providing clear documentation, and integrating standards into workflows reduce friction. A culture of standardisation, emphasising long-term benefits like reduced technical debt and improved efficiency, ensures sustained success.

Conclusion

Standards like JSON Schema, OpenAPI, AsyncAPI, and OpenTelemetry are indispensable for building interoperable, scalable systems. Yet their abundance reflects the complexity of software engineering. No single standard can address all challenges, and managing multiple standards requires organisational enablement.

Success lies in understanding the needs of your organisation and enabling teams with the right tools, governance, and training. Standards should be seen as living artifacts—adapting to new challenges while fostering consistency. By starting small, iterating on adoption, and focusing on simplicity, organisations can navigate the maze of standards and build cohesive, efficient systems.

While the ideal of a universal standard may remain elusive, the pursuit of alignment, collaboration, and thoughtful standardisation ensures that the promise of standards—making complex systems work together seamlessly—can be realized.

Read more

Aligning API Thinking and Team Topologies with TOGAF: A Modern Approach to Enterprise Architecture

Aligning API Thinking and Team Topologies with TOGAF: A Modern Approach to Enterprise Architecture

In today’s rapidly changing business environment, enterprise architecture frameworks must evolve to maintain relevance. The Open Group Architecture Framework (TOGAF) is a widely used methodology that provides a strong foundation for designing and implementing enterprise architecture. However, the modern demands of agility, scalability, and rapid innovation necessitate the integration

By Daniel Kocot