Trapped by Design: How companies misuse Architecture Teams in solution design

Complex Organizational Challenges

The role of Software Architecture is undeniable in building solutions that are durable and resilient to change over time—this article isn’t here to dispute that. On the contrary, this role is so essential that it’s not uncommon to see Software Architects focusing intently on every aspect of their architecture, end-to-end, treating their designs as missions that cannot be delegated.

However, this level of commitment does not scale in large organizations. While this approach can work well in smaller companies, in larger enterprises, the demand for software projects and initiatives often far exceeds the human resources available to carry them out.

To address this dilemma, one possible solution is to focus on executing what is essentially innovative while decentralizing tasks that are replicable. Let’s delve deeper into this approach below.

Innovative vs. Repetitive and Replicable

In any field, work typically falls into two categories: pioneering work that breaks new ground and repeatable operations based on established standards.

In a bolt factory, for instance, experienced engineers and designers initially define models, production standards, and the necessary tooling. After this setup, the actual production is largely automated and can be overseen by technicians, who monitor machines performing repetitive tasks like cutting, threading, and shaping. This division of labor allows the design to remain consistent while maximizing output—a scalable approach that mirrors the potential of standardization in software architecture.

In Software Architecture, we have similar possibilities: defining standards, exploring new technologies, and addressing complex areas that might be difficult for less experienced software engineers. These efforts might include determining an organization’s domains, deciding what should be built internally versus what can be acquired externally, or setting up the initial Fitness Functions that are critical for long-term software resilience.

Once these tasks are completed, we enter what we might call the Solution Design phase. This phase, among other activities, involves following the company’s architectural guidelines, meeting business requirements from product teams, adhering to technologies laid out in internal tech radars, setting additional Fitness Functions, and ensuring the software meets security, scalability, and other requirements.

Although each organization may adapt these responsibilities differently, decentralizing work through this approach empowers teams while maintaining quality. This division of labor includes final approval steps for the solution’s architecture, validated by architects.

Conclusion

If scaling and limited human resources are among the biggest challenges companies face today, decentralized work models that uphold quality standards are essential. These models provide reach and speed, fostering a more efficient software engineering approach. In 1930, the phrase “Work smarter, not harder” was coined, and I believe that efficiency demands wise scaling decisions within organizations.