Heuristics

Consider downstream teams when choosing architectural patterns

Authors: Gien Verschatse, Andrea Magnorsky, Kenny Schwegler, Evelyn van Kelle

Submitter: Gien Verschatse

How do you avoid creating problems for teams that deploy and test your software?

When choosing an architectural approach, explicitly think through what it means for the teams that deploy, test, and support your software—not just what it means for developers. Introducing patterns like message queues or event sourcing changes how QA needs to test and how operations needs to deploy. If these teams don't understand the new patterns and you haven't thought through their experience, your architectural improvement becomes everyone else's problem.

Example

A team implemented event sourcing in a system deployed on-site with sensitive data. Developers focused on the technical implementation without considering consequences for other teams. IT received deployment instructions for queues and patterns they'd never worked with before. QA didn't know how to test the new architecture properly. Both teams struggled because nobody had thought through what the architectural change meant for their work, leading to frustration across the organization.

When This Might Not Apply

– In fully autonomous stream-aligned teams with no handoffs to separate QA/ops teams. – When downstream teams are contractually insulated from your changes via strict APIs.

Variations

– For on-premises deployments with sensitive data, create joint workshops with IT/QA before finalizing patterns. – When working with executives, quantify downstream impact in terms of deployment delays and support costs.

Tags

Follow us

Read our latest news from Virtual DDD on any of these social networks!

Recent heuristics

Discussed content

Sorry, no results found!

Whoops... we couldn't find what you're looking for