InfoQ

The Software Architects' Newsletter
July 2022
View in browser

Welcome to the InfoQ Software Architects' Newsletter! Each month, we bring you essential news and experience from industry peers on emerging patterns and technologies.

This month, we focus on "Intentional Architecture and Emergent Design". These core topics currently span the entire "diffusion of innovation" graph in this year's Architecture and Design InfoQ Trends Report. We see increasing adoption of continuous architecture, the architecture advice process, and emergent design.

Key challenges remain in this space, including being conscious about how the design interacts with the implementation and ensuring all stakeholders are identified and involved with key architectural decisions.

News

The Architecture Advice Process with Andrew Harmel-Law

To best support continuously delivering autonomous teams, a software architect has to avoid being a blocker by trying to make all architectural decisions. In this InfoQ podcast episode, Thomas Betts talks to Andrew Harmel-Law about how an advice process allows anyone to make an architectural decision, once they've had necessary conversations and properly documented their decision. An additional Q&A with Harmel-Law and Eran Stiller can be found on InfoQ.

The Compounding (Business) Value of Composable Ecosystems

In a recent InfoQ article, Bill Mulligan discusses how open source ecosystems are composable and that compounds the value of the ecosystem. Composable interfaces help projects ship features and functionality faster to create better products more closely aligned with end-user needs.

Mulligan argued that composable ecosystems generate new business opportunities from gaps that can be plugged into and increase the user base, use case coverage, and potential market size. Composability is not just about the software, but also includes the ideas, interfaces, people, and tools.

Wave: a Case Study for Low Architectural Complexity

Dan Luu published an article presenting Wave as a case study for a business model where a simple and boring architecture fits best. Instead of a state-of-the-art service-based asynchronous architecture, they employ a synchronous monolith backed by a database and serving a unified API.

Uber Introduces a Universal Signup and Login Stack

Uber recently introduced Unified Signup and Login (USL), an effort to consolidate signup and login experiences across all Uber apps and services. USL lowers the engineering complexity and overhead maintenance associated with these flows and allows faster rollout of security policies and fixes. Over the last two years, Uber rolled out USL across Uber Rides, Uber Eats, and Uber Driver. Currently, more than 78% of Uber’s traffic has adopted USL.

Sponsored

Cockroach Labs

Join Cockroach Labs' Keith McClellan and Charlie Custer — on August 3rd at 1pm EDT — as they share previously unpublished insights from the industry's only unbiased benchmarking of of AWS, GCP, and Azure.

Register for the webinar, sponsored by Cockroach Labs.

 

Case Study

Software Architecture: It Might Not Be What You Think It Is

Software architecture has a contentious reputation in the agile community. In the experiences of many, it is the cause of valueless meetings and irrelevant documentation that is aptly summarized by the expression "the map is not the territory". And yet, applications with poor architecture can quickly become like vehicles abandoned by the roadside, broken and unrepairable. So is there a useful middle ground between these poles of pointlessness?

Part of the problem is that architecture is an inapt metaphor for the result of the work of architecting software systems. Inspired by the work of building architects, the word conjures images of beautiful designs that hint at utopian futures. But the work of architecting software systems is far more dynamic than the building architecture metaphor supports. Buildings are static, and the work of building architects is done just once. Software, by its nature, is ever-shifting and dynamic; when it stops changing, it starts to die.

To arrive at a better understanding of software architecture, we have to go back to the origins of the word architect: It comes from the ancient Greek word arkitekton, ἀρχι- (arkhi-, "chief") +‎ τέκτων (téktōn, "builder"). Architecture is created by people building things. That sense has become lost in the work of building architects, many of whom have never poured a foundation, framed a building, or run plumbing or heating pipes. Design and building have become separated. Not so in software, where how something is built influences what is built, and vice versa.

Software architecture, as a discipline, needs a makeover. Its image suffers from a lot of old ideas about what problems it needs to solve and how it should go about solving those problems. Viewing software architecture as a continuous activity focused on forming hypotheses about how the system will meet quality attributes, and then using empiricism to prove that the system meets them, is the essence of a continuous approach to software architecting. What also needs to change is to wrest software architecture from committees of people disconnected from development, and to put it in the hands of the people who can make it real and executable, the developers. We will only achieve the resilience and sustainability we need from today's applications.

This content is an excerpt from a recent InfoQ article written by by Pierre Pureur and Kurt Bittner, "Software Architecture: It Might Not Be What You Think It Is", part of the Continuous Architecture Series.

To get notifications when InfoQ publishes content on these topics, follow "architecture and design", "continuous architecture", and "emergent architecture" on InfoQ.

Missed a newsletter? You can find all of the previous issues on InfoQ.

Sponsored

vFunction

Given the complexity and interdependence of today’s multi-layered applications, business leaders need to prioritize their modernization efforts. This eBook explores four key factors for modernizing applications, sharing lessons from the successes and mistakes of other organizations. An understanding of these patterns and anti-patterns can better align refactoring efforts with business goals.

Learn more about this topic in the eBook "Application Modernization Patterns & Anti-Patterns", sponsored by vFunction

Upcoming events

QCon: For practitioners, by practitioners


QCon Plus Nov 2022: Tools, habits, and effective working practices to help you do hybrid working right.

James Stainer, Director of Engineering @Shopify will bring together leading software practitioners in the track "Before & After": Hybrid Work Strategies. You’ll learn actionable tools, habits, and techniques that your team and company need to embrace to make this new working style better, wherever you are. Claim your early bird saving by August 22.

 

Senior software developers rely on the InfoQ community to keep ahead of the adoption curve. One of the main reasons software architects and engineers tell us they keep coming back to InfoQ is because they trust the information provided and selected by their peers.

We’ve been helping software development teams adopt new technologies and practices for over 15 years through InfoQ articles, news items, podcasts, tech talks, trends reports, and QCon software development conferences.

We hope you find this newsletter useful. If not, you can unsubscribe using the link below.

Unsubscribe

Forwarded email? Subscribe and get your own copy.

Subscribe