Software Architecture

How to Pick the Right Software Architecture From the Start

Designing future-proof software architectures using non-functional requirements analysis and product quality attributes

Andrei Gridnev
The Startup
Published in
9 min readAug 15, 2020

--

Photo by Annie Spratt on Unsplash

When building a new software product, it is crucial to pick the optimal architecture as early as possible. The right architecture supports the engineering team in building the product. Poor architecture choices hinder development and may lead to expensive rework in the future.

In this article I’d like to share an approach to designing a future-proof software architecture that has helped me to come up with simpler designs, ship new functionality faster, and avoid big architecture changes as the products evolved.

What I particularly like about that approach is that it scales up and down depending on the project size (product, service, or just a large feature), and that it can be as rigorous or as informal as appropriate for the engineering culture in an organisation.

Let’s briefly look at two ways how an engineering team may come up with a software architecture for their product: ad hoc vs planned and then talk about the approach itself and look at an example how it can be used.

--

--

Andrei Gridnev
The Startup

Software engineer, manager since 2002. Engineering management, leadership, software architecture, high-performing teams, professional growth.