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.
A Minimum Viable Product Needs a Minimum Viable Architecture
In a recent InfoQ article, Pierre Pureur and Kurt Bittner argued that "A Minimum Viable Product Needs a Minimum Viable Architecture". The concept of a Minimum Viable Product (MVP) can help teams focus on delivering what they think is most valuable to customers early so that they can quickly and inexpensively gauge the size of the market for their product before investing significant time and resources.
Creating a Minimum Viable Architecture (MVA) as part of an MVP helps teams to evaluate the technical viability and to provide a stable foundation for the product that can be adapted as the product evolves.
Rules of Thumb and Traps When Approaching Tech Stack Decisions
In a recent InfoQ article, Stefan Miteski, product owner at Daimler, presented a series of recommendations for making technology stack decisions.
Every company has several budgets: capital, knowledge, and risk. Each has different amounts of them and can use its specific mix to its advantage. Miteski argued that delaying tech decisions to the “last responsible moment” increases team velocity in the long run. He continued by recommending that teams should create a tech stack direction but balance it with the team’s autonomy to make decisions outside the directive.
The Tao of Node: An Attempt to Formalize JS Development Patterns
Node's permissiveness to reuse libraries, logic, and types across front-end and back-end applications gave rise to the "full-stack developer" archetype: an engineer skillful enough to work on any part of the application as they are needed. Its focus on freedom and flexibility, not imposing strict coding standards or application structures, brought it to the point that each node application seems to follow a different approach.
The LinkedIn Way of Building API Versions
LinkedIn recently revealed how they built a new versioned API framework for LinkedIn Marketing APIs that allows external partners to migrate to newer versions of APIs at their own pace.
With the new framework, each API product exposes its versioned models and APIs through a mid-tier that serves APIs for external partners. The mid-tier APIs and models are exposed to the external world with specific versions. This allows their consumers to migrate to the new versions at their pace.
With the move into the “Zettabyte era,” individual data-intensive companies are generating information at the rate of petabytes per day and storing exabytes in total. That’s why so many are looking at database-as-a-service (DBaaS) options. This paper outlines 7 key considerations that help teams realize the many benefits a DBaaS has to offer — without falling into some of the common traps.
Learn more about this topic in the eBook "7 Essentials When Selecting a NoSQL Database-as-a-Service", sponsored by ScyllaDB.
Why You Should Care about Software Architecture
Many software developers are distrustful of architecture practices. They associate these practices with rigid and overbearing processes and with significant upfront planning and design. As a result, they believe that if they follow those practices, it may take them a long time to finally deliver something that may not even be what the customer wanted.
They would rather focus on understanding what the customer requires and deliver it using agile processes consisting of small and quick iterations.
By following these processes, some of them believe the architecture will “emerge” without requiring a conscious planning or architectural focus. Because of these beliefs, they may not think that software architecture is important and may not even care about it.
The emergent architecture approach often delivers a product that initially provides the functionality required by the customer, which is a good start.
But, without explicit concerns for the sustainability of that product, it has the potential of decay that renders the product unsupportable well before its desired retirement.
By focusing on key quality attributes such as performance, scalability, security, and resilience, an intentional approach to software architecture can help to extend the life of the product, making it sustainable over a longer period.
In the two-decade-old conflict between "big upfront designs" and agile practices, software developers have struggled to find a meaningful compromise between these two approaches and have leaned away from conscious architecture-focused activities in favor of architectural designs emerging from self-organizing teams. As a result, they often believe that software architecture is not that important.
Greater awareness of the implicit decisions they are making, and forcing these decisions to be made explicitly, can help development teams make better, more informed decisions using the empirical data they gain from their Sprints/iterations. Modern architecture practices such as Continuous Architecture and Evolutionary Architecture provide tools for making architectural decisions more explicit, enabling developers to deliver more sustainable software products.
For more information, please see Continuous Architecture in Practice by Murat Erder, Pierre Pureur, and Eoin Woods and Continuous Architecture: Sustainable Architecture in an Agile and Cloud-Centric World by Murat Erder and Pierre Pureur.
This content is an excerpt from a recent InfoQ article written by by Pierre Pureur and Kurt Bittner, "Why You Should Care about Software Architecture", part of the Continuous Architecture Series.
Missed a newsletter? You can find all of the previous issues on InfoQ.
Application modernization is a top priority for so many companies. And yet 79% of application modernization projects fail. Why? To find out, we partnered with Wakefield Research to survey 250 technology professionals—leaders, architects, and developers at a director level or above—who have the responsibility of maintaining at least one monolithic app in a company of at least 5,000 employees. This research explores what architects want executives to know about application modernization projects, where the two groups are aligned, and where they see things differently.
Learn more about this topic in the report "Why App Modernization Projects Fail", sponsored by vFunction
QCon: For practitioners, by practitioners
October 24-28 - QCon San Francisco
Connect with your team, learn from peers, and inspire what’s next for your projects. Save your spot with group discounts.
November 29 - December 9 - QCon Plus online
Make the right decisions by uncovering how senior software developers at early adopter companies are adopting emerging trends. Save your spot with early bird tickets.
InfoQ Technology Adoption Survey 2022
We have a small favour to ask. The InfoQ team would like to better understand which technologies and software products are currently on your radar. Your responses will help us create more topically relevant and useful content for the InfoQ community. Complete the survey for a chance to win 1 of 5 complimentary all-access tickets to QCon Plus (Nov 29 - Dec 9) worth $599. Take the 3 minute survey.
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.
Forwarded email? Subscribe and get your own copy.