Many software architects try to design the entire product upfront and have persistent issues of over-architecture. They try to think about what might be needed in one year and in most cases it ends up in the bin because their work was based on assumptions and not actual requirements.
What is Minimum Viable Architecture?
Minimum Viable Architecture or “Just enough architecture” is the architecture that’s good enough for the product to be released and needs to be continually improved during the lifetime of the product.
Minimum Viable Architecture (MVA) effectively brings a software product to market faster with a better return on investment. Instead of a big expenditure to cover the creation of your architecture, you pay and build in small increments. As with an MVP, an early release means you get more feedback to shape your product from the off. You also get an early start building a customer base — meaning you get your footing sooner in a market where the winner often takes all. The MVA methodology can be immensely beneficial to a business that is heavily reliant on investor buy-in as it allows the company to ascertain whether or not their product will succeed before pitching their idea to the investors. When pitching their idea, they will also present a solid business case demonstrating the market validity of the product.
Keeping the architecture flexible is essential, and leveraging “Delay design decisions until they are absolutely necessary” is an effective way to accomplish this objective.
When you adopt an MVA approach, you’re prioritizing agility. Your architecture is more fluid — it’s going to grow and evolve alongside your software products.
The main Minimum Viable Architecture principles
- Build for the most likely scenario
- Keep the design flexible enough to tackle edge-case scenarios as they arise
- The product is built in small increments over a certain length of time
- This type of architecture is grounded in concrete and factual requirements instead of assumptions
The very first step to successfully implementing Minimum Viable Architecture is to identify the goals of the business. Also, it is highly important to identify the target users for the end product. Then, map the complete journey of the customer, such as what problems they are looking to solve.
It is crucial to make a distinction between the must-have features and the good-to-have features. Features that directly address the most pressing pain points of the customers should be the topmost priority. Defining the target objectives for strategies and also the metrics for the measurement of success can be of great help at this stage. We highly recommend you to read the “Software Architecture Metrics” book that covers different case scenarios and proposes key metrics and KPIs to take into account.
MVPs are not limited to start-ups, since every application has an initial release that can be thought of as an MVP. MVPs are a useful component of product development strategies.
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.
Using the Minimum Viable Architecture model can ultimately result in a highly polished end product as it relies on testing assumptions with small experiments and guiding development using the findings of said experiments. Providing a flexible framework that can help achieve target business objectives, MVA responds to evolving customer requirements and technologies and can go a long way in promoting agility.
We will talk about Minimum Viable Architecture at Global Software Architecture Summit, don’t miss it!
And if you need help with your software architecture project, let us know, we might help! We are experts in software architecture!