Minimum Viable Architecture
Minimum Viable 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.
Join the DZone community and get the full member experience.
Join For FreeMany 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 its product will succeed before pitching its 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 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.
Published at DZone with permission of Ekaterina Novoseltseva. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments